diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-25 14:55:05 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-25 14:55:05 +0200 |
commit | 64925384c9cf5e0d986e183577da286bb3207ce7 (patch) | |
tree | 47688edcf2c0d987800968a9e9d85fc2cd0741e5 /shell/ash_test/ash-vars/param_expand_assign.tests | |
parent | 73c47f6c41c97fb452b4747088543f2c2166830a (diff) | |
download | busybox-64925384c9cf5e0d986e183577da286bb3207ce7.tar.gz |
ash: add a few tests from hush-vars/*
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/ash_test/ash-vars/param_expand_assign.tests')
-rwxr-xr-x | shell/ash_test/ash-vars/param_expand_assign.tests | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/shell/ash_test/ash-vars/param_expand_assign.tests b/shell/ash_test/ash-vars/param_expand_assign.tests new file mode 100755 index 000000000..79de95613 --- /dev/null +++ b/shell/ash_test/ash-vars/param_expand_assign.tests @@ -0,0 +1,39 @@ +# First try some invalid patterns. Do in subshell due to parsing error. +# (set argv0 to "SHELL" to avoid "/path/to/shell: blah" in error messages) +"$THIS_SH" -c 'echo ${=}' SHELL +"$THIS_SH" -c 'echo ${:=}' SHELL + +# now some funky ones +"$THIS_SH" -c 'echo ${#=}' SHELL +"$THIS_SH" -c 'echo ${#:=}' SHELL + +# should error out +"$THIS_SH" -c 'set --; echo _${1=}' SHELL +"$THIS_SH" -c 'set --; echo _${1:=}' SHELL +"$THIS_SH" -c 'set --; echo _${1=word}' SHELL +"$THIS_SH" -c 'set --; echo _${1:=word}' SHELL + +# should not error +"$THIS_SH" -c 'set aa; echo _${1=}' SHELL +"$THIS_SH" -c 'set aa; echo _${1:=}' SHELL +"$THIS_SH" -c 'set aa; echo _${1=word}' SHELL +"$THIS_SH" -c 'set aa; echo _${1:=word}' SHELL + +# should work fine +unset f; echo _$f +unset f; echo _${f=} +unset f; echo _${f:=} +unset f; echo _${f=word} +unset f; echo _${f:=word} + +f=; echo _$f +f=; echo _${f=} +f=; echo _${f:=} +f=; echo _${f=word} +f=; echo _${f:=word} + +f=fff; echo _$f +f=fff; echo _${f=} +f=fff; echo _${f:=} +f=fff; echo _${f=word} +f=fff; echo _${f:=word} |