summaryrefslogtreecommitdiff
path: root/shell/ash_test/ash-vars
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/ash-vars
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/ash-vars')
-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
4 files changed, 22 insertions, 0 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