diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-05-23 16:50:07 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-05-23 16:50:07 +0200 |
commit | e9bda90e549d1470c7630e1f015b7c1e1560b56b (patch) | |
tree | 171240523541449a1d97562564c2f0037057782d /shell/hush_test | |
parent | 342a63d659ed41b0fe9f412eb75d495e64cc2096 (diff) | |
download | busybox-w32-e9bda90e549d1470c7630e1f015b7c1e1560b56b.tar.gz busybox-w32-e9bda90e549d1470c7630e1f015b7c1e1560b56b.tar.bz2 busybox-w32-e9bda90e549d1470c7630e1f015b7c1e1560b56b.zip |
hush: fix problems with case in subshells and with "case esac"
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test')
-rw-r--r-- | shell/hush_test/hush-misc/case1.right | 8 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/case1.tests | 15 | ||||
-rw-r--r-- | shell/hush_test/hush-vars/unset.right | 2 |
3 files changed, 18 insertions, 7 deletions
diff --git a/shell/hush_test/hush-misc/case1.right b/shell/hush_test/hush-misc/case1.right index e9e371ac0..4afb2f51c 100644 --- a/shell/hush_test/hush-misc/case1.right +++ b/shell/hush_test/hush-misc/case1.right | |||
@@ -12,3 +12,11 @@ OK_44 | |||
12 | OK_51 | 12 | OK_51 |
13 | OK_52 | 13 | OK_52 |
14 | OK_53 | 14 | OK_53 |
15 | OK_sub1 | ||
16 | OK_sub2 | ||
17 | OK_sub3 | ||
18 | OK_sub4 | ||
19 | OK_sub5 | ||
20 | OK_sub6 | ||
21 | OK_esac1 | ||
22 | Done | ||
diff --git a/shell/hush_test/hush-misc/case1.tests b/shell/hush_test/hush-misc/case1.tests index b2c96ccf8..d72b57f53 100755 --- a/shell/hush_test/hush-misc/case1.tests +++ b/shell/hush_test/hush-misc/case1.tests | |||
@@ -25,13 +25,16 @@ case w in `echo w`) echo OK_51;; `echo WRONG >&2`w) echo WRONG;; esac; | |||
25 | case w in `echo OK_52 >&2`) echo SKIP;; `echo`w) echo OK_53;; esac; | 25 | case w in `echo OK_52 >&2`) echo SKIP;; `echo`w) echo OK_53;; esac; |
26 | 26 | ||
27 | # parsing cases in subshells can easily get messy | 27 | # parsing cases in subshells can easily get messy |
28 | case m in m) echo ok-sub1;; esac | 28 | case m in m) echo OK_sub1;; esac |
29 | case m in (m) echo ok-sub2;; esac | 29 | case m in (m) echo OK_sub2;; esac |
30 | (case m in m) echo ok-sub3;; esac) | 30 | (case m in m) echo OK_sub3;; esac) |
31 | (case m in (m) echo ok-sub4;; esac) | 31 | (case m in (m) echo OK_sub4;; esac) |
32 | ( | 32 | ( |
33 | case m in m) echo ok-sub5;; esac | 33 | case m in m) echo OK_sub5;; esac |
34 | ) | 34 | ) |
35 | ( | 35 | ( |
36 | case m in (m) echo ok-sub6;; esac | 36 | case m in (m) echo OK_sub6;; esac |
37 | ) | 37 | ) |
38 | (case esac in "esac") echo OK_esac1;; esac) | ||
39 | |||
40 | echo Done | ||
diff --git a/shell/hush_test/hush-vars/unset.right b/shell/hush_test/hush-vars/unset.right index 0da0e5736..1fbe76a73 100644 --- a/shell/hush_test/hush-vars/unset.right +++ b/shell/hush_test/hush-vars/unset.right | |||
@@ -1,5 +1,5 @@ | |||
1 | 0 | 1 | 0 |
2 | unset: invalid option -- 'm' | 2 | unset: invalid option -- m |
3 | 1 | 3 | 1 |
4 | 0 | 4 | 0 |
5 | ___ | 5 | ___ |