aboutsummaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-06-03 12:47:26 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-06-03 12:47:26 +0200
commit295fef80bcc994bd668f369ad863ad8d12c962b7 (patch)
treeab711839e511e2bfa87263d5f06d90da03789c66 /shell/hush_test
parent98f74034cd23e708686bda38975fa0691e5be971 (diff)
downloadbusybox-295fef80bcc994bd668f369ad863ad8d12c962b7.tar.gz
hush: add support for local builtin
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test')
-rw-r--r--shell/hush_test/hush-misc/func_local1.right3
-rwxr-xr-xshell/hush_test/hush-misc/func_local1.tests5
-rw-r--r--shell/hush_test/hush-misc/func_local2.right14
-rwxr-xr-xshell/hush_test/hush-misc/func_local2.tests7
4 files changed, 29 insertions, 0 deletions
diff --git a/shell/hush_test/hush-misc/func_local1.right b/shell/hush_test/hush-misc/func_local1.right
new file mode 100644
index 000000000..312178366
--- /dev/null
+++ b/shell/hush_test/hush-misc/func_local1.right
@@ -0,0 +1,3 @@
+z=a
+z=z
+Done
diff --git a/shell/hush_test/hush-misc/func_local1.tests b/shell/hush_test/hush-misc/func_local1.tests
new file mode 100755
index 000000000..1d594e20c
--- /dev/null
+++ b/shell/hush_test/hush-misc/func_local1.tests
@@ -0,0 +1,5 @@
+export z=z
+f() { local z=a; env | grep ^z; }
+f
+env | grep ^z
+echo Done
diff --git a/shell/hush_test/hush-misc/func_local2.right b/shell/hush_test/hush-misc/func_local2.right
new file mode 100644
index 000000000..fe9343ac8
--- /dev/null
+++ b/shell/hush_test/hush-misc/func_local2.right
@@ -0,0 +1,14 @@
+1
+2
+1
+2
+1
+1
+2
+2
+3
+2
+2
+3
+1
+Done
diff --git a/shell/hush_test/hush-misc/func_local2.tests b/shell/hush_test/hush-misc/func_local2.tests
new file mode 100755
index 000000000..1a9ae559d
--- /dev/null
+++ b/shell/hush_test/hush-misc/func_local2.tests
@@ -0,0 +1,7 @@
+x=1
+f() { echo $x; local x=$((x+1)); echo $x; }
+g() { f; echo $x; f; local x=$((x+1)); f; echo $x; f; }
+f
+g
+echo $x
+echo Done