diff options
author | Denys Vlasenko | 2017-07-25 16:29:36 +0200 |
---|---|---|
committer | Denys Vlasenko | 2017-07-25 16:29:36 +0200 |
commit | b28d4c3462e6b0e66322503f5ef0b941e0bb9cb8 (patch) | |
tree | d25bf78558574cdd8de6b802cf6486f66dfc6db9 /shell/ash_test/ash-vars/unset.tests | |
parent | be669fa1fdff6f751c8cdd3fc18a9fa7a7f46cd3 (diff) | |
download | busybox-b28d4c3462e6b0e66322503f5ef0b941e0bb9cb8.zip busybox-b28d4c3462e6b0e66322503f5ef0b941e0bb9cb8.tar.gz |
ash: [VAR] Move unsetvar functionality into setvareq
Upstream commit:
Date: Tue, 25 May 2010 20:55:05 +0800
[VAR] Move unsetvar functionality into setvareq
This patch moves the unsetvar code into setvareq so that we can
no have a pathological case of an unset variable hanging around
unless it has a bit pinning it like VEXPORT.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
function old new delta
setvareq 227 303 +76
expmeta 517 521 +4
localcmd 364 366 +2
unsetcmd 96 76 -20
unsetvar 129 7 -122
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/2 up/down: 82/-142) Total: -60 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/ash_test/ash-vars/unset.tests')
-rwxr-xr-x | shell/ash_test/ash-vars/unset.tests | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/shell/ash_test/ash-vars/unset.tests b/shell/ash_test/ash-vars/unset.tests new file mode 100755 index 0000000..11b3927 --- /dev/null +++ b/shell/ash_test/ash-vars/unset.tests @@ -0,0 +1,40 @@ +# check invalid options are rejected +# bash: in posix mode, aborts if non-interactive; using subshell to avoid that +(unset -) +echo $? +(unset -m a b c) +echo $? + +# check funky usage +unset +echo $? + +# check normal usage +echo ___ +f=f g=g +echo $? $f $g +unset f +echo $? $f $g +unset g +echo $? $f $g + +echo ___ +f=f g=g +echo $? $f $g +unset f g +echo $? $f $g +f=f g=g +echo $? $f $g +unset -v f g +echo $? $f $g + +# check read only vars +echo ___ +f=f g=g +VAR_RO=1 +readonly VAR_RO +(unset VAR_RO) +echo $? $f $g +# not testing "do variables survive error halfway through unset" since unset aborts +# unset f VAR_RO g +#echo $? $f $g |