]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/tests/stack-trace.factor
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places...
[factor.git] / basis / compiler / tests / stack-trace.factor
1 USING: compiler tools.test namespaces sequences
2 kernel.private kernel math continuations continuations.private
3 words splitting grouping sorting accessors ;
4 IN: compiler.tests.stack-trace
5
6 : symbolic-stack-trace ( -- newseq )
7     error-continuation get call>> callstack>array
8     2 group flip first ;
9
10 : foo ( -- * ) 3 throw 7 ;
11 : bar ( -- * ) foo 4 ;
12 : baz ( -- * ) bar 5 ;
13 [ baz ] [ 3 = ] must-fail-with
14 [ t ] [
15     symbolic-stack-trace
16     [ word? ] filter
17     { baz bar foo } tail?
18 ] unit-test
19
20 : bleh ( seq -- seq' ) [ 3 + ] map [ 0 > ] filter ;
21
22 : stack-trace-any? ( word -- ? ) symbolic-stack-trace memq? ;
23
24 [ t ] [
25     [ { 1 "hi" } bleh ] ignore-errors \ + stack-trace-any?
26 ] unit-test
27     
28 [ t f ] [
29     [ { "hi" } bleh ] ignore-errors
30     \ + stack-trace-any?
31     \ > stack-trace-any?
32 ] unit-test