# 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'"

# ash follows the "function call is a special builtin" rule here
# (bash does not do it)
f() { true; }
VAR=''
VAR=val3 f
echo "should be not empty: '$VAR'"