summaryrefslogtreecommitdiff
path: root/shell/hush_test/hush-parsing
diff options
context:
space:
mode:
authorDenis Vlasenko2009-04-16 10:59:40 +0000
committerDenis Vlasenko2009-04-16 10:59:40 +0000
commitbb929517a86092481ed8547e9f247c1b58bc4745 (patch)
tree61113710afec0eb112df4b6854c5ec6d2f9662a3 /shell/hush_test/hush-parsing
parent74a931ac9ea807d14a44baf3fdb957bc58db14c6 (diff)
downloadbusybox-bb929517a86092481ed8547e9f247c1b58bc4745.zip
busybox-bb929517a86092481ed8547e9f247c1b58bc4745.tar.gz
hush: fix "if { echo foo; } then { echo bar; } fi" parsing
function old new delta done_word 728 793 +65 parse_stream 2084 2098 +14
Diffstat (limited to 'shell/hush_test/hush-parsing')
-rw-r--r--shell/hush_test/hush-parsing/groups_and_keywords1.right11
-rwxr-xr-xshell/hush_test/hush-parsing/groups_and_keywords1.tests10
2 files changed, 21 insertions, 0 deletions
diff --git a/shell/hush_test/hush-parsing/groups_and_keywords1.right b/shell/hush_test/hush-parsing/groups_and_keywords1.right
new file mode 100644
index 0000000..4c46650
--- /dev/null
+++ b/shell/hush_test/hush-parsing/groups_and_keywords1.right
@@ -0,0 +1,11 @@
+Semicolons after } can be omitted 1:
+foo
+bar
+Semicolons after } can be omitted 2:
+foo
+bar
+Semicolons after fi can be omitted:
+foo
+bar
+baz
+Done:0
diff --git a/shell/hush_test/hush-parsing/groups_and_keywords1.tests b/shell/hush_test/hush-parsing/groups_and_keywords1.tests
new file mode 100755
index 0000000..01944d7
--- /dev/null
+++ b/shell/hush_test/hush-parsing/groups_and_keywords1.tests
@@ -0,0 +1,10 @@
+echo "Semicolons after } can be omitted 1:"
+if { echo foo; } then { echo bar; } fi
+
+echo "Semicolons after } can be omitted 2:"
+while { echo foo; } do { echo bar; break; } done
+
+echo "Semicolons after fi can be omitted:"
+while if echo foo; then echo bar; fi do echo baz; break; done
+
+echo Done:$?