summaryrefslogtreecommitdiff
path: root/apps/examples/bas/tests/test12.bas
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-11-07 14:02:53 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-11-07 14:02:53 -0600
commit20c645e1cdf2456d09e3c85d2b21e4c32b88b83e (patch)
treec6832ac6658ee21dfd732cada7a06196f13fcd0f /apps/examples/bas/tests/test12.bas
parent7711da2981698ff86c0b7a4b49bbc44f0f26a834 (diff)
downloadnuttx-20c645e1cdf2456d09e3c85d2b21e4c32b88b83e.tar.gz
nuttx-20c645e1cdf2456d09e3c85d2b21e4c32b88b83e.tar.bz2
nuttx-20c645e1cdf2456d09e3c85d2b21e4c32b88b83e.zip
BAS: Move test files from apps/interpreter/bas to apps/examples/bas
Diffstat (limited to 'apps/examples/bas/tests/test12.bas')
-rw-r--r--apps/examples/bas/tests/test12.bas32
1 files changed, 32 insertions, 0 deletions
diff --git a/apps/examples/bas/tests/test12.bas b/apps/examples/bas/tests/test12.bas
new file mode 100644
index 000000000..b78f53747
--- /dev/null
+++ b/apps/examples/bas/tests/test12.bas
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+echo -n $0: 'Exception handling... '
+
+cat >test.bas <<'eof'
+10 on error print "global handler 1 caught error in line ";erl : resume 30
+20 print mid$("",-1)
+30 on error print "global handler 2 caught error in line ";erl : end
+40 def procx
+50 on error print "local handler caught error in line";erl : goto 70
+60 print 1/0
+70 end proc
+80 procx
+90 print 1 mod 0
+eof
+
+cat >test.ref <<eof
+global handler 1 caught error in line 20
+local handler caught error in line 60
+global handler 2 caught error in line 90
+eof
+
+sh ./test/runbas test.bas >test.data
+
+if cmp test.ref test.data
+then
+ rm -f test.*
+ echo passed
+else
+ echo failed
+ exit 1
+fi