status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 34 | 29 | 30 | 32 | 35 | 35 | 13 | 12 | 14 | 35 | |
ok | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
N-I | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
BUG | 1 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 0 | 3 | 0 | 0 | 22 | 23 | 21 | 0 | |
total | 35 | 35 | 35 | 35 | 35 | 35 | 35 | 35 | 35 | 35 | |
case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | errexit aborts early |
details | details | details | |||||||||
1 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | errexit for nonexistent command |
details | details | details | |||||||||
2 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | errexit aborts early on pipeline |
details | details | details | |||||||||
3 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | errexit with { } |
details | details | details | |||||||||
4 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | errexit with if and { } |
5 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | errexit with || |
6 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | errexit with && |
7 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | errexit test && -- from gen-module-init |
8 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | errexit test && and fail |
details | details | details | |||||||||
9 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | More && || |
details | details | ||||||||||
10 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | errexit and loop |
11 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | errexit and brace group { } |
12 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | errexit and time { } |
details | details | details | |||||||||
13 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | errexit with ! |
details | |||||||||||
14 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | errexit with ! and ; |
details | |||||||||||
15 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | errexit with while/until |
details | |||||||||||
16 | pass | N-I | N-I | pass | pass | pass | FAIL | FAIL | FAIL | pass | errexit with (( )) |
details | details | details | details | details | |||||||
17 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | errexit with subshell |
details | details | details | |||||||||
18 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | set -o errexit while it's being ignored (moot with strict_errexit) |
details | details | details | |||||||||
19 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | set +o errexit while it's being ignored (moot with strict_errexit) |
20 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | set +o errexit with 2 levels of ignored |
21 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | setting errexit in a subshell works but doesn't affect parent shell |
details | details | details | |||||||||
22 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | set errexit while it's ignored in a subshell (moot with strict_errexit) |
details | details | details | |||||||||
23 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | shopt -s strict:all || true while errexit is on |
details | details | details | |||||||||
24 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | errexit double guard |
details | details | details | |||||||||
25 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | background processes respect errexit |
details | details | details | |||||||||
26 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | pipeline process respects errexit |
details | details | details | |||||||||
27 | pass | ok | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | simple command / assign - redir failure DOES respect errexit |
details | details | details | details | ||||||||
28 | pass | BUG | BUG | pass | pass | pass | FAIL | FAIL | FAIL | pass | simple command that's an alias - redir failure checked |
details | details | details | details | details | |||||||
29 | pass | N-I | ok | pass | pass | pass | FAIL | FAIL | FAIL | pass | bash atoms [[ (( - redir failure checked |
details | details | details | details | details | |||||||
30 | pass | BUG | BUG | pass | pass | pass | FAIL | FAIL | FAIL | pass | brace group - redir failure checked |
details | details | details | details | details | |||||||
31 | pass | BUG | BUG | pass | pass | pass | FAIL | FAIL | FAIL | pass | while loop - redirect failure checked |
details | details | details | details | details | |||||||
32 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | set -e enabled in function (regression) |
details | |||||||||||
33 | BUG | pass | pass | FAIL | pass | pass | FAIL | FAIL | pass | pass | set -e in function #2 |
details | details | details | details | ||||||||
34 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Command sub exit code is lost |
269 passed, 2 OK, 3 not implemented, 7 BUG, 69 failed, 0 timeouts, 0 cases skipped
toysh | 0 errexit aborts early [toysh stdout] Expected u'', got 'done\n' [toysh status] Expected 1, got 0 stdout: donestderr: set: bad -o errexit |
sush | 0 errexit aborts early [sush stdout] Expected u'', got 'done\n' [sush status] Expected 1, got 0 stdout: donestderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name |
brush | 0 errexit aborts early [brush stdout] Expected u'', got 'done\n' [brush status] Expected 1, got 0 stdout: donestderr: |
toysh | 1 errexit for nonexistent command [toysh stdout] Expected u'', got 'done\n' [toysh status] Expected 127, got 0 stdout: donestderr: set: bad -o errexit sh: nonexistent__ZZ: No such file or directory |
sush | 1 errexit for nonexistent command [sush stdout] Expected u'', got 'done\n' [sush status] Expected 127, got 0 stdout: donestderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: nonexistent__ZZ: command not found |
brush | 1 errexit for nonexistent command [brush stdout] Expected u'', got 'done\n' [brush status] Expected 127, got 0 stdout: donestderr: nonexistent__ZZ: command not found |
toysh | 2 errexit aborts early on pipeline [toysh stdout] Expected u'', got 'two\n' [toysh status] Expected 1, got 0 stdout: twostderr: set: bad -o errexit |
sush | 2 errexit aborts early on pipeline [sush stdout] Expected u'', got 'two\n' [sush status] Expected 1, got 0 stdout: twostderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name |
brush | 2 errexit aborts early on pipeline [brush stdout] Expected u'', got 'two\n' [brush status] Expected 1, got 0 stdout: twostderr: |
toysh | 3 errexit with { } [toysh stdout] Expected 'one\n', got 'one\ntwo\n' [toysh status] Expected 1, got 0 stdout: one twostderr: set: bad -o errexit |
sush | 3 errexit with { } [sush stdout] Expected 'one\n', got 'one\ntwo\n' [sush status] Expected 1, got 0 stdout: one twostderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name |
brush | 3 errexit with { } [brush stdout] Expected 'one\n', got 'one\ntwo\n' [brush status] Expected 1, got 0 stdout: one twostderr: |
toysh | 8 errexit test && and fail [toysh stdout] Expected u'', got 'status=1\n' [toysh status] Expected 1, got 0 stdout: status=1stderr: set: bad -o errexit |
sush | 8 errexit test && and fail [sush stdout] Expected u'', got 'status=1\n' [sush status] Expected 1, got 0 stdout: status=1stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name |
brush | 8 errexit test && and fail [brush stdout] Expected u'', got 'status=1\n' [brush status] Expected 1, got 0 stdout: status=1stderr: |
toysh | 9 More && || [toysh stdout] Expected 'group\nstatus=1\n\nsubshell\nstatus=42\n\nstatus=1\n' Got 'group\nbad\nstatus=0\n\nsubshell\nbad\nstatus=0\n\nbad\nstatus=0\n' stdout: group bad status=0 subshell bad status=0 bad status=0stderr: set: bad -e set: bad -e set: bad -e |
brush | 9 More && || [brush stdout] Expected 'group\nstatus=1\n\nsubshell\nstatus=42\n\nstatus=1\n' Got 'group\nbad\nstatus=0\n\nsubshell\nbad\nstatus=0\n\nbad\nstatus=0\n' stdout: group bad status=0 subshell bad status=0 bad status=0stderr: |
toysh | 12 errexit and time { } [toysh status] Expected 1, got 0 stdout: status=1stderr: set: bad -o errexit real 0.000 user 0.814 sys 0.000 |
sush | 12 errexit and time { } [sush status] Expected 1, got 0 stdout: status=1stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name real 0m0.000008s user 0m0.000000s sys 0m0.000010s |
brush | 12 errexit and time { } [brush status] Expected 1, got 0 stdout: status=1stderr: real 0m0.000s user 0m0.000s sys 0m0.000s |
zsh | 13 errexit with ! [zsh stdout] Expected 'one\ntwo\nthree\n', got 'one\n' [zsh status] Expected 0, got 1 stdout: onestderr: |
zsh | 14 errexit with ! and ; [zsh stdout] Expected 'one\ntwo\nthree\n', got 'one\n' [zsh status] Expected 0, got 1 stdout: onestderr: |
sush | 15 errexit with while/until [sush status] Expected 0, got 2 stdout: okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: do sush: break: only meaningful in a `for', `while', or `until' loop /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: Unexpected token: done |
dash | 16 errexit with (( )) stdout: stderr: dash: 3: i++: not found |
ash | 16 errexit with (( )) stdout: stderr: ash: i++: not found |
toysh | 16 errexit with (( )) [toysh stdout] Expected u'', got 'done\n' [toysh status] Expected 1, got 0 stdout: donestderr: set: bad -o errexit |
sush | 16 errexit with (( )) [sush stdout] Expected u'', got 'done\n' [sush status] Expected 1, got 0 stdout: donestderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name |
brush | 16 errexit with (( )) [brush stdout] Expected u'', got 'done\n' [brush status] Expected 1, got 0 stdout: donestderr: |
toysh | 17 errexit with subshell [toysh stdout] Expected 'one\n', got 'one\ntwo\nthree\n' [toysh status] Expected 1, got 0 stdout: one two threestderr: set: bad -o errexit |
sush | 17 errexit with subshell [sush stdout] Expected 'one\n', got 'one\ntwo\nthree\n' [sush status] Expected 1, got 0 stdout: one two threestderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name |
brush | 17 errexit with subshell [brush stdout] Expected 'one\n', got 'one\ntwo\nthree\n' [brush status] Expected 1, got 0 stdout: one two threestderr: |
toysh | 18 set -o errexit while it's being ignored (moot with strict_errexit) [toysh stdout] Expected '1\n2\n3\n4\n5\n6\n', got '1\n2\n3\n4\n5\n6\n7\n' [toysh status] Expected 1, got 0 stdout: 1 2 3 4 5 6 7stderr: set: bad -o errexit set: bad -o errexit |
sush | 18 set -o errexit while it's being ignored (moot with strict_errexit) [sush stdout] Expected '1\n2\n3\n4\n5\n6\n', got '1\n2\n3\n4\n5\n6\n7\n' [sush status] Expected 1, got 0 stdout: 1 2 3 4 5 6 7stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: errexit: invalid option name |
brush | 18 set -o errexit while it's being ignored (moot with strict_errexit) [brush stdout] Expected '1\n2\n3\n4\n5\n6\n', got '1\n2\n3\n4\n5\n6\n7\n' [brush status] Expected 1, got 0 stdout: 1 2 3 4 5 6 7stderr: |
toysh | 21 setting errexit in a subshell works but doesn't affect parent shell [toysh stdout] Expected '1\n2\n3\n5\n6\n', got '1\n2\n3\n4\n5\n6\n' stdout: 1 2 3 4 5 6stderr: set: bad -o errexit |
sush | 21 setting errexit in a subshell works but doesn't affect parent shell [sush stdout] Expected '1\n2\n3\n5\n6\n', got '1\n2\n3\n4\n5\n6\n' stdout: 1 2 3 4 5 6stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name |
brush | 21 setting errexit in a subshell works but doesn't affect parent shell [brush stdout] Expected '1\n2\n3\n5\n6\n', got '1\n2\n3\n4\n5\n6\n' stdout: 1 2 3 4 5 6stderr: |
toysh | 22 set errexit while it's ignored in a subshell (moot with strict_errexit) [toysh stdout] Expected '1\n2\n3\n4\n5\n6\n', got '1\n2\n3\n4\n5\n6\n7\n' [toysh status] Expected 1, got 0 stdout: 1 2 3 4 5 6 7stderr: set: bad -o errexit set: bad -o errexit |
sush | 22 set errexit while it's ignored in a subshell (moot with strict_errexit) [sush stdout] Expected '1\n2\n3\n4\n5\n6\n', got '1\n2\n3\n4\n5\n6\n7\n' [sush status] Expected 1, got 0 stdout: 1 2 3 4 5 6 7stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: errexit: invalid option name |
brush | 22 set errexit while it's ignored in a subshell (moot with strict_errexit) [brush stdout] Expected '1\n2\n3\n4\n5\n6\n', got '1\n2\n3\n4\n5\n6\n7\n' [brush status] Expected 1, got 0 stdout: 1 2 3 4 5 6 7stderr: |
toysh | 23 shopt -s strict:all || true while errexit is on [toysh stdout] Expected 'one\n', got 'one\ntwo\n' [toysh status] Expected 1, got 0 stdout: one twostderr: set: bad -o errexit sh: shopt: No such file or directory |
sush | 23 shopt -s strict:all || true while errexit is on [sush stdout] Expected 'one\n', got 'one\ntwo\n' [sush status] Expected 1, got 0 stdout: one twostderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: shopt: strict:all: not supported yet |
brush | 23 shopt -s strict:all || true while errexit is on [brush stdout] Expected 'one\n', got 'one\ntwo\n' [brush status] Expected 1, got 0 stdout: one twostderr: shopt: strict:all: invalid shell option name |
toysh | 24 errexit double guard [toysh stdout] Expected 'true\n', got '' [toysh status] Expected 1, got 2 stdout: stderr: set: bad -o errexit main: line 2: sh: syntax error: fi |
sush | 24 errexit double guard [sush stdout] Expected 'true\n', got 'true\ndone\n' [sush status] Expected 1, got 0 stdout: true donestderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name |
brush | 24 errexit double guard [brush stdout] Expected 'true\n', got 'true\ndone\n' [brush status] Expected 1, got 0 stdout: true donestderr: |
toysh | 25 background processes respect errexit [toysh stdout] Expected 'one\n', got 'one\ntwo\n' [toysh status] Expected 1, got 0 stdout: one twostderr: set: bad -o errexit |
sush | 25 background processes respect errexit [sush stdout] Expected 'one\n', got 'one\ntwo\n' [sush status] Expected 1, got 42 stdout: one twostderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name 4023859 |
brush | 25 background processes respect errexit [brush stdout] Expected 'one\n', got 'one\ntwo\n' [brush status] Expected 1, got 0 stdout: one twostderr: |
toysh | 26 pipeline process respects errexit [toysh stdout] Expected 'one\n[three]\n', got 'one\ntwo\nfour\n' [toysh status] Expected 1, got 0 stdout: one two fourstderr: set: bad -o errexit sh: read: No such file or directory |
sush | 26 pipeline process respects errexit [sush stdout] Expected 'one\n[three]\n', got 'one\ntwo\n[three]\n[four]\nfour\n' [sush status] Expected 1, got 0 stdout: one two [three] [four] fourstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name |
brush | 26 pipeline process respects errexit [brush stdout] Expected 'one\n[three]\n', got 'one\ntwo\n[three]\n[four]\nfour\n' [brush status] Expected 1, got 0 stdout: one two [three] [four] fourstderr: |
dash | 27 simple command / assign - redir failure DOES respect errexit stdout: status=2 status=2 status=2stderr: dash: 3: cannot create /: Is a directory dash: 3: cannot create /: Is a directory dash: 3: cannot create /: Is a directory |
toysh | 27 simple command / assign - redir failure DOES respect errexit [toysh stdout] Expected 'status=1\nstatus=1\nstatus=1\n', got 'builtin status=1\nstatus=0\nextern status=1\nstatus=0\nassign status=1\nstatus=0\n' stdout: builtin status=1 status=0 extern status=1 status=0 assign status=1 status=0stderr: set: bad -o errexit sh: /: Is a directory set: bad -o errexit sh: /: Is a directory set: bad -o errexit sh: /: Is a directory |
sush | 27 simple command / assign - redir failure DOES respect errexit [sush stdout] Expected 'status=1\nstatus=1\nstatus=1\n', got 'builtin status=1\nstatus=0\nextern status=1\nstatus=0\nassign status=2\nstatus=0\n' stdout: builtin status=1 status=0 extern status=1 status=0 assign status=2 status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: /: is a directory /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: /: is a directory /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: errexit: invalid option name |
brush | 27 simple command / assign - redir failure DOES respect errexit [brush stdout] Expected 'status=1\nstatus=1\nstatus=1\n', got 'builtin status=1\nstatus=0\nextern status=1\nstatus=0\nassign status=1\nstatus=0\n' stdout: builtin status=1 status=0 extern status=1 status=0 assign status=1 status=0stderr: error: failed to redirect to /: Is a directory (os error 21) error: failed to redirect to /: Is a directory (os error 21) error: failed to redirect to /: Is a directory (os error 21) |
dash | 28 simple command that's an alias - redir failure checked stdout: alias status=2 status=0stderr: dash: 2: shopt: not found dash: 6: cannot create /: Is a directory |
ash | 28 simple command that's an alias - redir failure checked stdout: alias status=1 status=0stderr: ash: shopt: not found ash: can't create /: Is a directory |
toysh | 28 simple command that's an alias - redir failure checked [toysh stdout] Expected 'status=1\n', got 'alias status=1\nstatus=0\n' stdout: alias status=1 status=0stderr: sh: shopt: No such file or directory set: bad -o errexit sh: alias: No such file or directory sh: /: Is a directory |
sush | 28 simple command that's an alias - redir failure checked [sush stdout] Expected 'status=1\n', got 'alias status=2\nstatus=0\n' stdout: alias status=2 status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: Unexpected token: } |
brush | 28 simple command that's an alias - redir failure checked [brush stdout] Expected 'status=1\n', got 'alias status=1\nstatus=0\n' stdout: alias status=1 status=0stderr: error: failed to redirect to /: Is a directory (os error 21) |
dash | 29 bash atoms [[ (( - redir failure checked stdout: stderr: |
ash | 29 bash atoms [[ (( - redir failure checked stdout: status=1 status=2stderr: ash: can't create /: Is a directory ash: can't create /: Is a directory |
toysh | 29 bash atoms [[ (( - redir failure checked [toysh stdout] Expected 'status=1\nstatus=1\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 29 bash atoms [[ (( - redir failure checked [sush stdout] Expected 'status=1\nstatus=1\n', got 'dbracket status=1\nstatus=0\ndparen status=2\nstatus=0\n' stdout: dbracket status=1 status=0 dparen status=2 status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: /: is a directory /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: > |
brush | 29 bash atoms [[ (( - redir failure checked [brush stdout] Expected 'status=1\nstatus=1\n', got 'status=2\nstatus=1\n' stdout: status=2 status=1stderr: [31mERROR[0m main: syntax error near token `>' (line 3 col 13) [31mERROR[0m error: failed to redirect to /: Is a directory (os error 21) |
dash | 30 brace group - redir failure checked stdout: status=2 should not get herestderr: dash: 3: cannot open not_exist.txt: No such file |
ash | 30 brace group - redir failure checked stdout: status=1 should not get herestderr: ash: can't open not_exist.txt: no such file |
toysh | 30 brace group - redir failure checked [toysh stdout] Expected '', got 'status=1\nshould not get here\n' [toysh status] Expected 1, got 0 stdout: status=1 should not get herestderr: set: bad -o errexit sh: not_exist.txt: No such file or directory |
sush | 30 brace group - redir failure checked [sush stdout] Expected '', got 'status=1\nshould not get here\n' [sush status] Expected 1, got 0 stdout: status=1 should not get herestderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: not_exist.txt: entity not found |
brush | 30 brace group - redir failure checked [brush stdout] Expected '', got 'status=0\nshould not get here\n' [brush status] Expected 1, got 0 stdout: status=0 should not get herestderr: [31mERROR[0m error: failed to redirect to /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/errexit.test.sh.4017881/30-brush/not_exist.txt: No such file or directory (os error 2) |
dash | 31 while loop - redirect failure checked stdout: status=2 should not get herestderr: dash: 3: cannot open not_exist.txt: No such file |
ash | 31 while loop - redirect failure checked stdout: status=1 should not get herestderr: ash: can't open not_exist.txt: no such file |
toysh | 31 while loop - redirect failure checked [toysh stdout] Expected '', got 'status=1\nshould not get here\n' [toysh status] Expected 1, got 0 stdout: status=1 should not get herestderr: set: bad -o errexit sh: not_exist.txt: No such file or directory |
sush | 31 while loop - redirect failure checked [sush stdout] Expected '', got 'status=1\nshould not get here\n' [sush status] Expected 1, got 0 stdout: status=1 should not get herestderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: not_exist.txt: entity not found |
brush | 31 while loop - redirect failure checked [brush stdout] Expected '', got 'status=0\nshould not get here\n' [brush status] Expected 1, got 0 stdout: status=0 should not get herestderr: [31mERROR[0m error: failed to redirect to /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/errexit.test.sh.4017881/31-brush/not_exist.txt: No such file or directory (os error 2) |
sush | 32 set -e enabled in function (regression) [sush stdout] Expected 'should be executed\nshould be executed\n', got '' [sush status] Expected 0, got 1 stdout: stderr: |
bash | 33 set -e in function #2 stdout: stderr: |
zsh | 33 set -e in function #2 [zsh stdout] Expected 'should be executed\nshould be executed\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: |
toysh | 33 set -e in function #2 [toysh stdout] Expected 'should be executed\nshould be executed\n', got 'should be executed\n' stdout: should be executedstderr: sh: foo: No such file or directory |
sush | 33 set -e in function #2 [sush stdout] Expected 'should be executed\nshould be executed\n', got '' [sush status] Expected 0, got 1 stdout: stderr: |