Results for errexit-oil.test.sh

statusdashbashmkshashoshosh_ALT
pass 611791818
ok 303000
N-I 978900
total181818181818
casedashbashmkshashoshosh_ALTdescription
0ok pass ok pass pass pass command sub: errexit is NOT inherited and outer shell keeps going
detailsdetails
1pass pass pass N-I pass pass command sub with inherit_errexit only
details
2N-I pass N-I pass pass pass command sub with more_errexit only
detailsdetails
3N-I N-I N-I N-I pass pass command sub with inherit_errexit and more_errexit
detailsdetailsdetailsdetails
4pass pass pass pass pass pass command sub: last command fails but keeps going and exit code is 0
5ok pass ok pass pass pass global assignment with command sub: middle command fails
detailsdetails
6pass pass pass pass pass pass global assignment with command sub: last command fails and it aborts
7ok pass ok pass pass pass local: middle command fails and keeps going
detailsdetails
8pass pass pass pass pass pass local: last command fails and also keeps going
9N-I N-I N-I N-I pass pass local and inherit_errexit / more_errexit
detailsdetailsdetailsdetails
10pass pass pass pass pass pass global assignment when last status is failure
11pass pass pass pass pass pass global assignment when last status is failure
12N-I N-I N-I N-I pass pass strict_errexit prevents errexit from being disabled in function
detailsdetailsdetailsdetails
13N-I N-I N-I N-I pass pass strict_errexit prevents errexit from being disabled in brace group
detailsdetailsdetailsdetails
14N-I N-I N-I N-I pass pass strict_errexit prevents errexit from being disabled in subshell
detailsdetailsdetailsdetails
15N-I N-I N-I N-I pass pass strict_errexit and ! && || if while until
detailsdetailsdetailsdetails
16N-I pass pass N-I pass pass if pipeline doesn't fail fatally
detailsdetails
17N-I N-I N-I N-I pass pass if pipeline DOES fail fatally with strict_errexit
detailsdetailsdetailsdetails
69 passed, 6 OK, 33 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

dash0 command sub: errexit is NOT inherited and outer shell keeps going

stdout:
one
parent status=0
stderr:
mksh0 command sub: errexit is NOT inherited and outer shell keeps going

stdout:
one
parent status=0
stderr:
ash1 command sub with inherit_errexit only

stdout:
zero
one two
parent status=0
stderr:
_tmp/spec-bin/ash: shopt: not found
dash2 command sub with more_errexit only

stdout:
zero
one
parent status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
mksh2 command sub with more_errexit only

stdout:
zero
one
parent status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[2]: shopt: not found
dash3 command sub with inherit_errexit and more_errexit

stdout:
zero
one
parent status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 3: shopt: not found
bash3 command sub with inherit_errexit and more_errexit

stdout:
zero
one
parent status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 3: shopt: more_errexit: invalid shell option name
mksh3 command sub with inherit_errexit and more_errexit

stdout:
zero
one
parent status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[2]: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[3]: shopt: not found
ash3 command sub with inherit_errexit and more_errexit

stdout:
zero
one two
parent status=0
stderr:
_tmp/spec-bin/ash: shopt: not found
_tmp/spec-bin/ash: shopt: not found
dash5 global assignment with command sub: middle command fails

stdout:
stderr: 
mksh5 global assignment with command sub: middle command fails

stdout:
stderr: 
dash7 local: middle command fails and keeps going

stdout:
good
status=0
one
stderr:
mksh7 local: middle command fails and keeps going

stdout:
good
status=0
one
stderr:
dash9 local and inherit_errexit / more_errexit

stdout:
good
status=0
one
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 3: shopt: not found
bash9 local and inherit_errexit / more_errexit

stdout:
good
status=0
one
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 3: shopt: more_errexit: invalid shell option name
mksh9 local and inherit_errexit / more_errexit

stdout:
good
status=0
one
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[2]: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[3]: shopt: not found
ash9 local and inherit_errexit / more_errexit

stdout:
good
status=0
one two
stderr:
_tmp/spec-bin/ash: shopt: not found
_tmp/spec-bin/ash: shopt: not found
dash12 strict_errexit prevents errexit from being disabled in function

stdout:
fun
builtin ok
external ok
fun
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 4: shopt: not found
bash12 strict_errexit prevents errexit from being disabled in function

stdout:
fun
builtin ok
external ok
fun
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 4: shopt: strict_errexit: invalid shell option name
mksh12 strict_errexit prevents errexit from being disabled in function

stdout:
fun
builtin ok
external ok
fun
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[4]: shopt: not found
ash12 strict_errexit prevents errexit from being disabled in function

stdout:
fun
builtin ok
external ok
fun
stderr:
_tmp/spec-bin/ash: shopt: not found
dash13 strict_errexit prevents errexit from being disabled in brace group

stdout:
foo
bar
foo
bar
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 3: shopt: not found
bash13 strict_errexit prevents errexit from being disabled in brace group

stdout:
foo
bar
foo
bar
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 3: shopt: strict_errexit: invalid shell option name
mksh13 strict_errexit prevents errexit from being disabled in brace group

stdout:
foo
bar
foo
bar
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[3]: shopt: not found
ash13 strict_errexit prevents errexit from being disabled in brace group

stdout:
foo
bar
foo
bar
stderr:
_tmp/spec-bin/ash: shopt: not found
dash14 strict_errexit prevents errexit from being disabled in subshell

stdout:
foo
bar
foo
bar
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 4: shopt: not found
bash14 strict_errexit prevents errexit from being disabled in subshell

stdout:
foo
bar
foo
bar
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 4: shopt: strict_errexit: invalid shell option name
mksh14 strict_errexit prevents errexit from being disabled in subshell

stdout:
foo
bar
foo
bar
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[2]: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[4]: shopt: not found
ash14 strict_errexit prevents errexit from being disabled in subshell

stdout:
foo
bar
foo
bar
stderr:
_tmp/spec-bin/ash: shopt: not found
_tmp/spec-bin/ash: shopt: not found
dash15 strict_errexit and ! && || if while until

stdout:
fun
should not get here
bang=0
--
fun
or=0
--
fun
and=0
--
fun
if=0
--
fun
while
while=0
--
fun
until=0
--
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
bash15 strict_errexit and ! && || if while until

stdout:
fun
should not get here
bang=0
--
fun
or=0
--
fun
and=0
--
fun
if=0
--
fun
while
while=0
--
fun
until=0
--
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 1: shopt: strict_errexit: invalid shell option name
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 1: shopt: strict_errexit: invalid shell option name
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 1: shopt: strict_errexit: invalid shell option name
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 1: shopt: strict_errexit: invalid shell option name
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 1: shopt: strict_errexit: invalid shell option name
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 1: shopt: strict_errexit: invalid shell option name
mksh15 strict_errexit and ! && || if while until

stdout:
fun
should not get here
bang=0
--
fun
or=0
--
fun
and=0
--
fun
if=0
--
fun
while
while=0
--
fun
until=0
--
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: shopt: not found
ash15 strict_errexit and ! && || if while until

stdout:
fun
should not get here
bang=0
--
fun
or=0
--
fun
and=0
--
fun
if=0
--
fun
while
while=0
--
fun
until=0
--
stderr:
_tmp/spec-bin/ash: shopt: not found
_tmp/spec-bin/ash: shopt: not found
_tmp/spec-bin/ash: shopt: not found
_tmp/spec-bin/ash: shopt: not found
_tmp/spec-bin/ash: shopt: not found
_tmp/spec-bin/ash: shopt: not found
dash16 if pipeline doesn't fail fatally

stdout:
stderr: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: set: Illegal option -o pipefail
ash16 if pipeline doesn't fail fatally

stdout:
stderr: 
_tmp/spec-bin/ash: syntax error: bad substitution
dash17 if pipeline DOES fail fatally with strict_errexit

stdout:
stderr: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: set: Illegal option -o pipefail
bash17 if pipeline DOES fail fatally with strict_errexit

stdout:
! false ok
done
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 3: shopt: strict_errexit: invalid shell option name
ls: cannot access '/nonexistent': No such file or directory
mksh17 if pipeline DOES fail fatally with strict_errexit

stdout:
! false ok
done
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[3]: shopt: not found
ls: cannot access '/nonexistent': No such file or directory
ash17 if pipeline DOES fail fatally with strict_errexit

stdout:
! false ok
done
stderr:
_tmp/spec-bin/ash: shopt: not found
ls: cannot access '/nonexistent': No such file or directory