ash: fix var_leak testcase
No binary (build failed)
—
(log yok)
| @@ -1,2 +1,3 @@ | |
| should be empty: '' | |
| - | should be empty: '' |
| + | should be not empty: 'val2' |
| + | should be not empty: 'val3' |
| @@ -1,9 +1,18 @@ | |
| - | # This currently fails with CONFIG_FEATURE_SH_NOFORK=y |
| + | # true is a regular builtin, varibale should not leak out of it |
| + | # this currently fails with CONFIG_FEATURE_SH_NOFORK=y |
| VAR='' | |
| - | VAR=qwe true |
| + | VAR=val1 true |
| echo "should be empty: '$VAR'" | |
| - | # This fails (always) |
| + | # ash follows the "special builtin leaks variables" rule here: |
| + | # exec is a special builtin. (bash does not do it) |
| VAR='' | |
| - | VAR=qwe exec 2>&1 |
| - | echo "should be empty: '$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'" |