aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ash_test/ash-vars/var_leak.right3
-rwxr-xr-xshell/ash_test/ash-vars/var_leak.tests19
2 files changed, 16 insertions, 6 deletions
diff --git a/shell/ash_test/ash-vars/var_leak.right b/shell/ash_test/ash-vars/var_leak.right
index 45c5458dd..be78112c8 100644
--- a/shell/ash_test/ash-vars/var_leak.right
+++ b/shell/ash_test/ash-vars/var_leak.right
@@ -1,2 +1,3 @@
1should be empty: '' 1should be empty: ''
2should be empty: '' 2should be not empty: 'val2'
3should be not empty: 'val3'
diff --git a/shell/ash_test/ash-vars/var_leak.tests b/shell/ash_test/ash-vars/var_leak.tests
index 1b1123fb7..032059295 100755
--- a/shell/ash_test/ash-vars/var_leak.tests
+++ b/shell/ash_test/ash-vars/var_leak.tests
@@ -1,9 +1,18 @@
1# This currently fails with CONFIG_FEATURE_SH_NOFORK=y 1# true is a regular builtin, varibale should not leak out of it
2# this currently fails with CONFIG_FEATURE_SH_NOFORK=y
2VAR='' 3VAR=''
3VAR=qwe true 4VAR=val1 true
4echo "should be empty: '$VAR'" 5echo "should be empty: '$VAR'"
5 6
6# This fails (always) 7# ash follows the "special builtin leaks variables" rule here:
8# exec is a special builtin. (bash does not do it)
7VAR='' 9VAR=''
8VAR=qwe exec 2>&1 10VAR=val2 exec 2>&1
9echo "should be empty: '$VAR'" 11echo "should be not empty: '$VAR'"
12
13# ash follows the "function call is a special builtin" rule here
14# (bash does not do it)
15f() { true; }
16VAR=''
17VAR=val3 f
18echo "should be not empty: '$VAR'"