From e9bda90e549d1470c7630e1f015b7c1e1560b56b Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sat, 23 May 2009 16:50:07 +0200 Subject: hush: fix problems with case in subshells and with "case esac" Signed-off-by: Denys Vlasenko --- shell/hush_test/hush-misc/case1.right | 8 ++++++++ shell/hush_test/hush-misc/case1.tests | 15 +++++++++------ shell/hush_test/hush-vars/unset.right | 2 +- 3 files changed, 18 insertions(+), 7 deletions(-) (limited to 'shell/hush_test') 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 OK_51 OK_52 OK_53 +OK_sub1 +OK_sub2 +OK_sub3 +OK_sub4 +OK_sub5 +OK_sub6 +OK_esac1 +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; case w in `echo OK_52 >&2`) echo SKIP;; `echo`w) echo OK_53;; esac; # parsing cases in subshells can easily get messy - case m in m) echo ok-sub1;; esac - case m in (m) echo ok-sub2;; esac -(case m in m) echo ok-sub3;; esac) -(case m in (m) echo ok-sub4;; esac) + case m in m) echo OK_sub1;; esac + case m in (m) echo OK_sub2;; esac +(case m in m) echo OK_sub3;; esac) +(case m in (m) echo OK_sub4;; esac) ( - case m in m) echo ok-sub5;; esac + case m in m) echo OK_sub5;; esac ) ( - case m in (m) echo ok-sub6;; esac + case m in (m) echo OK_sub6;; esac ) +(case esac in "esac") echo OK_esac1;; esac) + +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 @@ 0 -unset: invalid option -- 'm' +unset: invalid option -- m 1 0 ___ -- cgit v1.2.3