| 
									
										
										
										
											2016-03-31 10:37:50 -04:00
										 |  |  | USING: accessors combinators continuations grouping io.backend | 
					
						
							| 
									
										
										
										
											2016-04-04 15:55:02 -04:00
										 |  |  | io.encodings.utf8 io.files kernel math namespaces parser | 
					
						
							|  |  |  | sequences tools.test ;
 | 
					
						
							| 
									
										
										
										
											2009-08-13 20:21:44 -04:00
										 |  |  | IN: compiler.tests.stack-trace | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : symbolic-stack-trace ( -- newseq )
 | 
					
						
							| 
									
										
										
										
											2008-09-02 02:53:01 -04:00
										 |  |  |     error-continuation get call>> callstack>array
 | 
					
						
							| 
									
										
										
										
											2010-02-01 02:08:24 -05:00
										 |  |  |     3 group flip first ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-08 16:32:55 -04:00
										 |  |  | : foo ( -- * ) 3 throw 7 ;
 | 
					
						
							|  |  |  | : bar ( -- * ) foo 4 ;
 | 
					
						
							|  |  |  | : baz ( -- * ) bar 5 ;
 | 
					
						
							| 
									
										
										
										
											2008-02-06 14:47:19 -05:00
										 |  |  | [ baz ] [ 3 = ] must-fail-with | 
					
						
							| 
									
										
										
										
											2016-10-11 03:32:55 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     { foo bar baz } | 
					
						
							|  |  |  | } [ | 
					
						
							|  |  |  |     2 5 symbolic-stack-trace subseq
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-08 16:32:55 -04:00
										 |  |  | : bleh ( seq -- seq' ) [ 3 + ] map [ 0 > ] filter ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-28 16:02:00 -04:00
										 |  |  | : stack-trace-any? ( word -- ? ) symbolic-stack-trace member-eq? ;
 | 
					
						
							| 
									
										
										
										
											2007-09-28 00:26:58 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | [ t ] [ | 
					
						
							| 
									
										
										
										
											2009-01-29 23:19:07 -05:00
										 |  |  |     [ { 1 "hi" } bleh ] ignore-errors \ + stack-trace-any? | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							| 
									
										
										
										
											2009-08-18 04:49:05 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 21:13:42 -04:00
										 |  |  | [ t f ] [ | 
					
						
							| 
									
										
										
										
											2008-02-06 14:47:19 -05:00
										 |  |  |     [ { "hi" } bleh ] ignore-errors
 | 
					
						
							| 
									
										
										
										
											2009-01-29 23:19:07 -05:00
										 |  |  |     \ + stack-trace-any? | 
					
						
							|  |  |  |     \ > stack-trace-any? | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							| 
									
										
										
										
											2015-01-15 00:07:40 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ! #1265: Checks that the quotation index never is f (it's -1 instead). | 
					
						
							|  |  |  | { f } [ | 
					
						
							|  |  |  |     [ normalize-path ] ignore-errors error-continuation get
 | 
					
						
							|  |  |  |     call>> callstack>array [ f = ] any?
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-17 16:57:56 -05:00
										 |  |  | ! #1265: Used to crash factor if compiled in debug mode. | 
					
						
							|  |  |  | [ | 
					
						
							| 
									
										
										
										
											2016-03-31 10:37:50 -04:00
										 |  |  |     [ | 
					
						
							| 
									
										
										
										
											2016-04-04 15:55:02 -04:00
										 |  |  |         "USING: continuations io.backend ; [ normalize-path ] ignore-errors f" | 
					
						
							|  |  |  |         swap [ utf8 set-file-contents ] keep run-file | 
					
						
							|  |  |  |     ] with-test-file | 
					
						
							| 
									
										
										
										
											2015-01-17 16:57:56 -05:00
										 |  |  | ] [ wrong-values? ] must-fail-with |