ash: import param_expand_default.tests from hush
authorDenys Vlasenko <vda.linux@googlemail.com>
Tue, 25 Jul 2017 13:25:07 +0000 (15:25 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Tue, 25 Jul 2017 13:25:07 +0000 (15:25 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/ash_test/ash-vars/param_expand_default.right [new file with mode: 0644]
shell/ash_test/ash-vars/param_expand_default.tests [new file with mode: 0755]
shell/hush_test/hush-vars/param_expand_default.tests

diff --git a/shell/ash_test/ash-vars/param_expand_default.right b/shell/ash_test/ash-vars/param_expand_default.right
new file mode 100644 (file)
index 0000000..3eecd13
--- /dev/null
@@ -0,0 +1,7 @@
+SHELL: line 1: syntax error: bad substitution
+_0 _0
+_ _ _ _word _word
+_aaaa _aaaa _aaaa _aaaa _aaaa
+_ _ _ _word _word
+_ _ _ _ _word
+_fff _fff _fff _fff _fff
diff --git a/shell/ash_test/ash-vars/param_expand_default.tests b/shell/ash_test/ash-vars/param_expand_default.tests
new file mode 100755 (executable)
index 0000000..5e42d30
--- /dev/null
@@ -0,0 +1,23 @@
+# 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)
+# valid in bash and ash (same as $-): "$THIS_SH" -c 'echo ${-}' SHELL
+"$THIS_SH" -c 'echo ${:-}' SHELL
+
+# now some funky ones
+echo _${#-} _${#:-}
+
+# now some valid ones
+set --
+echo _$1 _${1-} _${1:-} _${1-word} _${1:-word}
+
+set -- aaaa
+echo _$1 _${1-} _${1:-} _${1-word} _${1:-word}
+
+unset f
+echo _$f _${f-} _${f:-} _${f-word} _${f:-word}
+
+f=
+echo _$f _${f-} _${f:-} _${f-word} _${f:-word}
+
+f=fff
+echo _$f _${f-} _${f:-} _${f-word} _${f:-word}
index 1ea051748e15cddc1316c0cd22d10257912ceca4..16e5f8efef177fb1584a6b333aa00cd56184afb5 100755 (executable)
@@ -1,6 +1,8 @@
 # first try some invalid patterns (do in subshell due to parsing error)
-"$THIS_SH" -c 'echo ${-}'
-"$THIS_SH" -c 'echo ${:-}'
+# (set argv0 to "SHELL" to avoid "/path/to/shell: blah" in error messages)
+# valid in bash and ash (same as $-), not supported in hush (yet?):
+"$THIS_SH" -c 'echo ${-}' SHELL
+"$THIS_SH" -c 'echo ${:-}' SHELL
 
 # now some funky ones
 echo _${#-} _${#:-}