Results for builtin-set.test.sh

statusbashdashashzshmkshkshtoyshsushbrushosh
pass 15131381212471014
ok 0101000001
N-I 0002000000
BUG 0104300000
FAIL 00200311850
total15151515151515151515
casebashdashashzshmkshkshtoyshsushbrushoshdescription
0pass BUG pass BUG BUG FAIL pass pass pass pass can continue after unknown option
detailsdetailsdetailsdetails
1pass pass pass pass pass pass FAIL FAIL FAIL pass set with both options and argv
detailsdetailsdetails
2pass pass pass pass pass pass pass pass pass pass nounset with "$@"
3pass pass pass pass pass pass FAIL pass pass pass set -u -- clears argv
details
4pass pass pass pass pass pass FAIL pass pass pass set -u -- x y z
details
5pass pass pass pass pass pass pass pass pass pass reset option with long flag
6pass pass pass pass pass pass pass pass pass pass reset option with short flag
7pass ok FAIL pass pass pass FAIL pass FAIL pass set -eu (flag parsing)
detailsdetailsdetailsdetails
8pass pass pass pass pass pass FAIL FAIL pass pass set -o lists options
detailsdetails
9pass pass FAIL BUG pass pass FAIL FAIL pass pass 'set' and 'eval' round trip
detailsdetailsdetailsdetails
10pass pass pass BUG pass pass FAIL FAIL pass pass set - - and so forth
detailsdetailsdetails
11pass pass pass BUG pass pass FAIL FAIL FAIL pass set - leading single dash is ignored, turns off xtrace verbose (#2364)
detailsdetailsdetailsdetails
12pass pass pass N-I pass pass FAIL FAIL FAIL pass set - stops option processing like set --
detailsdetailsdetailsdetails
13pass pass pass N-I BUG FAIL FAIL FAIL FAIL pass A single + is an ignored flag; not an argument
detailsdetailsdetailsdetailsdetailsdetails
14pass pass pass ok BUG FAIL FAIL FAIL pass ok set - + and + -
detailsdetailsdetailsdetailsdetailsdetails
108 passed, 3 OK, 2 not implemented, 8 BUG, 29 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
zsh0 can continue after unknown option

stdout:
stderr: 
set: no such option: STRICT
mksh0 can continue after unknown option

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

[ksh stdout] Expected 'hello\n' Got ''
[ksh status] Expected 0 Got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: set: STRICT: unknown option
toysh1 set with both options and argv

[toysh stdout] Expected 'a b c\n' Got '\ndone\n'
[toysh status] Expected 1 Got 0

stdout:
done
stderr:
set: bad -o errexit
sush1 set with both options and argv

[sush stdout] Expected 'a b c\n' Got '\ndone\n'
[sush status] Expected 1 Got 0

stdout:
done
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name
brush1 set with both options and argv

[brush stdout] Expected 'a b c\n' Got 'a b c\ndone\n'
[brush status] Expected 1 Got 0

stdout:
a b c
done
stderr:
toysh3 set -u -- clears argv

[toysh stdout] Expected '\n' Got 'a b c\n'

stdout:
a b c
stderr:
set: bad --
toysh4 set -u -- x y z

[toysh stdout] Expected 'x y z\n' Got 'a b c\n'

stdout:
a b c
stderr:
set: bad --
dash7 set -eu (flag parsing)

stdout:
stderr: 
dash: 2: unset: parameter not set
ash7 set -eu (flag parsing)

[ash status] Expected 1 Got 2

stdout:
stderr: 
ash: unset: parameter not set
toysh7 set -eu (flag parsing)

[toysh stdout] Expected u'' Got '[]\nstatus=0\n'
[toysh status] Expected 1 Got 0

stdout:
[]
status=0
stderr:
set: bad -e
brush7 set -eu (flag parsing)

[brush stdout] Expected u'' Got '[]\nstatus=0\n'
[brush status] Expected 1 Got 0

stdout:
[]
status=0
stderr:
toysh8 set -o lists options

[toysh stdout] Expected 'noexec\n' Got ''
[toysh status] Expected 0 Got 1

stdout:
stderr: 
sush8 set -o lists options

[sush stdout] Expected 'noexec\n' Got ''
[sush status] Expected 0 Got 1

stdout:
stderr: 
ash9 'set' and 'eval' round trip

[ash stdout] Expected '[ ]\nOK\nOK\nOK\nOK\nOK\n' Got '[ ]\n'
[ash status] Expected 0 Got 2

stdout:
[ ]
stderr:
ash: /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-set.test.sh/09-ash/vars-ash.txt: line 6: syntax error: unterminated quoted string
zsh9 'set' and 'eval' round trip

stdout:
[ ]
stderr:
grep: (standard input): binary file matches
Code saved to /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-set.test.sh/09-zsh/vars-zsh.txt
toysh9 'set' and 'eval' round trip

[toysh stdout] Expected '[ ]\nOK\nOK\nOK\nOK\nOK\n' Got '[ ]\n'
[toysh status] Expected 0 Got -6

stdout:
[ ]
stderr:
.: Needs 1 argument (see ". --help")
Code saved to 
free(): double free detected in tcache 2
sush9 'set' and 'eval' round trip

[sush stdout] Expected '[ ]\nOK\nOK\nOK\nOK\nOK\n' Got '[ ]\nOK\nOK\nOK\nOK\n'

stdout:
[ ]
OK
OK
OK
OK
stderr:
Code saved to /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-set.test.sh/09-sush/vars-sush.txt
zsh10 set - - and so forth

stdout:
a b
a b
a b

--
stderr:
toysh10 set - - and so forth

[toysh stdout] Expected 'a b\na b\na b\n-\n--\n' Got 'a b\na b\na b\na b\na b\n'

stdout:
a b
a b
a b
a b
a b
stderr:
set: bad --
set: bad --
sush10 set - - and so forth

[sush stdout] Expected 'a b\na b\na b\n-\n--\n' Got 'a b\na b\na b\na b\n--\n'

stdout:
a b
a b
a b
a b
--
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: set: -: invalid option
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: set: -: invalid option
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

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

[toysh stdout] Expected 'verbose-on\nxtrace-on\n\na b c\n\nx - y z\n' Got '\na b c\n\nx - y z\n'

stdout:
a b c

x - y z
stderr:
set: bad -v
 show_options 
 { 
 case $- in 
 case $- in 
 echo 
 set - a b c 
 echo "$@" 
 show_options 
 { 
 case $- in 
 case $- in 
 echo 
 set x - y z 
 echo "$@" 
sush11 set - leading single dash is ignored, turns off xtrace verbose (#2364)

[sush stdout] Expected 'verbose-on\nxtrace-on\n\na b c\n\nx - y z\n' Got 'verbose-on\nxtrace-on\n\n\nverbose-on\nxtrace-on\n\nx - y z\n'

stdout:
verbose-on
xtrace-on


verbose-on
xtrace-on

x - y z
stderr:
show_options
+ show_options

+ case $- in
+ echo verbose-on

+ case $- in
+ echo xtrace-on
echo
+ echo

set - a b c
+ set - a b c
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 14: set: -: invalid option
echo "$@"
+ echo
show_options
+ show_options

+ case $- in
+ echo verbose-on

+ case $- in
+ echo xtrace-on
echo
+ echo

set x - y z
+ set x - y z
echo "$@"
+ echo x - y z

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

[brush stdout] Expected 'verbose-on\nxtrace-on\n\na b c\n\nx - y z\n' Got 'verbose-on\nxtrace-on\n\na b c\nverbose-on\nxtrace-on\n\nx - y z\n'

stdout:
verbose-on
xtrace-on

a b c
verbose-on
xtrace-on

x - y z
stderr:
+ show_options
+ case $- in
+ echo verbose-on
+ case $- in
+ echo xtrace-on
+ echo
+ set - a b c
+ echo a b c
+ show_options
+ case $- in
+ echo verbose-on
+ case $- in
+ echo xtrace-on
+ echo
+ set x - y z
+ echo x - y z
zsh12 set - stops option processing like set --

stdout:
stderr: 
toysh12 set - stops option processing like set --

[toysh stdout] Expected 'argv -v\n' Got ''
[toysh status] Expected 0 Got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush12 set - stops option processing like set --

[sush stdout] Expected 'argv -v\n' Got 'verbose-on\nxtrace-on\nargv\n'

stdout:
verbose-on
xtrace-on
argv
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 12: set: -: invalid option

show_options
+ show_options

+ case $- in
+ echo verbose-on

+ case $- in
+ echo xtrace-on
echo argv "$@"
+ echo argv

brush12 set - stops option processing like set --

[brush stdout] Expected 'argv -v\n' Got 'xtrace-on\nargv -v\n'

stdout:
xtrace-on
argv -v
stderr:
+ show_options
+ case $- in
+ case $- in
+ echo xtrace-on
+ echo argv -v
zsh13 A single + is an ignored flag; not an argument

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
ksh13 A single + is an ignored flag; not an argument

[ksh stdout] Expected 'plus\nverbose-on\nxtrace-on\nplus x y\n' Got 'plus\nxtrace-on\nplus -v x y\n'

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

[toysh stdout] Expected 'plus\nverbose-on\nxtrace-on\nplus x y\n' Got ''
[toysh status] Expected 0 Got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush13 A single + is an ignored flag; not an argument

[sush stdout] Expected 'plus\nverbose-on\nxtrace-on\nplus x y\n' Got 'plus\nverbose-on\nxtrace-on\nplus\n'

stdout:
plus
verbose-on
xtrace-on
plus
stderr:
show_options
+ show_options

+ case $- in
+ echo verbose-on

+ case $- in
+ echo xtrace-on
echo plus "$@"
+ echo plus

brush13 A single + is an ignored flag; not an argument

[brush stdout] Expected 'plus\nverbose-on\nxtrace-on\nplus x y\n' Got 'BASH=/home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush\nBASHPID=1965780\nBASH_VERSINFO=([0]="5" [1]="2" [2]="15" [3]="1" [4]="release" [5]="unknown")\nBASH_VERSION=\'5.2.15(1)-release\'\nBRUSH_VERSION=0.2.23\nCOMP_WORDBREAKS=$\' \\t\\n"\\\'@><=;|&(:\'\nEUID=1000\nHISTFILE=/home/andy/.brush_history\nHOSTNAME=hoover\nHOSTTYPE=x86_64\nIFS=$\' \\t\\n\'\nLC_ALL=C.UTF-8\nLOCALE_ARCHIVE=\'\'\nMACHTYPE=unknown\nOILS_GC_ON_EXIT=\'\'\nOLDPWD=\nOPTERR=1\nOPTIND=1\nOSTYPE=linux-gnu\nPATH=/home/andy/git/oils-for-unix/oils/spec/bin:/home/andy/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/andy/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/andy/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/andy/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/home/andy/git/oils-for-unix/oils/../oil_DEPS/spec-bin:/home/andy/wedge/oils-for-unix.org/pkg/souffle/2.4.1/bin:/home/andy/git/oils-for-unix/oils/_tmp/shells:/wedge/oils-for-unix.org/pkg/uftrace/0.13/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/bloaty/1.1:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/python2/2.7.18/bin:/home/andy/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/andy/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/andy/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/andy/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/home/andy/git/oils-for-unix/oils/../oil_DEPS/spec-bin:/home/andy/wedge/oils-for-unix.org/pkg/souffle/2.4.1/bin:/home/andy/git/oils-for-unix/oils/_tmp/shells:/wedge/oils-for-unix.org/pkg/uftrace/0.13/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/bloaty/1.1:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/python2/2.7.18/bin:/home/andy/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/andy/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/andy/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/andy/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/home/andy/git/oils-for-unix/oils/../oil_DEPS/spec-bin:/home/andy/wedge/oils-for-unix.org/pkg/souffle/2.4.1/bin:/home/andy/git/oils-for-unix/oils/_tmp/shells:/wedge/oils-for-unix.org/pkg/uftrace/0.13/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/bloaty/1.1:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/python2/2.7.18/bin:/home/andy/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/andy/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/andy/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/andy/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/home/andy/git/oils-for-unix/oils/../oil_DEPS/spec-bin:/home/andy/wedge/oils-for-unix.org/pkg/souffle/2.4.1/bin:/home/andy/git/oils-for-unix/oils/_tmp/shells:/wedge/oils-for-unix.org/pkg/uftrace/0.13/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/bloaty/1.1:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/python2/2.7.18/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/andy/bin:/wedge/oils-for-unix.org/pkg/python2/2.7.18/bin/\nPPID=1965773\nPS4=\'+ \'\nPWD=/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-set.test.sh/13-brush\nREPO_ROOT=/home/andy/git/oils-for-unix/oils\nSH=/home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush\nSHELL=/home/andy/git/shells/brush/target/release/brush\nSHLVL=1\nTMP=/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-set.test.sh/13-brush\nUID=1000\nshow_options () \n{ \n case $- in\n *v*)\n echo verbose-on\n ;;\n esac;\n case $- in\n *x*)\n echo xtrace-on\n ;;\n esac\n}\nplus\nverbose-on\nxtrace-on\nplus x y\n'

stdout:
BASH=/home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush
BASHPID=1965780
BASH_VERSINFO=([0]="5" [1]="2" [2]="15" [3]="1" [4]="release" [5]="unknown")
BASH_VERSION='5.2.15(1)-release'
BRUSH_VERSION=0.2.23
COMP_WORDBREAKS=$' \t\n"\'@><=;|&(:'
EUID=1000
HISTFILE=/home/andy/.brush_history
HOSTNAME=hoover
HOSTTYPE=x86_64
IFS=$' \t\n'
LC_ALL=C.UTF-8
LOCALE_ARCHIVE=''
MACHTYPE=unknown
OILS_GC_ON_EXIT=''
OLDPWD=
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/home/andy/git/oils-for-unix/oils/spec/bin:/home/andy/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/andy/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/andy/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/andy/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/home/andy/git/oils-for-unix/oils/../oil_DEPS/spec-bin:/home/andy/wedge/oils-for-unix.org/pkg/souffle/2.4.1/bin:/home/andy/git/oils-for-unix/oils/_tmp/shells:/wedge/oils-for-unix.org/pkg/uftrace/0.13/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/bloaty/1.1:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/python2/2.7.18/bin:/home/andy/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/andy/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/andy/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/andy/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/home/andy/git/oils-for-unix/oils/../oil_DEPS/spec-bin:/home/andy/wedge/oils-for-unix.org/pkg/souffle/2.4.1/bin:/home/andy/git/oils-for-unix/oils/_tmp/shells:/wedge/oils-for-unix.org/pkg/uftrace/0.13/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/bloaty/1.1:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/python2/2.7.18/bin:/home/andy/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/andy/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/andy/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/andy/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/home/andy/git/oils-for-unix/oils/../oil_DEPS/spec-bin:/home/andy/wedge/oils-for-unix.org/pkg/souffle/2.4.1/bin:/home/andy/git/oils-for-unix/oils/_tmp/shells:/wedge/oils-for-unix.org/pkg/uftrace/0.13/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/bloaty/1.1:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/python2/2.7.18/bin:/home/andy/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/andy/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/andy/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/andy/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/andy/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/home/andy/git/oils-for-unix/oils/../oil_DEPS/spec-bin:/home/andy/wedge/oils-for-unix.org/pkg/souffle/2.4.1/bin:/home/andy/git/oils-for-unix/oils/_tmp/shells:/wedge/oils-for-unix.org/pkg/uftrace/0.13/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/bloaty/1.1:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/python2/2.7.18/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/andy/bin:/wedge/oils-for-unix.org/pkg/python2/2.7.18/bin/
PPID=1965773
PS4='+ '
PWD=/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-set.test.sh/13-brush
REPO_ROOT=/home/andy/git/oils-for-unix/oils
SH=/home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush
SHELL=/home/andy/git/shells/brush/target/release/brush
SHLVL=1
TMP=/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-set.test.sh/13-brush
UID=1000
show_options () 
{ 
    case $- in
        *v*)
            echo verbose-on
        ;;
    esac;
    case $- in
        *x*)
            echo xtrace-on
        ;;
    esac
}
plus
verbose-on
xtrace-on
plus x y
stderr:
+ show_options
+ case $- in
+ echo verbose-on
+ case $- in
+ echo xtrace-on
+ echo plus x y
zsh14 set - + and + -

stdout:
+

stderr:
mksh14 set - + and + -

stdout:
+
-
stderr:
ksh14 set - + and + -

[ksh stdout] Expected '+\n+\n' Got '+\n-\n'

stdout:
+
-
stderr:
toysh14 set - + and + -

[toysh stdout] Expected '+\n+\n' Got '\n\n'

stdout:

stderr:
sush14 set - + and + -

[sush stdout] Expected '+\n+\n' Got '\n\n'

stdout:

stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: -: invalid option
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: set: -: invalid option
osh14 set - + and + -

stdout:
+

stderr: