Results for sh-options.test.sh

statusbashdashashzshmkshkshtoyshsushbrushosh
pass 3516181921219132943
ok 9600500001
N-I 123001700002
BUG 0101200000
FAIL 0027250243834181
TIME 2122220000
total47474747474747474747
casebashdashashzshmkshkshtoyshsushbrushoshdescription
0ok pass FAIL FAIL ok FAIL FAIL FAIL FAIL pass $- with -c
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
1ok N-I FAIL FAIL ok FAIL FAIL FAIL FAIL pass $- with pipefail
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
2pass N-I pass pass pass pass pass FAIL pass pass $- and more options
detailsdetails
3TIME TIME TIME TIME TIME TIME pass FAIL pass pass $- with interactive shell
detailsdetailsdetailsdetailsdetailsdetailsdetails
4pass pass pass pass pass pass pass pass FAIL pass pass short options like sh -e
details
5pass pass pass pass pass pass pass FAIL pass pass pass long options like sh -o errexit
details
6pass N-I FAIL FAIL N-I FAIL FAIL FAIL pass pass pass shopt options like sh -O nullglob
detailsdetailsdetailsdetailsdetailsdetailsdetails
7pass BUG pass FAIL BUG FAIL pass pass pass pass can continue after unknown option
detailsdetailsdetailsdetails
8pass pass pass pass pass pass FAIL FAIL FAIL pass set with both options and argv
detailsdetailsdetails
9pass pass FAIL pass pass pass FAIL FAIL pass pass set -o vi/emacs
detailsdetailsdetails
10pass N-I FAIL FAIL N-I FAIL FAIL FAIL FAIL pass vi and emacs are mutually exclusive
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
11TIME N-I TIME TIME TIME TIME FAIL FAIL FAIL pass interactive shell starts with emacs mode on
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
12pass ok FAIL pass pass pass FAIL FAIL FAIL pass nounset
detailsdetailsdetailsdetailsdetails
13pass ok FAIL pass pass pass FAIL FAIL FAIL pass -u is nounset
detailsdetailsdetailsdetailsdetails
14pass pass pass pass pass pass pass pass pass pass nounset with "$@"
15pass pass pass pass pass pass FAIL pass pass pass set -u -- clears argv
details
16pass pass pass pass pass pass FAIL pass pass pass set -u -- x y z
details
17pass pass pass pass pass pass pass pass pass pass reset option with long flag
18pass pass pass pass pass pass pass pass pass pass reset option with short flag
19pass ok FAIL pass pass pass FAIL pass FAIL pass set -eu (flag parsing)
detailsdetailsdetailsdetails
20pass pass pass pass pass pass FAIL FAIL pass FAIL -n for no execution (useful with --ast-output)
detailsdetailsdetails
21pass N-I pass pass pass pass FAIL pass FAIL pass pipefail
detailsdetailsdetails
22pass N-I FAIL FAIL N-I FAIL FAIL FAIL pass pass shopt -p -o prints 'set' options
detailsdetailsdetailsdetailsdetailsdetailsdetails
23pass N-I FAIL FAIL N-I FAIL FAIL FAIL pass pass shopt -o prints 'set' options
detailsdetailsdetailsdetailsdetailsdetailsdetails
24pass N-I FAIL FAIL N-I FAIL FAIL FAIL pass pass shopt -p prints 'shopt' options
detailsdetailsdetailsdetailsdetailsdetailsdetails
25pass N-I FAIL FAIL N-I FAIL FAIL FAIL pass pass shopt with no flags prints options
detailsdetailsdetailsdetailsdetailsdetailsdetails
26pass pass pass pass pass pass pass pass pass pass noclobber off
27pass ok pass pass pass pass FAIL FAIL pass pass noclobber on
detailsdetailsdetails
28pass N-I pass FAIL pass pass FAIL FAIL pass pass noclobber on <>
detailsdetailsdetailsdetails
29pass pass pass BUG BUG FAIL FAIL FAIL pass ok set - -
detailsdetailsdetailsdetailsdetailsdetails
30pass pass pass pass pass pass FAIL FAIL pass pass set -o lists options
detailsdetails
31pass ok FAIL FAIL ok FAIL FAIL pass pass pass set without args lists variables
detailsdetailsdetailsdetailsdetailsdetails
32pass pass FAIL FAIL pass pass FAIL FAIL pass pass 'set' and 'eval' round trip
detailsdetailsdetailsdetails
33pass N-I FAIL FAIL ok FAIL FAIL pass pass N-I set without args and array variables (not in OSH)
detailsdetailsdetailsdetailsdetailsdetailsdetails
34pass N-I FAIL FAIL N-I FAIL FAIL FAIL pass N-I set without args and assoc array variables (not in OSH)
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
35pass N-I FAIL FAIL N-I FAIL FAIL FAIL pass pass shopt -q
detailsdetailsdetailsdetailsdetailsdetailsdetails
36ok N-I FAIL FAIL N-I FAIL FAIL FAIL FAIL pass shopt -q invalid
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
37N-I N-I FAIL FAIL N-I FAIL FAIL FAIL FAIL pass shopt -s strict:all
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
38pass N-I FAIL FAIL N-I FAIL FAIL FAIL pass pass shopt allows for backward compatibility like bash
detailsdetailsdetailsdetailsdetailsdetailsdetails
39ok N-I FAIL FAIL N-I FAIL FAIL FAIL FAIL pass shopt -p validates option names
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
40ok N-I FAIL FAIL N-I FAIL FAIL FAIL FAIL pass shopt -p -o validates option names
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
41ok ok FAIL FAIL ok FAIL FAIL FAIL FAIL pass stubbed out bash options
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
42ok N-I FAIL FAIL N-I FAIL FAIL FAIL FAIL pass shopt -s nounset works in YSH, not in bash
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
43ok N-I FAIL FAIL N-I FAIL FAIL FAIL FAIL pass Unimplemented options - print, query, set, unset
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
44pass N-I FAIL FAIL N-I FAIL FAIL FAIL pass pass Unimplemented options - OSH shopt -s ignore_shopt_not_impl
detailsdetailsdetailsdetailsdetailsdetailsdetails
45pass N-I FAIL FAIL N-I FAIL FAIL pass pass pass shopt -p exit code (regression)
detailsdetailsdetailsdetailsdetailsdetails
46ok pass pass pass pass pass FAIL FAIL FAIL pass no-ops not shown by shopt -p
detailsdetailsdetailsdetails
224 passed, 21 OK, 43 not implemented, 4 BUG, 167 failed, 11 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

bash0 $- with -c

stdout:
huBc
stderr:
ash0 $- with -c

[ash stdout] Expected 'u\n', got 'uc\n'

stdout:
uc
stderr:
zsh0 $- with -c

[zsh stdout] Expected 'u\n', got '569Xu\n'

stdout:
569Xu
stderr:
mksh0 $- with -c

stdout:
uhc
stderr:
ksh0 $- with -c

[ksh stdout] Expected 'u\n', got 'uhUc\n'

stdout:
uhUc
stderr:
toysh0 $- with -c

[toysh stdout] Expected 'u\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
sh: Unknown option 'o' (see "sh --help")
sush0 $- with -c

[sush stdout] Expected 'u\n', got ''
[sush status] Expected 0, got 2

stdout:
stderr: 
: line : nounset: invalid option name
brush0 $- with -c

[brush stdout] Expected 'u\n', got ''
[brush status] Expected 0, got 1

stdout:
stderr: 
ERROR error: failed to source file: -o; i/o error: No such file or directory (os error 2)
bash1 $- with pipefail

stdout:
huBs
stderr:
dash1 $- with pipefail

stdout:
stderr: 
dash: 1: set: Illegal option -o pipefail
ash1 $- with pipefail

[ash stdout] Expected 'u\n', got 'us\n'

stdout:
us
stderr:
zsh1 $- with pipefail

[zsh stdout] Expected 'u\n', got '569Xsu\n'

stdout:
569Xsu
stderr:
mksh1 $- with pipefail

stdout:
ush
stderr:
ksh1 $- with pipefail

[ksh stdout] Expected 'u\n', got 'ushU\n'

stdout:
ushU
stderr:
toysh1 $- with pipefail

[toysh stdout] Expected 'u\n', got 'Bs\n'

stdout:
Bs
stderr:
set: bad -o pipefail
sush1 $- with pipefail

[sush stdout] Expected 'u\n', got 'Bh\n'

stdout:
Bh
stderr:
brush1 $- with pipefail

[brush stdout] Expected 'u\n', got 'huBs\n'

stdout:
huBs
stderr:
dash2 $- and more options

stdout:
stderr: 
dash: 3: [[: not found
sush2 $- and more options

[sush stdout] Expected 'yes\nyes\nyes\nyes\n', got ''
[sush status] Expected 0, got 2

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: -f: invalid option
sush3 $- with interactive shell

[sush stdout] Expected 'FALSE\nTRUE\n', got 'FALSE\n'
[sush status] Expected 0, got 1

stdout:
FALSE
stderr:
: line : set: -i: invalid option
brush4 pass short options like sh -e

[brush stdout] Expected u'', got 'status=1\n'
[brush status] Expected 1, got 0

stdout:
status=1
stderr:
sush5 pass long options like sh -o errexit

[sush status] Expected 1, got 2

stdout:
stderr: 
: line : errexit: invalid option name
dash6 pass shopt options like sh -O nullglob

stdout:
stderr: 
dash: 0: Illegal option -O
dash: 0: Illegal option -O
ash6 pass shopt options like sh -O nullglob

[ash stdout] Expected 'foo *.nonexistent bar\nfoo bar\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: illegal option +O
ash: illegal option -O
zsh6 pass shopt options like sh -O nullglob

[zsh stdout] Expected 'foo *.nonexistent bar\nfoo bar\n', got ''
[zsh status] Expected 0, got 127

stdout:
stderr: 
zsh: can't open input file: nullglob
zsh: can't open input file: nullglob
mksh6 pass shopt options like sh -O nullglob

stdout:
stderr: 
mksh: mksh: -O: unknown option
mksh: mksh: -O: unknown option
ksh6 pass shopt options like sh -O nullglob

[ksh stdout] Expected 'foo *.nonexistent bar\nfoo bar\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: -O: unknown option
E: ksh: -O: unknown option
toysh6 pass shopt options like sh -O nullglob

[toysh stdout] Expected 'foo *.nonexistent bar\nfoo bar\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
sh: +O: No such file or directory
sh: Unknown option 'O' (see "sh --help")
sush6 pass shopt options like sh -O nullglob

[sush stdout] Expected 'foo *.nonexistent bar\nfoo bar\n', got ''
[sush status] Expected 0, got 2

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: nullglob: No such file or directory
: line : set: -O: invalid option
dash7 can continue after unknown option

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

[zsh stdout] Expected 'hello\n', got ''
[zsh status] Expected 0, got 1

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

stdout:
stderr: 
mksh: <stdin>[2]: set: STRICT: bad option
ksh7 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
toysh8 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
sush8 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
brush8 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:
ash9 set -o vi/emacs

[ash stdout] Expected '0\n0\n', got '0\n1\n'

stdout:
0
1
stderr:
ash: set: line 3: illegal option -o emacs
toysh9 set -o vi/emacs

[toysh stdout] Expected '0\n0\n', got '1\n1\n'

stdout:
1
1
stderr:
set: bad -o vi
set: bad -o emacs
sush9 set -o vi/emacs

[sush stdout] Expected '0\n0\n', got '2\n2\n'

stdout:
2
2
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: vi: invalid option name
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: set: emacs: invalid option name
dash10 vi and emacs are mutually exclusive

stdout:
___
___
___
stderr:
dash: 2: shopt: not found
dash: 2: shopt: not found
dash: 2: shopt: not found
ash10 vi and emacs are mutually exclusive

[ash stdout] Expected 'set +o emacs\nset +o vi\n___\nset -o emacs\nset +o vi\n___\nset +o emacs\nset -o vi\n___\n' Got '___\n___\n___\n'

stdout:
___
___
___
stderr:
ash: shopt: not found
ash: set: line 7: illegal option -o emacs
ash: shopt: not found
ash: shopt: not found
zsh10 vi and emacs are mutually exclusive

[zsh stdout] Expected 'set +o emacs\nset +o vi\n___\nset -o emacs\nset +o vi\n___\nset +o emacs\nset -o vi\n___\n' Got '___\n___\n___\n'

stdout:
___
___
___
stderr:
show:1: command not found: shopt
show:1: command not found: shopt
show:1: command not found: shopt
mksh10 vi and emacs are mutually exclusive

stdout:
___
___
___
stderr:
mksh: <stdin>[5]: shopt: not found
mksh: <stdin>[8]: shopt: not found
mksh: <stdin>[11]: shopt: not found
ksh10 vi and emacs are mutually exclusive

[ksh stdout] Expected 'set +o emacs\nset +o vi\n___\nset -o emacs\nset +o vi\n___\nset +o emacs\nset -o vi\n___\n' Got '___\n___\n___\n'

stdout:
___
___
___
stderr:
E: ksh: <stdin>[5]: shopt: inaccessible or not found
E: ksh: <stdin>[8]: shopt: inaccessible or not found
E: ksh: <stdin>[11]: shopt: inaccessible or not found
toysh10 vi and emacs are mutually exclusive

[toysh stdout] Expected 'set +o emacs\nset +o vi\n___\nset -o emacs\nset +o vi\n___\nset +o emacs\nset -o vi\n___\n' Got '___\n___\n___\n'

stdout:
___
___
___
stderr:
sh: shopt: No such file or directory
set: bad -o emacs
sh: shopt: No such file or directory
set: bad -o vi
sh: shopt: No such file or directory
sush10 vi and emacs are mutually exclusive

[sush stdout] Expected 'set +o emacs\nset +o vi\n___\nset -o emacs\nset +o vi\n___\nset +o emacs\nset -o vi\n___\n' Got '___\n___\n___\n'

stdout:
___
___
___
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: set: emacs: invalid option name
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: set: vi: invalid option name
brush10 vi and emacs are mutually exclusive

[brush stdout] Expected 'set +o emacs\nset +o vi\n___\nset -o emacs\nset +o vi\n___\nset +o emacs\nset -o vi\n___\n' Got 'set +o emacs\nset +o vi\n___\nset -o emacs\nset +o vi\n___\nset -o emacs\nset -o vi\n___\n'

stdout:
set +o emacs
set +o vi
___
set -o emacs
set +o vi
___
set -o emacs
set -o vi
___
stderr:
dash11 interactive shell starts with emacs mode on

stdout:
stderr: 
toysh11 interactive shell starts with emacs mode on

[toysh stdout] Expected 'non-interactive\n1\n1\ninteractive\n0\n1\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush11 interactive shell starts with emacs mode on

[sush stdout] Expected 'non-interactive\n1\n1\ninteractive\n0\n1\n', got 'non-interactive\n2\n2\ninteractive\n'
[sush status] Expected 0, got 2

stdout:
non-interactive
2
2
interactive
stderr:
test: ‘-o’: unary operator expected
test: ‘-o’: unary operator expected
: line : set: -i: invalid option
brush11 interactive shell starts with emacs mode on

[brush stdout] Expected 'non-interactive\n1\n1\ninteractive\n0\n1\n', got 'non-interactive\n1\n1\ninteractive\n0\n0\n'

stdout:
non-interactive
1
1
interactive
0
0
stderr:
dash12 nounset

stdout:
[]
stderr:
dash: 3: unset: parameter not set
ash12 nounset

[ash status] Expected 1, got 2

stdout:
[]
stderr:
ash: unset: parameter not set
toysh12 nounset

[toysh stdout] Expected '[]\n', got '[]\n[]\nend\n'
[toysh status] Expected 1, got 0

stdout:
[]
[]
end
stderr:
set: bad -o nounset
sush12 nounset

[sush stdout] Expected '[]\n', got '[]\n[]\nend\n'
[sush status] Expected 1, got 0

stdout:
[]
[]
end
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: nounset: invalid option name
brush12 nounset

[brush stdout] Expected '[]\n', got '[]\n[]\nend\n'
[brush status] Expected 1, got 0

stdout:
[]
[]
end
stderr:
dash13 -u is nounset

stdout:
[]
stderr:
dash: 3: unset: parameter not set
ash13 -u is nounset

[ash status] Expected 1, got 2

stdout:
[]
stderr:
ash: unset: parameter not set
toysh13 -u is nounset

[toysh stdout] Expected '[]\n', got '[]\nend\n'
[toysh status] Expected 1, got 0

stdout:
[]
end
stderr:
main: line 3: sh: unset]": bad substitution
sush13 -u is nounset

[sush stdout] Expected '[]\n', got '[]\nend\n'
[sush status] Expected 1, got 0

stdout:
[]
end
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: unset: unbound variable
brush13 -u is nounset

[brush stdout] Expected '[]\n', got '[]\n[]\nend\n'
[brush status] Expected 1, got 0

stdout:
[]
[]
end
stderr:
toysh15 set -u -- clears argv

[toysh stdout] Expected '\n', got 'a b c\n'

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

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

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

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

[ash status] Expected 1, got 2

stdout:
stderr: 
ash: unset: parameter not set
toysh19 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
brush19 set -eu (flag parsing)

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

stdout:
[]
status=0
stderr:
toysh20 -n for no execution (useful with --ast-output)

[toysh stdout] Expected '1\n', got '1\n2\n3\n'

stdout:
1
2
3
stderr:
set: bad -n
set: bad -n
sush20 -n for no execution (useful with --ast-output)

[sush stdout] Expected '1\n', got '1\n2\n3\n'

stdout:
1
2
3
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: -n: invalid option
osh20 -n for no execution (useful with --ast-output)

[osh stdout] Expected '1\n', got '1\n2\n3\n'

stdout:
1
2
3
stderr:
dash21 pipefail

stdout:
0
stderr:
dash: 3: set: Illegal option -o pipefail
toysh21 pipefail

[toysh stdout] Expected '0\n2\n', got '0\n0\n'

stdout:
0
0
stderr:
set: bad -o pipefail
brush21 pipefail

[brush stdout] Expected '0\n2\n', got '0\n0\n'

stdout:
0
0
stderr:
dash22 shopt -p -o prints 'set' options

stdout:
stderr: 
ash22 shopt -p -o prints 'set' options

[ash stdout] Expected 'set +o nounset\nset -o nounset\n--\nerrexit\nnoglob\nnounset\n' Got '--\n'
[ash status] Expected 0, got 1

stdout:
--
stderr:
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
zsh22 shopt -p -o prints 'set' options

[zsh stdout] Expected 'set +o nounset\nset -o nounset\n--\nerrexit\nnoglob\nnounset\n' Got '--\n'
[zsh status] Expected 0, got 1

stdout:
--
stderr:
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
mksh22 shopt -p -o prints 'set' options

stdout:
stderr: 
ksh22 shopt -p -o prints 'set' options

[ksh stdout] Expected 'set +o nounset\nset -o nounset\n--\nerrexit\nnoglob\nnounset\n' Got '--\n'
[ksh status] Expected 0, got 1

stdout:
--
stderr:
E: ksh: <stdin>[3]: shopt: inaccessible or not found
E: ksh: <stdin>[5]: shopt: inaccessible or not found
E: ksh: <stdin>[9]: shopt: inaccessible or not found
toysh22 shopt -p -o prints 'set' options

[toysh stdout] Expected 'set +o nounset\nset -o nounset\n--\nerrexit\nnoglob\nnounset\n' Got ''
[toysh status] Expected 0, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush22 shopt -p -o prints 'set' options

[sush stdout] Expected 'set +o nounset\nset -o nounset\n--\nerrexit\nnoglob\nnounset\n' Got '--\nnoglob\n'

stdout:
--
noglob
stderr:
sush: shopt: nounset: invalid shell option name
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: set: nounset: invalid option name
sush: shopt: nounset: invalid shell option name
dash23 shopt -o prints 'set' options

stdout:
stderr: 
ash23 shopt -o prints 'set' options

[ash stdout] Expected 'errexit\nnoglob\nnounset\n--\n', got '--\n'

stdout:
--
stderr:
ash: shopt: not found
zsh23 shopt -o prints 'set' options

[zsh stdout] Expected 'errexit\nnoglob\nnounset\n--\n', got '--\n'

stdout:
--
stderr:
zsh: command not found: shopt
mksh23 shopt -o prints 'set' options

stdout:
stderr: 
ksh23 shopt -o prints 'set' options

[ksh stdout] Expected 'errexit\nnoglob\nnounset\n--\n', got '--\n'

stdout:
--
stderr:
E: ksh: <stdin>[3]: shopt: inaccessible or not found
toysh23 shopt -o prints 'set' options

[toysh stdout] Expected 'errexit\nnoglob\nnounset\n--\n', got ''
[toysh status] Expected 0, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush23 shopt -o prints 'set' options

[sush stdout] Expected 'errexit\nnoglob\nnounset\n--\n', got '--\n'

stdout:
--
stderr:
dash24 shopt -p prints 'shopt' options

stdout:
stderr: 
dash: 1: shopt: not found
dash: 2: shopt: not found
dash: 3: shopt: not found
ash24 shopt -p prints 'shopt' options

[ash stdout] Expected 'shopt -u nullglob\nshopt -s nullglob\n', got ''
[ash status] Expected 0, got 127

stdout:
stderr: 
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
zsh24 shopt -p prints 'shopt' options

[zsh stdout] Expected 'shopt -u nullglob\nshopt -s nullglob\n', got ''
[zsh status] Expected 0, got 127

stdout:
stderr: 
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
mksh24 shopt -p prints 'shopt' options

stdout:
stderr: 
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[2]: shopt: not found
mksh: <stdin>[3]: shopt: not found
ksh24 shopt -p prints 'shopt' options

[ksh stdout] Expected 'shopt -u nullglob\nshopt -s nullglob\n', got ''
[ksh status] Expected 0, got 127

stdout:
stderr: 
E: ksh: <stdin>[1]: shopt: inaccessible or not found
E: ksh: <stdin>[2]: shopt: inaccessible or not found
E: ksh: <stdin>[3]: shopt: inaccessible or not found
toysh24 shopt -p prints 'shopt' options

[toysh stdout] Expected 'shopt -u nullglob\nshopt -s nullglob\n', got ''
[toysh status] Expected 0, got 127

stdout:
stderr: 
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sush24 shopt -p prints 'shopt' options

[sush stdout] Expected 'shopt -u nullglob\nshopt -s nullglob\n', got 'nullglob off\nnullglob on\n'

stdout:
nullglob        off
nullglob        on
stderr:
dash25 shopt with no flags prints options

stdout:
0 one.txt
0
stderr:
dash: 3: shopt: not found
dash: 8: shopt: not found
ash25 shopt with no flags prints options

[ash stdout] Expected '2 one.txt\nnullglob\nfailglob\n1\n', got '0 one.txt\n0\n'

stdout:
0 one.txt
0
stderr:
ash: shopt: not found
ash: shopt: not found
zsh25 shopt with no flags prints options

[zsh stdout] Expected '2 one.txt\nnullglob\nfailglob\n1\n', got '0 one.txt\n0\n'

stdout:
0 one.txt
0
stderr:
zsh: command not found: shopt
zsh: command not found: shopt
mksh25 shopt with no flags prints options

stdout:
0 one.txt
0
stderr:
mksh: <stdin>[3]: shopt: not found
mksh: <stdin>[8]: shopt: not found
ksh25 shopt with no flags prints options

[ksh stdout] Expected '2 one.txt\nnullglob\nfailglob\n1\n', got '0 one.txt\n0\n'

stdout:
0 one.txt
0
stderr:
E: ksh: <stdin>[3]: shopt: inaccessible or not found
E: ksh: <stdin>[8]: shopt: inaccessible or not found
toysh25 shopt with no flags prints options

[toysh stdout] Expected '2 one.txt\nnullglob\nfailglob\n1\n', got '0 one.txt\n0\n'

stdout:
0 one.txt
0
stderr:
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sush25 shopt with no flags prints options

[sush stdout] Expected '2 one.txt\nnullglob\nfailglob\n1\n', got '0 one.txt\n1\n'

stdout:
0 one.txt
1
stderr:
sush: shopt: nullglob: invalid shell option name
shopt: usage: shopt [-su] [optname ...]
dash27 noclobber on

stdout:
create=0
overwrite=2
force=0
force
stderr:
dash: 7: cannot create no-clobber: File exists
toysh27 noclobber on

[toysh stdout] Expected 'create=0\noverwrite=1\nforce=0\nforce\n', got 'create=0\noverwrite=0\nforce=0\nforce\n'

stdout:
create=0
overwrite=0
force=0
force
stderr:
sush27 noclobber on

[sush stdout] Expected 'create=0\noverwrite=1\nforce=0\nforce\n', got 'create=0\noverwrite=1\nforce=2\nfoo\n'

stdout:
create=0
overwrite=1
force=2
foo
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: no-clobber: cannot overwrite existing file
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: Unexpected token: >|
dash28 noclobber on <>

stdout:
.oo
stderr:
dash: 4: read: Illegal option -n
zsh28 noclobber on <>

[zsh stdout] Expected 'f.o\n', got 'foo\n.'

stdout:
foo
.
stderr:
toysh28 noclobber on <>

[toysh stdout] Expected 'f.o\n', got '.oo\n'

stdout:
.oo
stderr:
sh: read: No such file or directory
sush28 noclobber on <>

[sush stdout] Expected 'f.o\n', got ''
[sush status] Expected 0, got 101

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: Unexpected token: >|
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: <>
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: 0: bad file descriptor
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: 1: bad file descriptor

thread 'main' panicked at src/elements/io.rs:17:27:
cannot close: EBADF
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
zsh29 set - -

stdout:
a b
a b
a b

+

--
stderr:
mksh29 set - -

stdout:
a b
a b
a b
-
+
-
--
stderr:
ksh29 set - -

[ksh stdout] Expected 'a b\na b\na b\n-\n+\n+\n--\n', got 'a b\na b\na b\n-\n+\n-\n--\n'

stdout:
a b
a b
a b
-
+
-
--
stderr:
toysh29 set - -

[toysh stdout] Expected 'a b\na b\na b\n-\n+\n+\n--\n', got 'a b\na b\na b\na b\na b\na b\na b\n'

stdout:
a b
a b
a b
a b
a b
a b
a b
stderr:
set: bad --
set: bad --
sush29 set - -

[sush stdout] Expected 'a b\na b\na b\n-\n+\n+\n--\n', got 'a b\na b\na b\n$=3430506\nBASHPID=3430506\nBASH_ARGC=()\nBASH_ARGV=()\nBASH_CMDS=([echo]="/usr/bin/echo" )\nBASH_COMMAND=set - -\nBASH_LINENO=()\nBASH_SOURCE=()\nBASH_SUBSHELL=0\nBASH_VERSINFO=([0]="1" [1]="1" [2]="8" [3]="rusty_bash" [4]="release" [5]="x86_64-unknown-linux")\nBASH_VERSION=1.1.8(rusty_bash)-release\nDIRSTACK=()\nEPOCHREALTIME\nEPOCHSECONDS\nFUNCNAME\nHISTFILE=//.sush_history\nHISTFILESIZE=2000\nHOME=/\nHOSTTYPE=x86_64\nIFS=$\' \t\\n\'\nLINENO=7\nMACHTYPE=x86_64-unknown-linux\nOPTIND=1\nOSTYPE=linux\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/\nPIPESTATUS=([0]="0")\nPS4=+ \nRANDOM\nSECONDS\nSRANDOM\nUID=1000\na b\n$=3430506\nBASHPID=3430506\nBASH_ARGC=()\nBASH_ARGV=()\nBASH_CMDS=([echo]="/usr/bin/echo" )\nBASH_COMMAND=set - +\nBASH_LINENO=()\nBASH_SOURCE=()\nBASH_SUBSHELL=0\nBASH_VERSINFO=([0]="1" [1]="1" [2]="8" [3]="rusty_bash" [4]="release" [5]="x86_64-unknown-linux")\nBASH_VERSION=1.1.8(rusty_bash)-release\nDIRSTACK=()\nEPOCHREALTIME\nEPOCHSECONDS\nFUNCNAME\nHISTFILE=//.sush_history\nHISTFILESIZE=2000\nHOME=/\nHOSTTYPE=x86_64\nIFS=$\' \t\\n\'\nLINENO=9\nMACHTYPE=x86_64-unknown-linux\nOPTIND=1\nOSTYPE=linux\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/\nPIPESTATUS=([0]="0")\nPS4=+ \nRANDOM\nSECONDS\nSRANDOM\nUID=1000\na b\n$=3430506\nBASHPID=3430506\nBASH_ARGC=()\nBASH_ARGV=()\nBASH_CMDS=([echo]="/usr/bin/echo" )\nBASH_COMMAND=set + -\nBASH_LINENO=()\nBASH_SOURCE=()\nBASH_SUBSHELL=0\nBASH_VERSINFO=([0]="1" [1]="1" [2]="8" [3]="rusty_bash" [4]="release" [5]="x86_64-unknown-linux")\nBASH_VERSION=1.1.8(rusty_bash)-release\nDIRSTACK=()\nEPOCHREALTIME\nEPOCHSECONDS\nFUNCNAME\nHISTFILE=//.sush_history\nHISTFILESIZE=2000\nHOME=/\nHOSTTYPE=x86_64\nIFS=$\' \t\\n\'\nLINENO=11\nMACHTYPE=x86_64-unknown-linux\nOPTIND=1\nOSTYPE=linux\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/\nPIPESTATUS=([0]="0")\nPS4=+ \nRANDOM\nSECONDS\nSRANDOM\nUID=1000\na b\n--\n'

stdout:
a b
a b
a b
$=3430506
BASHPID=3430506
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=([echo]="/usr/bin/echo" )
BASH_COMMAND=set - -
BASH_LINENO=()
BASH_SOURCE=()
BASH_SUBSHELL=0
BASH_VERSINFO=([0]="1" [1]="1" [2]="8" [3]="rusty_bash" [4]="release" [5]="x86_64-unknown-linux")
BASH_VERSION=1.1.8(rusty_bash)-release
DIRSTACK=()
EPOCHREALTIME
EPOCHSECONDS
FUNCNAME
HISTFILE=//.sush_history
HISTFILESIZE=2000
HOME=/
HOSTTYPE=x86_64
IFS=$' 	\n'
LINENO=7
MACHTYPE=x86_64-unknown-linux
OPTIND=1
OSTYPE=linux
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/
PIPESTATUS=([0]="0")
PS4=+ 
RANDOM
SECONDS
SRANDOM
UID=1000
a b
$=3430506
BASHPID=3430506
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=([echo]="/usr/bin/echo" )
BASH_COMMAND=set - +
BASH_LINENO=()
BASH_SOURCE=()
BASH_SUBSHELL=0
BASH_VERSINFO=([0]="1" [1]="1" [2]="8" [3]="rusty_bash" [4]="release" [5]="x86_64-unknown-linux")
BASH_VERSION=1.1.8(rusty_bash)-release
DIRSTACK=()
EPOCHREALTIME
EPOCHSECONDS
FUNCNAME
HISTFILE=//.sush_history
HISTFILESIZE=2000
HOME=/
HOSTTYPE=x86_64
IFS=$' 	\n'
LINENO=9
MACHTYPE=x86_64-unknown-linux
OPTIND=1
OSTYPE=linux
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/
PIPESTATUS=([0]="0")
PS4=+ 
RANDOM
SECONDS
SRANDOM
UID=1000
a b
$=3430506
BASHPID=3430506
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=([echo]="/usr/bin/echo" )
BASH_COMMAND=set + -
BASH_LINENO=()
BASH_SOURCE=()
BASH_SUBSHELL=0
BASH_VERSINFO=([0]="1" [1]="1" [2]="8" [3]="rusty_bash" [4]="release" [5]="x86_64-unknown-linux")
BASH_VERSION=1.1.8(rusty_bash)-release
DIRSTACK=()
EPOCHREALTIME
EPOCHSECONDS
FUNCNAME
HISTFILE=//.sush_history
HISTFILESIZE=2000
HOME=/
HOSTTYPE=x86_64
IFS=$' 	\n'
LINENO=11
MACHTYPE=x86_64-unknown-linux
OPTIND=1
OSTYPE=linux
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/
PIPESTATUS=([0]="0")
PS4=+ 
RANDOM
SECONDS
SRANDOM
UID=1000
a b
--
stderr:
osh29 set - -

stdout:
a b
- a b
a b
- -
- +
+ -
--
stderr:
toysh30 set -o lists options

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

stdout:
stderr: 
sush30 set -o lists options

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

stdout:
stderr: 
dash31 set without args lists variables

stdout:
__GLOBAL='mutated'
__OTHERLOCAL='L'
__mylocal='L'
__var_in_parent_scope='D'
stderr:
ash31 set without args lists variables

[ash stdout] Expected '__GLOBAL=mutated\n__OTHERLOCAL=L\n__mylocal=L\n__var_in_parent_scope=D\n' Got "__GLOBAL='mutated'\n__OTHERLOCAL='L'\n__mylocal='L'\n__var_in_parent_scope='D'\n"

stdout:
__GLOBAL='mutated'
__OTHERLOCAL='L'
__mylocal='L'
__var_in_parent_scope='D'
stderr:
zsh31 set without args lists variables

[zsh stdout] Expected '__GLOBAL=mutated\n__OTHERLOCAL=L\n__mylocal=L\n__var_in_parent_scope=D\n' Got ''

stdout:
stderr: 
grep: (standard input): binary file matches
mksh31 set without args lists variables

stdout:
__GLOBAL=mutated
__var_in_parent_scope=D
__OTHERLOCAL=L
__mylocal=L
stderr:
ksh31 set without args lists variables

[ksh stdout] Expected '__GLOBAL=mutated\n__OTHERLOCAL=L\n__mylocal=L\n__var_in_parent_scope=D\n' Got '__GLOBAL=mutated\n__var_in_parent_scope=D\n__OTHERLOCAL=L\n__mylocal=L\n'

stdout:
__GLOBAL=mutated
__var_in_parent_scope=D
__OTHERLOCAL=L
__mylocal=L
stderr:
toysh31 set without args lists variables

[toysh stdout] Expected '__GLOBAL=mutated\n__OTHERLOCAL=L\n__mylocal=L\n__var_in_parent_scope=D\n' Got '__OTHERLOCAL=L\n__mylocal=L\n__var_in_parent_scope=D\n__GLOBAL=mutated\n'

stdout:
__OTHERLOCAL=L
__mylocal=L
__var_in_parent_scope=D
__GLOBAL=mutated
stderr:
ash32 '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/sh-options.test.sh/32-ash/vars-ash.txt: line 6: syntax error: unterminated quoted string
zsh32 'set' and 'eval' round trip

[zsh stdout] Expected '[ ]\nOK\nOK\nOK\nOK\nOK\n', got '[ ]\n'
[zsh status] Expected 0, got 1

stdout:
[ ]
stderr:
grep: (standard input): binary file matches
Code saved to /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/sh-options.test.sh/32-zsh/vars-zsh.txt
toysh32 '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
sush32 'set' and 'eval' round trip

[sush stdout] Expected '[ ]\nOK\nOK\nOK\nOK\nOK\n', got '[ [ \r ] \'single quotes\' \\ " [\xce\xbc] ]\nOK\nOK\nOK\nOK\n'

stdout:
[ [ 
 ] 'single quotes' \ " [μ] ]
OK
OK
OK
OK
stderr:
/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/sh-options.test.sh/32-sush/vars-sush.txt: line 15: syntax error: unexpected end of file
Code saved to /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/sh-options.test.sh/32-sush/vars-sush.txt
dash33 set without args and array variables (not in OSH)

stdout:
stderr: 
dash: 1: declare: not found
dash: 2: Syntax error: "(" unexpected
ash33 set without args and array variables (not in OSH)

[ash stdout] Expected '__array=([0]="1" [1]="2" [2]="3 4")\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: declare: not found
ash: syntax error: unexpected "("
zsh33 set without args and array variables (not in OSH)

[zsh stdout] Expected '__array=([0]="1" [1]="2" [2]="3 4")\n', got ''

stdout:
stderr: 
grep: (standard input): binary file matches
mksh33 set without args and array variables (not in OSH)

stdout:
__array[0]=1
__array[1]=2
__array[2]='3 4'
stderr:
mksh: <stdin>[1]: declare: not found
ksh33 set without args and array variables (not in OSH)

[ksh stdout] Expected '__array=([0]="1" [1]="2" [2]="3 4")\n', got "__array[0]=1\n__array[1]=2\n__array[2]='3 4'\n"

stdout:
__array[0]=1
__array[1]=2
__array[2]='3 4'
stderr:
E: ksh: <stdin>[1]: declare: inaccessible or not found
toysh33 set without args and array variables (not in OSH)

[toysh stdout] Expected '__array=([0]="1" [1]="2" [2]="3 4")\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 2: sh: syntax error: 1
osh33 set without args and array variables (not in OSH)

stdout:
stderr: 
dash34 set without args and assoc array variables (not in OSH)

stdout:
stderr: 
dash: 1: typeset: not found
dash: 2: __assoc[k e y]=v a l: not found
dash: 3: __assoc[a]=b: not found
ash34 set without args and assoc array variables (not in OSH)

[ash stdout] Expected '__assoc=([a]="b" ["k e y"]="v a l" )\n', got ''
[ash status] Expected 0, got 1

stdout:
stderr: 
ash: typeset: not found
ash: __assoc[k e y]=v a l: not found
ash: __assoc[a]=b: not found
zsh34 set without args and assoc array variables (not in OSH)

[zsh stdout] Expected '__assoc=([a]="b" ["k e y"]="v a l" )\n', got ''

stdout:
stderr: 
grep: (standard input): binary file matches
mksh34 set without args and assoc array variables (not in OSH)

stdout:
stderr: 
mksh: <stdin>[1]: typeset: -A: unknown option
mksh: <stdin>[2]: 'k e y': multi-character character constant
ksh34 set without args and assoc array variables (not in OSH)

[ksh stdout] Expected '__assoc=([a]="b" ["k e y"]="v a l" )\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: typeset: -A: unknown option
W: ksh: <stdin>[2]: 'k e y': multi-character character constant
toysh34 set without args and assoc array variables (not in OSH)

[toysh stdout] Expected '__assoc=([a]="b" ["k e y"]="v a l" )\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
sh: typeset: No such file or directory
sh: __assoc[k e y]=v a l: No such file or directory
sh: __assoc[a]=b: No such file or directory
sush34 set without args and assoc array variables (not in OSH)

[sush stdout] Expected '__assoc=([a]="b" ["k e y"]="v a l" )\n', got '__assoc=([a]="b" )\n'

stdout:
__assoc=([a]="b" )
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'k e y': syntax error: operand expected (error token is "'k e y'")
osh34 set without args and assoc array variables (not in OSH)

stdout:
stderr: 
  __assoc[a]=b
  ^~~~~~~~
[ stdin ]:3: fatal: Assoc array keys must be strings: $x 'x' "$x" etc. (OILS-ERR-101)
dash35 shopt -q

stdout:
nullglob=127
nullglob=127
nullglob,failglob=127
nullglob,failglob=127
stderr:
dash: 1: shopt: not found
dash: 4: shopt: not found
dash: 6: shopt: not found
dash: 9: shopt: not found
dash: 12: shopt: not found
dash: 13: shopt: not found
ash35 shopt -q

[ash stdout] Expected 'nullglob=1\nnullglob=0\nnullglob,failglob=1\nnullglob,failglob=0\n' Got 'nullglob=127\nnullglob=127\nnullglob,failglob=127\nnullglob,failglob=127\n'

stdout:
nullglob=127
nullglob=127
nullglob,failglob=127
nullglob,failglob=127
stderr:
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
zsh35 shopt -q

[zsh stdout] Expected 'nullglob=1\nnullglob=0\nnullglob,failglob=1\nnullglob,failglob=0\n' Got 'nullglob=127\nnullglob=127\nnullglob,failglob=127\nnullglob,failglob=127\n'

stdout:
nullglob=127
nullglob=127
nullglob,failglob=127
nullglob,failglob=127
stderr:
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
mksh35 shopt -q

stdout:
nullglob=127
nullglob=127
nullglob,failglob=127
nullglob,failglob=127
stderr:
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[4]: shopt: not found
mksh: <stdin>[6]: shopt: not found
mksh: <stdin>[9]: shopt: not found
mksh: <stdin>[12]: shopt: not found
mksh: <stdin>[13]: shopt: not found
ksh35 shopt -q

[ksh stdout] Expected 'nullglob=1\nnullglob=0\nnullglob,failglob=1\nnullglob,failglob=0\n' Got 'nullglob=127\nnullglob=127\nnullglob,failglob=127\nnullglob,failglob=127\n'

stdout:
nullglob=127
nullglob=127
nullglob,failglob=127
nullglob,failglob=127
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
E: ksh: <stdin>[4]: shopt: inaccessible or not found
E: ksh: <stdin>[6]: shopt: inaccessible or not found
E: ksh: <stdin>[9]: shopt: inaccessible or not found
E: ksh: <stdin>[12]: shopt: inaccessible or not found
E: ksh: <stdin>[13]: shopt: inaccessible or not found
toysh35 shopt -q

[toysh stdout] Expected 'nullglob=1\nnullglob=0\nnullglob,failglob=1\nnullglob,failglob=0\n' Got 'nullglob=127\nnullglob=127\nnullglob,failglob=127\nnullglob,failglob=127\n'

stdout:
nullglob=127
nullglob=127
nullglob,failglob=127
nullglob,failglob=127
stderr:
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sush35 shopt -q

[sush stdout] Expected 'nullglob=1\nnullglob=0\nnullglob,failglob=1\nnullglob,failglob=0\n' Got 'nullglob=0\nnullglob=0\nnullglob,failglob=1\nnullglob,failglob=1\n'

stdout:
nullglob=0
nullglob=0
nullglob,failglob=1
nullglob,failglob=1
stderr:
sush: shopt: nullglob: invalid shell option name
shopt: usage: shopt [-su] [optname ...]
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 12: shopt: failglob: not supported yet
sush: shopt: nullglob: invalid shell option name
shopt: usage: shopt [-su] [optname ...]
bash36 shopt -q invalid

stdout:
invalidZZ=1
stderr:
bash: line 1: shopt: invalidZZ: invalid shell option name
dash36 shopt -q invalid

stdout:
invalidZZ=127
stderr:
dash: 1: shopt: not found
ash36 shopt -q invalid

[ash stdout] Expected 'invalidZZ=2\n', got 'invalidZZ=127\n'

stdout:
invalidZZ=127
stderr:
ash: shopt: not found
zsh36 shopt -q invalid

[zsh stdout] Expected 'invalidZZ=2\n', got 'invalidZZ=127\n'

stdout:
invalidZZ=127
stderr:
zsh: command not found: shopt
mksh36 shopt -q invalid

stdout:
invalidZZ=127
stderr:
mksh: <stdin>[1]: shopt: not found
ksh36 shopt -q invalid

[ksh stdout] Expected 'invalidZZ=2\n', got 'invalidZZ=127\n'

stdout:
invalidZZ=127
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
toysh36 shopt -q invalid

[toysh stdout] Expected 'invalidZZ=2\n', got 'invalidZZ=127\n'

stdout:
invalidZZ=127
stderr:
sh: shopt: No such file or directory
sush36 shopt -q invalid

[sush stdout] Expected 'invalidZZ=2\n', got 'invalidZZ=0\n'

stdout:
invalidZZ=0
stderr:
brush36 shopt -q invalid

[brush stdout] Expected 'invalidZZ=2\n', got 'invalidZZ=1\n'

stdout:
invalidZZ=1
stderr:
shopt: invalidZZ: invalid shell option name
bash37 shopt -s strict:all

stdout:
-
-
-
stderr:
bash: line 9: shopt: strict:all: invalid shell option name
bash: line 11: shopt: strict_arith: invalid shell option name
dash37 shopt -s strict:all

stdout:
stderr: 
dash: 3: Syntax error: Bad function name
ash37 shopt -s strict:all

[ash stdout] Expected 'shopt -u strict_argv\nshopt -u strict_arith\n-\nshopt -s strict_argv\nshopt -s strict_arith\n-\nshopt -s strict_argv\nshopt -u strict_arith\n-\n' Got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: bad function name
zsh37 shopt -s strict:all

[zsh stdout] Expected 'shopt -u strict_argv\nshopt -u strict_arith\n-\nshopt -s strict_argv\nshopt -s strict_arith\n-\nshopt -s strict_argv\nshopt -u strict_arith\n-\n' Got '\n\n\n'

stdout:


stderr:
show-strict:1: command not found: shopt
zsh: command not found: shopt
show-strict:1: command not found: shopt
zsh: command not found: shopt
show-strict:1: command not found: shopt
mksh37 shopt -s strict:all

stdout:
-
-
-
stderr:
mksh: <stdin>[8]: shopt: not found
mksh: <stdin>[9]: shopt: not found
mksh: <stdin>[10]: shopt: not found
mksh: <stdin>[11]: shopt: not found
mksh: <stdin>[12]: shopt: not found
ksh37 shopt -s strict:all

[ksh stdout] Expected 'shopt -u strict_argv\nshopt -u strict_arith\n-\nshopt -s strict_argv\nshopt -s strict_arith\n-\nshopt -s strict_argv\nshopt -u strict_arith\n-\n' Got '-\n-\n-\n'

stdout:
-
-
-
stderr:
E: ksh: <stdin>[8]: shopt: inaccessible or not found
E: ksh: <stdin>[9]: shopt: inaccessible or not found
E: ksh: <stdin>[10]: shopt: inaccessible or not found
E: ksh: <stdin>[11]: shopt: inaccessible or not found
E: ksh: <stdin>[12]: shopt: inaccessible or not found
toysh37 shopt -s strict:all

[toysh stdout] Expected 'shopt -u strict_argv\nshopt -u strict_arith\n-\nshopt -s strict_argv\nshopt -s strict_arith\n-\nshopt -s strict_argv\nshopt -u strict_arith\n-\n' Got '-\n-\n-\n'

stdout:
-
-
-
stderr:
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sush37 shopt -s strict:all

[sush stdout] Expected 'shopt -u strict_argv\nshopt -u strict_arith\n-\nshopt -s strict_argv\nshopt -s strict_arith\n-\nshopt -s strict_argv\nshopt -u strict_arith\n-\n' Got '-\n'
[sush status] Expected 0, got 127

stdout:
-
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: ()
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: Unexpected token: }

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: show-strict: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: shopt: strict:all: not supported yet
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: show-strict: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: strict_arith: invalid option name
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 12: show-strict: command not found
brush37 shopt -s strict:all

[brush stdout] Expected 'shopt -u strict_argv\nshopt -u strict_arith\n-\nshopt -s strict_argv\nshopt -s strict_arith\n-\nshopt -s strict_argv\nshopt -u strict_arith\n-\n' Got '-\n-\n-\n'

stdout:
-
-
-
stderr:
shopt: strict:all: invalid shell option name
shopt: strict_arith: invalid shell option name
dash38 shopt allows for backward compatibility like bash

stdout:
status=0
stderr:
dash: 3: shopt: not found
dash: 8: shopt: not found
ash38 shopt allows for backward compatibility like bash

[ash stdout] Expected 'shopt -u nullglob\nstatus=0\nshopt -s nullglob\n' Got 'status=0\n'

stdout:
status=0
stderr:
ash: shopt: not found
ash: shopt: not found
zsh38 shopt allows for backward compatibility like bash

[zsh stdout] Expected 'shopt -u nullglob\nstatus=0\nshopt -s nullglob\n' Got 'status=0\n'

stdout:
status=0
stderr:
zsh: command not found: shopt
zsh: command not found: shopt
mksh38 shopt allows for backward compatibility like bash

stdout:
status=0
stderr:
mksh: <stdin>[3]: shopt: not found
mksh: <stdin>[8]: shopt: not found
ksh38 shopt allows for backward compatibility like bash

[ksh stdout] Expected 'shopt -u nullglob\nstatus=0\nshopt -s nullglob\n' Got 'status=0\n'

stdout:
status=0
stderr:
E: ksh: <stdin>[3]: shopt: inaccessible or not found
E: ksh: <stdin>[8]: shopt: inaccessible or not found
toysh38 shopt allows for backward compatibility like bash

[toysh stdout] Expected 'shopt -u nullglob\nstatus=0\nshopt -s nullglob\n' Got 'status=0\n'

stdout:
status=0
stderr:
set: bad -o errexit
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sush38 shopt allows for backward compatibility like bash

[sush stdout] Expected 'shopt -u nullglob\nstatus=0\nshopt -s nullglob\n' Got 'nullglob off\nstatus=0\nnullglob on\n'

stdout:
nullglob        off
status=0
nullglob        on
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name
bash39 shopt -p validates option names

stdout:
shopt -u nullglob
shopt -u failglob
status=1
nullglob off
failglob off
status=1
stderr:
bash: line 1: shopt: invalid: invalid shell option name
bash: line 3: shopt: invalid: invalid shell option name
dash39 shopt -p validates option names

stdout:
status=127
status=127
stderr:
dash: 1: shopt: not found
dash: 3: shopt: not found
ash39 shopt -p validates option names

[ash stdout] Expected 'status=2\nstatus=2\n', got 'status=127\nstatus=127\n'

stdout:
status=127
status=127
stderr:
ash: shopt: not found
ash: shopt: not found
zsh39 shopt -p validates option names

[zsh stdout] Expected 'status=2\nstatus=2\n', got 'status=127\n'
[zsh status] Expected 0, got 1

stdout:
status=127
stderr:
zsh: command not found: shopt
zsh: command not found: shopt
zsh: read-only variable: status
mksh39 shopt -p validates option names

stdout:
status=127
status=127
stderr:
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[3]: shopt: not found
ksh39 shopt -p validates option names

[ksh stdout] Expected 'status=2\nstatus=2\n', got 'status=127\nstatus=127\n'

stdout:
status=127
status=127
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
E: ksh: <stdin>[3]: shopt: inaccessible or not found
toysh39 shopt -p validates option names

[toysh stdout] Expected 'status=2\nstatus=2\n', got 'status=127\nstatus=127\n'

stdout:
status=127
status=127
stderr:
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sush39 shopt -p validates option names

[sush stdout] Expected 'status=2\nstatus=2\n', got 'status=1\nstatus=1\n'

stdout:
status=1
status=1
stderr:
sush: shopt: nullglob: invalid shell option name
shopt: usage: shopt [-su] [optname ...]
sush: shopt: nullglob: invalid shell option name
shopt: usage: shopt [-su] [optname ...]
brush39 shopt -p validates option names

[brush stdout] Expected 'status=2\nstatus=2\n', got 'shopt -u nullglob\nshopt -u failglob\nstatus=1\nnullglob off\nfailglob off\nstatus=0\n'

stdout:
shopt -u nullglob
shopt -u failglob
status=1
nullglob off
failglob off
status=0
stderr:
shopt: invalid: invalid shell option name
shopt: invalid: invalid shell option name
bash40 shopt -p -o validates option names

stdout:
set +o errexit
set +o nounset
status=1
stderr:
bash: line 1: shopt: invalid: invalid option name
dash40 shopt -p -o validates option names

stdout:
status=127
stderr:
dash: 1: shopt: not found
ash40 shopt -p -o validates option names

[ash stdout] Expected 'set +o errexit\nstatus=2\n', got 'status=127\n'

stdout:
status=127
stderr:
ash: shopt: not found
zsh40 shopt -p -o validates option names

[zsh stdout] Expected 'set +o errexit\nstatus=2\n', got 'status=127\n'

stdout:
status=127
stderr:
zsh: command not found: shopt
mksh40 shopt -p -o validates option names

stdout:
status=127
stderr:
mksh: <stdin>[1]: shopt: not found
ksh40 shopt -p -o validates option names

[ksh stdout] Expected 'set +o errexit\nstatus=2\n', got 'status=127\n'

stdout:
status=127
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
toysh40 shopt -p -o validates option names

[toysh stdout] Expected 'set +o errexit\nstatus=2\n', got 'status=127\n'

stdout:
status=127
stderr:
sh: shopt: No such file or directory
sush40 shopt -p -o validates option names

[sush stdout] Expected 'set +o errexit\nstatus=2\n', got 'status=0\n'

stdout:
status=0
stderr:
sush: shopt: errexit: invalid shell option name
brush40 shopt -p -o validates option names

[brush stdout] Expected 'set +o errexit\nstatus=2\n', got 'set +o errexit\nset +o nounset\nstatus=1\n'

stdout:
set +o errexit
set +o nounset
status=1
stderr:
shopt: invalid: invalid shell option name
bash41 stubbed out bash options

stdout:
1
0
0
0
stderr:
bash: line 1: shopt: ignore_shopt_not_impl: invalid shell option name
bash: line 3: shopt: foo: invalid shell option name
dash41 stubbed out bash options

stdout:
127
127
127
127
stderr:
dash: 1: shopt: not found
dash: 3: shopt: not found
dash: 3: shopt: not found
dash: 3: shopt: not found
dash: 3: shopt: not found
ash41 stubbed out bash options

[ash stdout] Expected '2\n0\n0\n0\n', got '127\n127\n127\n127\n'

stdout:
127
127
127
127
stderr:
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
zsh41 stubbed out bash options

[zsh stdout] Expected '2\n0\n0\n0\n', got '127\n127\n127\n127\n'

stdout:
127
127
127
127
stderr:
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
mksh41 stubbed out bash options

stdout:
127
127
127
127
stderr:
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[5]: shopt: not found
mksh: <stdin>[5]: shopt: not found
mksh: <stdin>[5]: shopt: not found
mksh: <stdin>[5]: shopt: not found
ksh41 stubbed out bash options

[ksh stdout] Expected '2\n0\n0\n0\n', got '127\n127\n127\n127\n'

stdout:
127
127
127
127
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
E: ksh: <stdin>[5]: shopt: inaccessible or not found
E: ksh: <stdin>[5]: shopt: inaccessible or not found
E: ksh: <stdin>[5]: shopt: inaccessible or not found
E: ksh: <stdin>[5]: shopt: inaccessible or not found
toysh41 stubbed out bash options

[toysh stdout] Expected '2\n0\n0\n0\n', got '127\n127\n127\n127\n'

stdout:
127
127
127
127
stderr:
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sh: shopt: No such file or directory
sush41 stubbed out bash options

[sush stdout] Expected '2\n0\n0\n0\n', got '1\n1\n1\n1\n'

stdout:
1
1
1
1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: shopt: ignore_shopt_not_impl: not supported yet
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: shopt: foo: not supported yet
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: shopt: autocd: not supported yet
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: shopt: cdable_vars: not supported yet
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: shopt: checkwinsize: not supported yet
brush41 stubbed out bash options

[brush stdout] Expected '2\n0\n0\n0\n', got '1\n0\n0\n0\n'

stdout:
1
0
0
0
stderr:
shopt: ignore_shopt_not_impl: invalid shell option name
shopt: foo: invalid shell option name
bash42 shopt -s nounset works in YSH, not in bash

stdout:
status=1
nounset off
stderr:
bash: line 7: shopt: nounset: invalid shell option name
dash42 shopt -s nounset works in YSH, not in bash

stdout:
N-I
stderr:
ash42 shopt -s nounset works in YSH, not in bash

[ash stdout] Expected 'status=0\nset -o nounset\n', got 'status=127\nnounset off\n'

stdout:
status=127
nounset off
stderr:
ash: shopt: not found
zsh42 shopt -s nounset works in YSH, not in bash

[zsh stdout] Expected 'status=0\nset -o nounset\n', got 'status=127\nnounset off\n'

stdout:
status=127
nounset off
stderr:
zsh: command not found: shopt
mksh42 shopt -s nounset works in YSH, not in bash

stdout:
N-I
stderr:
ksh42 shopt -s nounset works in YSH, not in bash

[ksh stdout] Expected 'status=0\nset -o nounset\n', got 'status=127\nemacs on markdirs off nounset off trackall on\n'

stdout:
status=127
emacs on markdirs off nounset off trackall on
stderr:
E: ksh: <stdin>[7]: shopt: inaccessible or not found
toysh42 shopt -s nounset works in YSH, not in bash

[toysh stdout] Expected 'status=0\nset -o nounset\n', got ''
[toysh status] Expected 0, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush42 shopt -s nounset works in YSH, not in bash

[sush stdout] Expected 'status=0\nset -o nounset\n', got 'status=1\n'

stdout:
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: shopt: nounset: not supported yet
brush42 shopt -s nounset works in YSH, not in bash

[brush stdout] Expected 'status=0\nset -o nounset\n', got 'status=1\nnounset off\n'

stdout:
status=1
nounset off
stderr:
shopt: nounset: invalid shell option name
bash43 Unimplemented options - print, query, set, unset

stdout:
shopt -u xpg_echo
q=1
shopt -s xpg_echo
shopt -u xpg_echo
p=1
noflag=1
set=1
stderr:
dash43 Unimplemented options - print, query, set, unset

stdout:
stderr: 
ash43 Unimplemented options - print, query, set, unset

[ash stdout] Expected 'q=2\np=2\nnoflag=2\nset=1\n', got 'q=127\np=127\nnoflag=127\nset=127\n'

stdout:
q=127
p=127
noflag=127
set=127
stderr:
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
zsh43 Unimplemented options - print, query, set, unset

[zsh stdout] Expected 'q=2\np=2\nnoflag=2\nset=1\n', got 'q=127\np=127\nnoflag=127\nset=127\n'

stdout:
q=127
p=127
noflag=127
set=127
stderr:
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
mksh43 Unimplemented options - print, query, set, unset

stdout:
stderr: 
ksh43 Unimplemented options - print, query, set, unset

[ksh stdout] Expected 'q=2\np=2\nnoflag=2\nset=1\n', got 'q=127\np=127\nnoflag=127\nset=127\n'

stdout:
q=127
p=127
noflag=127
set=127
stderr:
E: ksh: <stdin>[5]: shopt: inaccessible or not found
E: ksh: <stdin>[6]: shopt: inaccessible or not found
E: ksh: <stdin>[8]: shopt: inaccessible or not found
E: ksh: <stdin>[9]: shopt: inaccessible or not found
E: ksh: <stdin>[11]: shopt: inaccessible or not found
E: ksh: <stdin>[12]: shopt: inaccessible or not found
E: ksh: <stdin>[15]: shopt: inaccessible or not found
E: ksh: <stdin>[18]: shopt: inaccessible or not found
toysh43 Unimplemented options - print, query, set, unset

[toysh stdout] Expected 'q=2\np=2\nnoflag=2\nset=1\n', got ''
[toysh status] Expected 0, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush43 Unimplemented options - print, query, set, unset

[sush stdout] Expected 'q=2\np=2\nnoflag=2\nset=1\n', got 'xpg_echo off\nq=0\nxpg_echo on\nxpg_echo off\np=0\nnoflag=0\nset=1\n'

stdout:
xpg_echo        off
q=0
xpg_echo        on
xpg_echo        off
p=0
noflag=0
set=1
stderr:
sush: shopt: errexit: invalid shell option name
brush43 Unimplemented options - print, query, set, unset

[brush stdout] Expected 'q=2\np=2\nnoflag=2\nset=1\n', got 'shopt -u xpg_echo\nq=1\nshopt -s xpg_echo\nshopt -u xpg_echo\np=1\nnoflag=1\nset=1\n'

stdout:
shopt -u xpg_echo
q=1
shopt -s xpg_echo
shopt -u xpg_echo
p=1
noflag=1
set=1
stderr:
dash44 Unimplemented options - OSH shopt -s ignore_shopt_not_impl

stdout:
stderr: 
ash44 Unimplemented options - OSH shopt -s ignore_shopt_not_impl

[ash stdout] Expected 'shopt -u xpg_echo\nq=1\nshopt -s xpg_echo\nshopt -u xpg_echo\np=1\nnoflag=1\nset=1\n' Got 'q=127\np=127\nnoflag=127\nset=127\n'

stdout:
q=127
p=127
noflag=127
set=127
stderr:
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
ash: shopt: not found
zsh44 Unimplemented options - OSH shopt -s ignore_shopt_not_impl

[zsh stdout] Expected 'shopt -u xpg_echo\nq=1\nshopt -s xpg_echo\nshopt -u xpg_echo\np=1\nnoflag=1\nset=1\n' Got 'q=127\np=127\nnoflag=127\nset=127\n'

stdout:
q=127
p=127
noflag=127
set=127
stderr:
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
zsh: command not found: shopt
mksh44 Unimplemented options - OSH shopt -s ignore_shopt_not_impl

stdout:
stderr: 
ksh44 Unimplemented options - OSH shopt -s ignore_shopt_not_impl

[ksh stdout] Expected 'shopt -u xpg_echo\nq=1\nshopt -s xpg_echo\nshopt -u xpg_echo\np=1\nnoflag=1\nset=1\n' Got 'q=127\np=127\nnoflag=127\nset=127\n'

stdout:
q=127
p=127
noflag=127
set=127
stderr:
E: ksh: <stdin>[3]: shopt: inaccessible or not found
E: ksh: <stdin>[7]: shopt: inaccessible or not found
E: ksh: <stdin>[8]: shopt: inaccessible or not found
E: ksh: <stdin>[10]: shopt: inaccessible or not found
E: ksh: <stdin>[11]: shopt: inaccessible or not found
E: ksh: <stdin>[13]: shopt: inaccessible or not found
E: ksh: <stdin>[14]: shopt: inaccessible or not found
E: ksh: <stdin>[17]: shopt: inaccessible or not found
E: ksh: <stdin>[20]: shopt: inaccessible or not found
toysh44 Unimplemented options - OSH shopt -s ignore_shopt_not_impl

[toysh stdout] Expected 'shopt -u xpg_echo\nq=1\nshopt -s xpg_echo\nshopt -u xpg_echo\np=1\nnoflag=1\nset=1\n' Got ''
[toysh status] Expected 0, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush44 Unimplemented options - OSH shopt -s ignore_shopt_not_impl

[sush stdout] Expected 'shopt -u xpg_echo\nq=1\nshopt -s xpg_echo\nshopt -u xpg_echo\np=1\nnoflag=1\nset=1\n' Got 'xpg_echo off\nq=0\nxpg_echo on\nxpg_echo off\np=0\nnoflag=0\nset=1\n'

stdout:
xpg_echo        off
q=0
xpg_echo        on
xpg_echo        off
p=0
noflag=0
set=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: shopt: ignore_shopt_not_impl: not supported yet
sush: shopt: errexit: invalid shell option name
dash45 shopt -p exit code (regression)

stdout:
stderr: 
ash45 shopt -p exit code (regression)

[ash stdout] Expected 'status=0\n', got 'status=127\n'

stdout:
status=127
stderr:
ash: shopt: not found
zsh45 shopt -p exit code (regression)

[zsh stdout] Expected 'status=0\n', got 'status=127\n'

stdout:
status=127
stderr:
zsh: command not found: shopt
mksh45 shopt -p exit code (regression)

stdout:
stderr: 
ksh45 shopt -p exit code (regression)

[ksh stdout] Expected 'status=0\n', got 'status=127\n'

stdout:
status=127
stderr:
E: ksh: <stdin>[3]: shopt: inaccessible or not found
toysh45 shopt -p exit code (regression)

[toysh stdout] Expected 'status=0\n', got ''
[toysh status] Expected 0, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
bash46 no-ops not shown by shopt -p

stdout:
shopt -u xpg_echo
--
stderr:
toysh46 no-ops not shown by shopt -p

[toysh stdout] Expected '--\n', got '\n'

stdout:
stderr: 
sh: shopt: No such file or directory
sush46 no-ops not shown by shopt -p

[sush stdout] Expected '--\n', got 'xpg_echo off\n--\n'

stdout:
xpg_echo        off
--
stderr:
brush46 no-ops not shown by shopt -p

[brush stdout] Expected '--\n', got 'shopt -u xpg_echo\n--\n'

stdout:
shopt -u xpg_echo
--
stderr: