Results for sh-options.test.sh

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

Details on runs that didn't PASS

bash0 $- with -c

stdout:
huBc
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:
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:
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
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
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:
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
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:
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:
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:
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 --
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:
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:
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
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:
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:
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 ...]
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: >|
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
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$=3741826\nBASHPID=3741826\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:/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:/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:/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:/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$=3741826\nBASHPID=3741826\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:/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:/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:/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:/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$=3741826\nBASHPID=3741826\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:/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:/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:/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:/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
$=3741826
BASHPID=3741826
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:/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:/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:/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:/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
$=3741826
BASHPID=3741826
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:/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:/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:/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:/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
$=3741826
BASHPID=3741826
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:/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:/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:/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:/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: 
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:
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.3725256/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.3725256/32-sush/vars-sush.txt
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: 
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)
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
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
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
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
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
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
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
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:
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:
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
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: