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-w32-0e6f661e23d358cca104c24f8438d0ec64df32f1.tar.gz busybox-w32-0e6f661e23d358cca104c24f8438d0ec64df32f1.tar.bz2 busybox-w32-0e6f661e23d358cca104c24f8438d0ec64df32f1.zip |
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 @@ | |||
1 | a=a A=a | ||
2 | a=a A=a | ||
3 | a= A= | ||
4 | a= A= | ||
5 | a=a A=a | ||
6 | 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 @@ | |||
1 | # check that first assignment has proper effect on second one | ||
2 | |||
3 | ( | ||
4 | a=a A=$a | ||
5 | echo a=$a A=$A | ||
6 | ) | ||
7 | (a=a A=$a; echo a=$a A=$A) | ||
8 | (a=a A=$a echo a=$a A=$A) | ||
9 | (a=a A=$a /bin/echo a=$a A=$A) | ||
10 | |||
11 | f() { echo a=$a A=$A; } | ||
12 | |||
13 | (a=a A=$a f) | ||
14 | (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 | |||
17 | do_test() | 17 | do_test() |
18 | { | 18 | { |
19 | test -d "$1" || return 0 | 19 | test -d "$1" || return 0 |
20 | echo do_test "$1" | ||
20 | ( | 21 | ( |
21 | cd "$1" || { echo "cannot cd $1!"; exit 1; } | 22 | cd "$1" || { echo "cannot cd $1!"; exit 1; } |
22 | for x in run-*; do | 23 | for x in run-*; do |
@@ -53,7 +54,6 @@ if [ $# -lt 1 ]; then | |||
53 | modules=`ls -d ash-*` | 54 | modules=`ls -d ash-*` |
54 | 55 | ||
55 | for module in $modules; do | 56 | for module in $modules; do |
56 | echo do_test $module | ||
57 | do_test $module | 57 | do_test $module |
58 | done | 58 | done |
59 | else | 59 | else |