errexit () { run-file errexit "$@" } run-file () { local spec_name=$1; shift; sh-spec spec/$spec_name.test.sh --compare-shells --oils-bin-dir $PWD/bin "$@" } errexit: spec test case results

Results for errexit.test.sh

statusdashbashmkshashosh
pass 2934353035
ok 10010
N-I 20010
BUG 31030
total3535353535
casedashbashmkshashoshdescription
0pass pass pass pass pass errexit aborts early
1pass pass pass pass pass errexit for nonexistent command
2pass pass pass pass pass errexit aborts early on pipeline
3pass pass pass pass pass errexit with { }
4pass pass pass pass pass errexit with if and { }
5pass pass pass pass pass errexit with ||
6pass pass pass pass pass errexit with &&
7pass pass pass pass pass errexit test && -- from gen-module-init
8pass pass pass pass pass errexit test && and fail
9pass pass pass pass pass More && ||
10pass pass pass pass pass errexit and loop
11pass pass pass pass pass errexit and brace group { }
12pass pass pass pass pass errexit and time { }
13pass pass pass pass pass errexit with !
14pass pass pass pass pass errexit with ! and ;
15pass pass pass pass pass errexit with while/until
16N-I pass pass N-I pass errexit with (( ))
detailsdetails
17pass pass pass pass pass errexit with subshell
18pass pass pass pass pass set -o errexit while it's being ignored (moot with strict_errexit)
19pass pass pass pass pass set +o errexit while it's being ignored (moot with strict_errexit)
20pass pass pass pass pass set +o errexit with 2 levels of ignored
21pass pass pass pass pass setting errexit in a subshell works but doesn't affect parent shell
22pass pass pass pass pass set errexit while it's ignored in a subshell (moot with strict_errexit)
23pass pass pass pass pass shopt -s strict:all || true while errexit is on
24pass pass pass pass pass errexit double guard
25pass pass pass pass pass background processes respect errexit
26pass pass pass pass pass pipeline process respects errexit
27ok pass pass pass pass simple command / assign - redir failure DOES respect errexit
details
28BUG pass pass BUG pass simple command that's an alias - redir failure checked
detailsdetails
29N-I pass pass ok pass bash atoms [[ (( - redir failure checked
detailsdetails
30BUG pass pass BUG pass brace group - redir failure checked
detailsdetails
31BUG pass pass BUG pass while loop - redirect failure checked
detailsdetails
32pass pass pass pass pass set -e enabled in function (regression)
33pass BUG pass pass pass set -e in function #2
details
34pass pass pass pass pass Command sub exit code is lost
163 passed, 2 OK, 3 not implemented, 7 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

dash16 errexit with (( ))

stdout:
stderr: 
dash: 3: i++: not found
ash16 errexit with (( ))

stdout:
stderr: 
ash: i++: not found
dash27 simple command / assign - redir failure DOES respect errexit

stdout:
status=2
status=2
status=2
stderr:
dash: 3: cannot create /: Is a directory
dash: 3: cannot create /: Is a directory
dash: 3: cannot create /: Is a directory
dash28 simple command that's an alias - redir failure checked

stdout:
alias status=2
status=0
stderr:
dash: 2: shopt: not found
dash: 6: cannot create /: Is a directory
ash28 simple command that's an alias - redir failure checked

stdout:
alias status=1
status=0
stderr:
ash: shopt: not found
ash: can't create /: Is a directory
dash29 bash atoms [[ (( - redir failure checked

stdout:
stderr: 
ash29 bash atoms [[ (( - redir failure checked

stdout:
status=1
status=2
stderr:
ash: can't create /: Is a directory
ash: can't create /: Is a directory
dash30 brace group - redir failure checked

stdout:
status=2
should not get here
stderr:
dash: 3: cannot open not_exist.txt: No such file
ash30 brace group - redir failure checked

stdout:
status=1
should not get here
stderr:
ash: can't open not_exist.txt: no such file
dash31 while loop - redirect failure checked

stdout:
status=2
should not get here
stderr:
dash: 3: cannot open not_exist.txt: No such file
ash31 while loop - redirect failure checked

stdout:
status=1
should not get here
stderr:
ash: can't open not_exist.txt: no such file
bash33 set -e in function #2

stdout:
stderr: