diff options
author | Denys Vlasenko | 2010-11-22 17:58:14 +0100 |
---|---|---|
committer | Denys Vlasenko | 2010-11-22 17:58:14 +0100 |
commit | 7b4c0fd5f4df4541a1659de04823326cd22c254e (patch) | |
tree | b0e14ceeb84af1155ba5dd25016569b20ff1e700 /shell/hush_test | |
parent | 1e23f32453d8aa84c66c8f0bb9f753d68614d05a (diff) | |
download | busybox-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')
-rw-r--r-- | shell/hush_test/hush-misc/assignment3.right | 2 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/assignment3.tests | 5 | ||||
-rw-r--r-- | shell/hush_test/hush-parsing/comment1.right | 2 | ||||
-rwxr-xr-x | shell/hush_test/hush-parsing/comment1.tests | 2 | ||||
-rw-r--r-- | shell/hush_test/hush-parsing/eol1.right | 1 | ||||
-rwxr-xr-x | shell/hush_test/hush-parsing/eol1.tests | 18 |
6 files changed, 30 insertions, 0 deletions
diff --git a/shell/hush_test/hush-misc/assignment3.right b/shell/hush_test/hush-misc/assignment3.right new file mode 100644 index 0000000..0f02d7c --- /dev/null +++ b/shell/hush_test/hush-misc/assignment3.right @@ -0,0 +1,2 @@ +Done:0 +abc=123 diff --git a/shell/hush_test/hush-misc/assignment3.tests b/shell/hush_test/hush-misc/assignment3.tests new file mode 100755 index 0000000..790129b --- /dev/null +++ b/shell/hush_test/hush-misc/assignment3.tests @@ -0,0 +1,5 @@ +# This must be interpreted as assignments +a=1 b\ +=2 c=3 +echo Done:$? +echo abc=$a$b$c 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:$? |