summaryrefslogtreecommitdiff
path: root/shell/hush_test/hush-parsing
diff options
context:
space:
mode:
authorDenys Vlasenko2010-11-22 17:58:14 +0100
committerDenys Vlasenko2010-11-22 17:58:14 +0100
commit7b4c0fd5f4df4541a1659de04823326cd22c254e (patch)
treeb0e14ceeb84af1155ba5dd25016569b20ff1e700 /shell/hush_test/hush-parsing
parent1e23f32453d8aa84c66c8f0bb9f753d68614d05a (diff)
downloadbusybox-7b4c0fd5f4df4541a1659de04823326cd22c254e.zip
busybox-7b4c0fd5f4df4541a1659de04823326cd22c254e.tar.gz
hush: fix improper handling of newline and hash chars in few corner cases
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'shell/hush_test/hush-parsing')
-rw-r--r--shell/hush_test/hush-parsing/comment1.right2
-rwxr-xr-xshell/hush_test/hush-parsing/comment1.tests2
-rw-r--r--shell/hush_test/hush-parsing/eol1.right1
-rwxr-xr-xshell/hush_test/hush-parsing/eol1.tests18
4 files changed, 23 insertions, 0 deletions
diff --git a/shell/hush_test/hush-parsing/comment1.right b/shell/hush_test/hush-parsing/comment1.right
new file mode 100644
index 0000000..a102b1d
--- /dev/null
+++ b/shell/hush_test/hush-parsing/comment1.right
@@ -0,0 +1,2 @@
+Nothing:
+String: #should-be-echoed
diff --git a/shell/hush_test/hush-parsing/comment1.tests b/shell/hush_test/hush-parsing/comment1.tests
new file mode 100755
index 0000000..d268860
--- /dev/null
+++ b/shell/hush_test/hush-parsing/comment1.tests
@@ -0,0 +1,2 @@
+echo Nothing: #should-not-be-echoed
+echo String: ""#should-be-echoed
diff --git a/shell/hush_test/hush-parsing/eol1.right b/shell/hush_test/hush-parsing/eol1.right
new file mode 100644
index 0000000..31c896f
--- /dev/null
+++ b/shell/hush_test/hush-parsing/eol1.right
@@ -0,0 +1 @@
+Done:0
diff --git a/shell/hush_test/hush-parsing/eol1.tests b/shell/hush_test/hush-parsing/eol1.tests
new file mode 100755
index 0000000..f1b55e8
--- /dev/null
+++ b/shell/hush_test/hush-parsing/eol1.tests
@@ -0,0 +1,18 @@
+# bug was that we treated <newline> as ';' in this line:
+true || echo foo |
+echo BAD1 | cat
+
+# variation on the same theme
+true || echo foo |
+# comment
+echo BAD2 | cat
+
+# variation on the same theme
+true || echo foo |
+
+echo BAD3 | cat
+
+# this should error out, but currently works in hush:
+#true || echo foo |;
+
+echo Done:$?