summaryrefslogtreecommitdiff
path: root/shell/ash_test
diff options
context:
space:
mode:
authorDenis Vlasenko2008-02-15 15:02:15 +0000
committerDenis Vlasenko2008-02-15 15:02:15 +0000
commit0e6f661e23d358cca104c24f8438d0ec64df32f1 (patch)
treec591108ea6f9617192c4a082e603561af14aadd9 /shell/ash_test
parent977bc6a1374ed468ec96e2202757be0c8b3592ed (diff)
downloadbusybox-0e6f661e23d358cca104c24f8438d0ec64df32f1.zip
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.right6
-rwxr-xr-xshell/ash_test/ash-vars/var1.tests14
-rw-r--r--shell/ash_test/ash-vars/var2.right1
-rwxr-xr-xshell/ash_test/ash-vars/var2.tests1
-rwxr-xr-xshell/ash_test/run-all2
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 0000000..2a01291
--- /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 0000000..802e489
--- /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 0000000..8fed138
--- /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 0000000..07feaeb
--- /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 416900a..e023338 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