Results for builtin-set.test.sh

statusbashdashmkshzshosh
pass 2118161420
ok 01011
N-I 01120
BUG 01440
total2121212121
casebashdashmkshzshoshdescription
0pass BUG BUG BUG pass can continue after unknown option
detailsdetailsdetails
1pass pass pass pass pass set with both options and argv
2pass pass pass pass pass nounset with "$@"
3pass pass pass pass pass set -u -- clears argv
4pass pass pass pass pass set -u -- x y z
5pass pass pass pass pass reset option with long flag
6pass pass pass pass pass reset option with short flag
7pass ok pass pass pass set -eu (flag parsing)
details
8pass pass pass pass pass set -o lists options
9pass pass pass BUG pass 'set' and 'eval' round trip
details
10pass pass pass BUG pass set - - and so forth
details
11pass pass pass BUG pass set - leading single dash is ignored, turns off xtrace verbose (#2364)
details
12pass pass pass N-I pass set - stops option processing like set --
details
13pass pass BUG N-I pass A single + is an ignored flag; not an argument
detailsdetails
14pass pass BUG ok ok set - + and + -
detailsdetailsdetails
15pass pass pass pass pass set -a exports variables
16pass pass pass pass pass set +a stops exporting
17pass pass pass pass pass set -o allexport (long form)
18pass pass pass pass pass variables set before set -a are not exported
19pass pass BUG pass pass set -a exports local variables
details
20pass N-I N-I pass pass set -a exports declare variables
detailsdetails
89 passed, 3 OK, 4 not implemented, 9 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

dash0 can continue after unknown option

stdout:
stderr: 
dash: 2: set: Illegal option -o STRICT
mksh0 can continue after unknown option

stdout:
stderr: 
mksh: <stdin>[2]: set: STRICT: bad option
zsh0 can continue after unknown option

stdout:
stderr: 
set: no such option: STRICT
dash7 set -eu (flag parsing)

stdout:
stderr: 
dash: 2: unset: parameter not set
zsh9 'set' and 'eval' round trip

stdout:
[ ]
stderr:
grep: (standard input): binary file matches
Code saved to /home/uke/oil/_tmp/spec-tmp/builtin-set.test.sh/09-zsh/vars-zsh.txt
zsh10 set - - and so forth

stdout:
a b
a b
a b

--
stderr:
zsh11 set - leading single dash is ignored, turns off xtrace verbose (#2364)

stdout:
verbose-on
xtrace-on

a b c
verbose-on
xtrace-on

x - y z
stderr:
show_options
+zsh:11> show_options
+show_options:1> case 569Xsvx (*v*)
+show_options:2> echo verbose-on
+show_options:4> case 569Xsvx (*x*)
+show_options:5> echo xtrace-on
echo
+zsh:12> echo

set - a b c
+zsh:14> set - a b c
echo "$@"
+zsh:15> echo a b c
show_options
+zsh:16> show_options
+show_options:1> case 569Xsvx (*v*)
+show_options:2> echo verbose-on
+show_options:4> case 569Xsvx (*x*)
+show_options:5> echo xtrace-on
echo
+zsh:17> echo

set x - y z
+zsh:19> set x - y z
echo "$@"
+zsh:20> echo x - y z

zsh12 set - stops option processing like set --

stdout:
stderr: 
mksh13 A single + is an ignored flag; not an argument

stdout:
plus
xtrace-on
plus -v x y
stderr:
+ show_options
+ echo xtrace-on
+ echo plus -v x y
zsh13 A single + is an ignored flag; not an argument

stdout:
stderr: 
mksh14 set - + and + -

stdout:
+
-
stderr:
zsh14 set - + and + -

stdout:
+

stderr:
osh14 set - + and + -

stdout:
+

stderr:
mksh19 set -a exports local variables

stdout:
None
stderr:
dash20 set -a exports declare variables

stdout:
None
stderr:
dash: 2: declare: not found
mksh20 set -a exports declare variables

stdout:
None
stderr:
mksh: <stdin>[2]: declare: not found