diff options
Diffstat (limited to 'release/src/router/busybox/shell/hush_test/hush-vars/param_expand_indicate_error.tests')
-rwxr-xr-x | release/src/router/busybox/shell/hush_test/hush-vars/param_expand_indicate_error.tests | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/release/src/router/busybox/shell/hush_test/hush-vars/param_expand_indicate_error.tests b/release/src/router/busybox/shell/hush_test/hush-vars/param_expand_indicate_error.tests new file mode 100755 index 00000000..bccba3e1 --- /dev/null +++ b/release/src/router/busybox/shell/hush_test/hush-vars/param_expand_indicate_error.tests @@ -0,0 +1,40 @@ +# do all of these in subshells since it's supposed to error out + +# first try some invalid patterns +#"$THIS_SH" -c 'echo ${?}' -- this is valid as it's the same as $? +"$THIS_SH" -c 'echo ${:?}' + +# then some funky ones +"$THIS_SH" -c 'echo ${#?}' +"$THIS_SH" -c 'echo ${#:?}' + +# now some valid ones +"$THIS_SH" -c 'set --; echo _$1' +"$THIS_SH" -c 'set --; echo _${1?}' +"$THIS_SH" -c 'set --; echo _${1:?}' +"$THIS_SH" -c 'set --; echo _${1?message1}' +"$THIS_SH" -c 'set --; echo _${1:?message1}' + +"$THIS_SH" -c 'set -- aaaa; echo _$1' +"$THIS_SH" -c 'set -- aaaa; echo _${1?}' +"$THIS_SH" -c 'set -- aaaa; echo _${1:?}' +"$THIS_SH" -c 'set -- aaaa; echo _${1?word}' +"$THIS_SH" -c 'set -- aaaa; echo _${1:?word}' + +"$THIS_SH" -c 'unset f; echo _$f' +"$THIS_SH" -c 'unset f; echo _${f?}' +"$THIS_SH" -c 'unset f; echo _${f:?}' +"$THIS_SH" -c 'unset f; echo _${f?message3}' +"$THIS_SH" -c 'unset f; echo _${f:?message3}' + +"$THIS_SH" -c 'f=; echo _$f' +"$THIS_SH" -c 'f=; echo _${f?}' +"$THIS_SH" -c 'f=; echo _${f:?}' +"$THIS_SH" -c 'f=; echo _${f?word}' +"$THIS_SH" -c 'f=; echo _${f:?message4}' + +"$THIS_SH" -c 'f=fff; echo _$f' +"$THIS_SH" -c 'f=fff; echo _${f?}' +"$THIS_SH" -c 'f=fff; echo _${f:?}' +"$THIS_SH" -c 'f=fff; echo _${f?word}' +"$THIS_SH" -c 'f=fff; echo _${f:?word}' |