diff options
Diffstat (limited to 'subx')
-rwxr-xr-x | subx/test_apps | 78 |
1 files changed, 40 insertions, 38 deletions
diff --git a/subx/test_apps b/subx/test_apps index acdd23ed..944d5d8c 100755 --- a/subx/test_apps +++ b/subx/test_apps @@ -8,10 +8,12 @@ cd `dirname $0` test `uname` = 'Linux' && echo 'testing native runs as well' +CFLAGS=$CFLAGS ./build + echo ex1 -CFLAGS=-g ./subx translate examples/ex1.subx -o examples/ex1 +./subx translate examples/ex1.subx -o examples/ex1 git diff --quiet examples/ex1 -CFLAGS=-g ./subx run examples/ex1 || ret=$? +./subx run examples/ex1 || ret=$? test $ret -eq 42 # life, the universe and everything test `uname` = 'Linux' && { examples/ex1 || ret=$? @@ -19,9 +21,9 @@ test `uname` = 'Linux' && { } echo ex2 -CFLAGS=-g ./subx translate examples/ex2.subx -o examples/ex2 +./subx translate examples/ex2.subx -o examples/ex2 git diff --quiet examples/ex2 -CFLAGS=-g ./subx run examples/ex2 || ret=$? +./subx run examples/ex2 || ret=$? test $ret -eq 2 # 1 + 1 test `uname` = 'Linux' && { examples/ex2 || ret=$? @@ -29,9 +31,9 @@ test `uname` = 'Linux' && { } echo ex3 -CFLAGS=-g ./subx translate examples/ex3.subx -o examples/ex3 +./subx translate examples/ex3.subx -o examples/ex3 git diff --quiet examples/ex3 -CFLAGS=-g ./subx run examples/ex3 || ret=$? +./subx run examples/ex3 || ret=$? test $ret -eq 55 # 1 + 2 + ... + 10 test `uname` = 'Linux' && { examples/ex3 || ret=$? @@ -39,9 +41,9 @@ test `uname` = 'Linux' && { } echo ex4 -CFLAGS=-g ./subx translate examples/ex4.subx -o examples/ex4 +./subx translate examples/ex4.subx -o examples/ex4 git diff --quiet examples/ex4 -echo a | CFLAGS=-g ./subx run examples/ex4 >ex4.out || true +echo a | ./subx run examples/ex4 >ex4.out || true test `cat ex4.out` = 'a' test `uname` = 'Linux' && { echo a | examples/ex4 >ex4.out || true @@ -49,9 +51,9 @@ test `uname` = 'Linux' && { } echo ex5 -CFLAGS=-g ./subx translate examples/ex5.subx -o examples/ex5 +./subx translate examples/ex5.subx -o examples/ex5 git diff --quiet examples/ex5 -echo a | CFLAGS=-g ./subx run examples/ex5 >ex5.out || true +echo a | ./subx run examples/ex5 >ex5.out || true test `cat ex5.out` = 'a' test `uname` = 'Linux' && { echo a | examples/ex5 >ex5.out || true @@ -59,9 +61,9 @@ test `uname` = 'Linux' && { } echo ex6 -CFLAGS=-g ./subx translate examples/ex6.subx -o examples/ex6 +./subx translate examples/ex6.subx -o examples/ex6 git diff --quiet examples/ex6 -CFLAGS=-g ./subx run examples/ex6 >ex6.out || true +./subx run examples/ex6 >ex6.out || true test "`cat ex6.out`" = 'Hello, world!' test `uname` = 'Linux' && { examples/ex6 >ex6.out || true @@ -69,9 +71,9 @@ test `uname` = 'Linux' && { } echo ex7 -CFLAGS=-g ./subx translate examples/ex7.subx -o examples/ex7 +./subx translate examples/ex7.subx -o examples/ex7 git diff --quiet examples/ex7 -CFLAGS=-g ./subx run examples/ex7 || ret=$? +./subx run examples/ex7 || ret=$? test $ret -eq 97 # 'a' test `uname` = 'Linux' && { examples/ex7 || ret=$? @@ -79,9 +81,9 @@ test `uname` = 'Linux' && { } echo ex8 -CFLAGS=-g ./subx translate examples/ex8.subx -o examples/ex8 +./subx translate examples/ex8.subx -o examples/ex8 [ "$1" != record ] && git diff --quiet examples/ex8 -CFLAGS=-g ./subx run examples/ex8 abcd || ret=$? +./subx run examples/ex8 abcd || ret=$? test $ret -eq 4 # length('abcd') test `uname` = 'Linux' && { examples/ex8 abcd || ret=$? @@ -89,9 +91,9 @@ test `uname` = 'Linux' && { } echo ex9 -CFLAGS=-g ./subx translate examples/ex9.subx -o examples/ex9 +./subx translate examples/ex9.subx -o examples/ex9 [ "$1" != record ] && git diff --quiet examples/ex9 -CFLAGS=-g ./subx run examples/ex9 z x || ret=$? +./subx run examples/ex9 z x || ret=$? test $ret -eq 2 # 'z' - 'x' test `uname` = 'Linux' && { examples/ex9 z x || ret=$? @@ -99,11 +101,11 @@ test `uname` = 'Linux' && { } echo ex10 -CFLAGS=-g ./subx translate examples/ex10.subx -o examples/ex10 +./subx translate examples/ex10.subx -o examples/ex10 [ "$1" != record ] && git diff --quiet examples/ex10 -CFLAGS=-g ./subx run examples/ex10 abc abc || ret=$? +./subx run examples/ex10 abc abc || ret=$? test $ret -eq 1 # equal -CFLAGS=-g ./subx run examples/ex10 abc abcd # 0; not equal +./subx run examples/ex10 abc abcd # 0; not equal test `uname` = 'Linux' && { examples/ex10 abc abc || ret=$? test $ret -eq 1 # equal @@ -111,9 +113,9 @@ test `uname` = 'Linux' && { } echo ex11 -CFLAGS=-g ./subx translate examples/ex11.subx -o examples/ex11 +./subx translate examples/ex11.subx -o examples/ex11 [ "$1" != record ] && git diff --quiet examples/ex11 -CFLAGS=-g ./subx run examples/ex11 +./subx run examples/ex11 echo test `uname` = 'Linux' && { examples/ex11 @@ -121,25 +123,25 @@ test `uname` = 'Linux' && { } echo ex12 -CFLAGS=-g ./subx translate examples/ex12.subx -o examples/ex12 +./subx translate examples/ex12.subx -o examples/ex12 [ "$1" != record ] && git diff --quiet examples/ex12 -CFLAGS=-g ./subx run examples/ex12 # final byte of mmap'd address is well-nigh guaranteed to be 0 +./subx run examples/ex12 # final byte of mmap'd address is well-nigh guaranteed to be 0 test `uname` = 'Linux' && examples/ex12 echo handle -CFLAGS=-g ./subx translate *.subx apps/handle.subx -o apps/handle +./subx translate *.subx apps/handle.subx -o apps/handle [ "$1" != record ] && git diff --quiet apps/handle -CFLAGS=-g ./subx run apps/handle 2>&1 |grep -q 'lookup failed' +./subx run apps/handle 2>&1 |grep -q 'lookup failed' test `uname` = 'Linux' && { apps/handle test 2>&1 |grep -q 'lookup failed' } echo factorial -CFLAGS=-g ./subx translate *.subx apps/factorial.subx -o apps/factorial +./subx translate *.subx apps/factorial.subx -o apps/factorial [ "$1" != record ] && git diff --quiet apps/factorial -CFLAGS=-g ./subx run apps/factorial || ret=$? +./subx run apps/factorial || ret=$? test $ret -eq 120 # factorial(5) -CFLAGS=-g ./subx run apps/factorial test +./subx run apps/factorial test echo test `uname` = 'Linux' && { apps/factorial || ret=$? @@ -149,9 +151,9 @@ test `uname` = 'Linux' && { } echo crenshaw2-1 -CFLAGS=-g ./subx translate *.subx apps/crenshaw2-1.subx -o apps/crenshaw2-1 +./subx translate *.subx apps/crenshaw2-1.subx -o apps/crenshaw2-1 [ "$1" != record ] && git diff --quiet apps/crenshaw2-1 -CFLAGS=-g ./subx run apps/crenshaw2-1 test +./subx run apps/crenshaw2-1 test echo test `uname` = 'Linux' && { apps/crenshaw2-1 test @@ -159,9 +161,9 @@ test `uname` = 'Linux' && { } echo crenshaw2-1b -CFLAGS=-g ./subx translate *.subx apps/crenshaw2-1b.subx -o apps/crenshaw2-1b +./subx translate *.subx apps/crenshaw2-1b.subx -o apps/crenshaw2-1b [ "$1" != record ] && git diff --quiet apps/crenshaw2-1b -CFLAGS=-g ./subx run apps/crenshaw2-1b test +./subx run apps/crenshaw2-1b test echo test `uname` = 'Linux' && { apps/crenshaw2-1b test @@ -169,9 +171,9 @@ test `uname` = 'Linux' && { } echo hex -CFLAGS=-g ./subx translate *.subx apps/hex.subx -o apps/hex +./subx translate *.subx apps/hex.subx -o apps/hex [ "$1" != record ] && git diff --quiet apps/hex -CFLAGS=-g ./subx run apps/hex test +./subx run apps/hex test echo test `uname` = 'Linux' && { apps/hex test @@ -179,9 +181,9 @@ test `uname` = 'Linux' && { } echo pack -CFLAGS=-g ./subx translate *.subx apps/pack.subx -o apps/pack +./subx translate *.subx apps/pack.subx -o apps/pack [ "$1" != record ] && git diff --quiet apps/pack -CFLAGS=-g ./subx run apps/pack test +./subx run apps/pack test echo test `uname` = 'Linux' && { apps/pack test |