diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-15 15:02:15 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-15 15:02:15 +0000 |
commit | 0e6f661e23d358cca104c24f8438d0ec64df32f1 (patch) | |
tree | c591108ea6f9617192c4a082e603561af14aadd9 /shell/ash_test | |
parent | 977bc6a1374ed468ec96e2202757be0c8b3592ed (diff) | |
download | busybox-0e6f661e23d358cca104c24f8438d0ec64df32f1.tar.gz |
ash: handle "A=1 A=2 B=$A; echo $B". closes bug 947.
Diffstat (limited to 'shell/ash_test')
-rw-r--r-- | shell/ash_test/ash-vars/var1.right | 6 | ||||
-rwxr-xr-x | shell/ash_test/ash-vars/var1.tests | 14 | ||||
-rw-r--r-- | shell/ash_test/ash-vars/var2.right | 1 | ||||
-rwxr-xr-x | shell/ash_test/ash-vars/var2.tests | 1 | ||||
-rwxr-xr-x | shell/ash_test/run-all | 2 |
5 files changed, 23 insertions, 1 deletions
diff --git a/shell/ash_test/ash-vars/var1.right b/shell/ash_test/ash-vars/var1.right new file mode 100644 index 000000000..2a01291bb --- /dev/null +++ b/shell/ash_test/ash-vars/var1.right @@ -0,0 +1,6 @@ +a=a A=a +a=a A=a +a= A= +a= A= +a=a A=a +a=a A=a diff --git a/shell/ash_test/ash-vars/var1.tests b/shell/ash_test/ash-vars/var1.tests new file mode 100755 index 000000000..802e489bd --- /dev/null +++ b/shell/ash_test/ash-vars/var1.tests @@ -0,0 +1,14 @@ +# check that first assignment has proper effect on second one + +( +a=a A=$a +echo a=$a A=$A +) +(a=a A=$a; echo a=$a A=$A) +(a=a A=$a echo a=$a A=$A) +(a=a A=$a /bin/echo a=$a A=$A) + +f() { echo a=$a A=$A; } + +(a=a A=$a f) +(a=a A=$a; f) diff --git a/shell/ash_test/ash-vars/var2.right b/shell/ash_test/ash-vars/var2.right new file mode 100644 index 000000000..8fed138eb --- /dev/null +++ b/shell/ash_test/ash-vars/var2.right @@ -0,0 +1 @@ +bus/usb/1/2 diff --git a/shell/ash_test/ash-vars/var2.tests b/shell/ash_test/ash-vars/var2.tests new file mode 100755 index 000000000..07feaeb8b --- /dev/null +++ b/shell/ash_test/ash-vars/var2.tests @@ -0,0 +1 @@ +X=usbdev1.2 X=${X#usbdev} B=${X%%.*} D=${X#*.}; echo bus/usb/$B/$D diff --git a/shell/ash_test/run-all b/shell/ash_test/run-all index 416900aa2..e02333888 100755 --- a/shell/ash_test/run-all +++ b/shell/ash_test/run-all @@ -17,6 +17,7 @@ export THIS_SH do_test() { test -d "$1" || return 0 + echo do_test "$1" ( cd "$1" || { echo "cannot cd $1!"; exit 1; } for x in run-*; do @@ -53,7 +54,6 @@ if [ $# -lt 1 ]; then modules=`ls -d ash-*` for module in $modules; do - echo do_test $module do_test $module done else |