summaryrefslogtreecommitdiff
path: root/shell/ash_test/ash-vars/var_leak.tests
blob: adf66692ec64ffcc9c4ecb172cac655673f2d3d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# cat is an external program, variable should not leak out of it.
# this currently fails with CONFIG_FEATURE_SH_NOFORK=y
VAR=''
VAR=val0 cat /dev/null
echo "should be empty: '$VAR'"

# true is a regular builtin, variable should not leak out of it.
VAR=''
VAR=val1 true
echo "should be empty: '$VAR'"

# ash follows the "special builtin leaks variables" rule here:
# exec is a special builtin. (bash does not do it)
VAR=''
VAR=val2 exec 2>&1
echo "should be not empty: '$VAR'"

f() { true; }
VAR=''
VAR=val3 f
echo "should be empty: '$VAR'"