errexit-osh () { run-file errexit-osh "$@" } run-file () { local spec_name=$1; shift; sh-spec spec/$spec_name.test.sh --compare-shells --oils-bin-dir $PWD/bin "$@" }
spec test index / oilshell.org
77 passed, 6 OK, 82 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped
dash | 0 command sub: errexit is NOT inherited and outer shell keeps going stdout: one parent status=0stderr: |
mksh | 0 command sub: errexit is NOT inherited and outer shell keeps going stdout: one parent status=0stderr: |
ash | 1 command sub with inherit_errexit only stdout: zero one two parent status=0stderr: ash: shopt: not found |
bash | 2 strict_errexit and assignment builtins (local, export, readonly ...) stdout: x=hi ---stderr: bash: line 2: shopt: strict_errexit: invalid shell option name |
dash | 2 strict_errexit and assignment builtins (local, export, readonly ...) stdout: x=hi ---stderr: dash: 2: shopt: not found |
mksh | 2 strict_errexit and assignment builtins (local, export, readonly ...) stdout: x=hi ---stderr: mksh: <stdin>[2]: shopt: not found |
ash | 2 strict_errexit and assignment builtins (local, export, readonly ...) stdout: x=hi ---stderr: ash: shopt: not found |
bash | 3 strict_errexit and command sub in export / readonly stdout: stderr: |
dash | 3 strict_errexit and command sub in export / readonly stdout: stderr: |
mksh | 3 strict_errexit and command sub in export / readonly stdout: stderr: |
ash | 3 strict_errexit and command sub in export / readonly stdout: stderr: |
bash | 4 strict_errexit disallows pipeline stdout: 1 onestderr: bash: line 2: shopt: strict_errexit: invalid shell option name |
dash | 4 strict_errexit disallows pipeline stdout: 1 onestderr: dash: 2: shopt: not found |
mksh | 4 strict_errexit disallows pipeline stdout: 1 onestderr: mksh: <stdin>[2]: shopt: not found |
ash | 4 strict_errexit disallows pipeline stdout: 1 onestderr: ash: shopt: not found |
bash | 6 strict_errexit without errexit proc stdout: myproc myprocstderr: bash: line 6: shopt: strict_errexit: invalid shell option name |
dash | 6 strict_errexit without errexit proc stdout: myproc myprocstderr: dash: 6: shopt: not found |
mksh | 6 strict_errexit without errexit proc stdout: myproc myprocstderr: mksh: <stdin>[6]: shopt: not found |
ash | 6 strict_errexit without errexit proc stdout: myproc myprocstderr: ash: shopt: not found |
bash | 7 strict_errexit without errexit proc / command sub stdout: before x= okstderr: bash: line 1: shopt: strict_errexit: invalid shell option name |
dash | 7 strict_errexit without errexit proc / command sub stdout: before x= okstderr: dash: 1: shopt: not found |
mksh | 7 strict_errexit without errexit proc / command sub stdout: before x= okstderr: mksh: <stdin>[1]: shopt: not found |
ash | 7 strict_errexit without errexit proc / command sub stdout: before x= okstderr: ash: shopt: not found |
bash | 8 strict_errexit and errexit disabled stdout: stderr: |
dash | 8 strict_errexit and errexit disabled stdout: stderr: |
mksh | 8 strict_errexit and errexit disabled stdout: stderr: |
ash | 8 strict_errexit and errexit disabled stdout: stderr: |
dash | 9 command sub with command_sub_errexit only stdout: zero one parent status=0stderr: dash: 2: shopt: not found |
mksh | 9 command sub with command_sub_errexit only stdout: zero one parent status=0stderr: mksh: <stdin>[2]: shopt: not found |
bash | 10 command_sub_errexit stops at first error stdout: stderr: |
dash | 10 command_sub_errexit stops at first error stdout: stderr: |
mksh | 10 command_sub_errexit stops at first error stdout: stderr: |
ash | 10 command_sub_errexit stops at first error stdout: stderr: |
bash | 11 command sub with inherit_errexit and command_sub_errexit stdout: zero one parent status=0stderr: bash: line 4: shopt: command_sub_errexit: invalid shell option name |
dash | 11 command sub with inherit_errexit and command_sub_errexit stdout: zero one parent status=0stderr: dash: 3: shopt: not found dash: 4: shopt: not found |
mksh | 11 command sub with inherit_errexit and command_sub_errexit stdout: zero one parent status=0stderr: mksh: <stdin>[3]: shopt: not found mksh: <stdin>[4]: shopt: not found |
ash | 11 command sub with inherit_errexit and command_sub_errexit stdout: zero one two parent status=0stderr: ash: shopt: not found ash: shopt: not found |
dash | 13 global assignment with command sub: middle command fails stdout: stderr: |
mksh | 13 global assignment with command sub: middle command fails stdout: stderr: |
dash | 15 local: middle command fails and keeps going stdout: good status=0 onestderr: |
mksh | 15 local: middle command fails and keeps going stdout: good status=0 onestderr: |
bash | 17 local and inherit_errexit / command_sub_errexit stdout: good status=0 onestderr: bash: line 3: shopt: command_sub_errexit: invalid shell option name |
dash | 17 local and inherit_errexit / command_sub_errexit stdout: good status=0 onestderr: dash: 2: shopt: not found dash: 3: shopt: not found |
mksh | 17 local and inherit_errexit / command_sub_errexit stdout: good status=0 onestderr: mksh: <stdin>[2]: shopt: not found mksh: <stdin>[3]: shopt: not found |
ash | 17 local and inherit_errexit / command_sub_errexit stdout: good status=0 one twostderr: ash: shopt: not found ash: shopt: not found |
bash | 19 strict_errexit prevents errexit from being disabled in function stdout: fun builtin ok external ok funstderr: bash: line 6: shopt: strict_errexit: invalid shell option name |
dash | 19 strict_errexit prevents errexit from being disabled in function stdout: fun builtin ok external ok funstderr: dash: 6: shopt: not found |
mksh | 19 strict_errexit prevents errexit from being disabled in function stdout: fun builtin ok external ok funstderr: mksh: <stdin>[6]: shopt: not found |
ash | 19 strict_errexit prevents errexit from being disabled in function stdout: fun builtin ok external ok funstderr: ash: shopt: not found |
bash | 20 strict_errexit prevents errexit from being disabled in brace group stdout: foo bar foo barstderr: bash: line 4: shopt: strict_errexit: invalid shell option name |
dash | 20 strict_errexit prevents errexit from being disabled in brace group stdout: foo bar foo barstderr: dash: 4: shopt: not found |
mksh | 20 strict_errexit prevents errexit from being disabled in brace group stdout: foo bar foo barstderr: mksh: <stdin>[4]: shopt: not found |
ash | 20 strict_errexit prevents errexit from being disabled in brace group stdout: foo bar foo barstderr: ash: shopt: not found |
bash | 21 strict_errexit prevents errexit from being disabled in subshell stdout: foo bar foo barstderr: bash: line 6: shopt: strict_errexit: invalid shell option name |
dash | 21 strict_errexit prevents errexit from being disabled in subshell stdout: foo bar foo barstderr: dash: 2: shopt: not found dash: 6: shopt: not found |
mksh | 21 strict_errexit prevents errexit from being disabled in subshell stdout: foo bar foo barstderr: mksh: <stdin>[2]: shopt: not found mksh: <stdin>[6]: shopt: not found |
ash | 21 strict_errexit prevents errexit from being disabled in subshell stdout: foo bar foo barstderr: ash: shopt: not found ash: shopt: not found |
bash | 22 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: bash: line 2: shopt: strict_errexit: invalid shell option name bash: line 2: shopt: strict_errexit: invalid shell option name bash: line 2: shopt: strict_errexit: invalid shell option name bash: line 2: shopt: strict_errexit: invalid shell option name bash: line 2: shopt: strict_errexit: invalid shell option name bash: line 2: shopt: strict_errexit: invalid shell option name |
dash | 22 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: dash: 2: shopt: not found dash: 2: shopt: not found dash: 2: shopt: not found dash: 2: shopt: not found dash: 2: shopt: not found dash: 2: shopt: not found |
mksh | 22 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: mksh: shopt: not found mksh: shopt: not found mksh: shopt: not found mksh: shopt: not found mksh: shopt: not found mksh: shopt: not found |
ash | 22 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: ash: shopt: not found ash: shopt: not found ash: shopt: not found ash: shopt: not found ash: shopt: not found ash: shopt: not found |
dash | 23 if pipeline doesn't fail fatally stdout: stderr: dash: 2: set: Illegal option -o pipefail |
bash | 25 command sub errexit preserves exit code stdout: before afterstderr: bash: line 2: shopt: command_sub_errexit: invalid shell option name |
dash | 25 command sub errexit preserves exit code stdout: before afterstderr: dash: 2: shopt: not found |
mksh | 25 command sub errexit preserves exit code stdout: before afterstderr: mksh: <stdin>[2]: shopt: not found |
ash | 25 command sub errexit preserves exit code stdout: before afterstderr: ash: shopt: not found |
bash | 26 What's in strict:all? stdout: one two should not get herestderr: bash: line 2: shopt: strict:all: invalid shell option name date: invalid date ‘%x’ |
dash | 26 What's in strict:all? stdout: one two should not get herestderr: dash: 2: shopt: not found date: invalid date ‘%x’ |
mksh | 26 What's in strict:all? stdout: one two should not get herestderr: mksh: <stdin>[2]: shopt: not found date: invalid date ‘%x’ |
ash | 26 What's in strict:all? stdout: one two should not get herestderr: ash: shopt: not found date: invalid date ‘%x’ |
bash | 27 command_sub_errexit causes local d=$(date %x) to fail stdout: histderr: bash: line 3: shopt: command_sub_errexit: invalid shell option name date: invalid date ‘%x’ |
dash | 27 command_sub_errexit causes local d=$(date %x) to fail stdout: histderr: dash: 2: shopt: not found dash: 3: shopt: not found date: invalid date ‘%x’ |
mksh | 27 command_sub_errexit causes local d=$(date %x) to fail stdout: histderr: mksh: <stdin>[2]: shopt: not found mksh: <stdin>[3]: shopt: not found date: invalid date ‘%x’ |
ash | 27 command_sub_errexit causes local d=$(date %x) to fail stdout: histderr: ash: shopt: not found ash: shopt: not found date: invalid date ‘%x’ |
bash | 28 command_sub_errexit and command sub in array stdout: ['one', '', 'two']stderr: bash: line 5: shopt: command_sub_errexit: invalid shell option name date: invalid date ‘%x’ |
dash | 28 command_sub_errexit and command sub in array stdout: stderr: |
mksh | 28 command_sub_errexit and command sub in array stdout: stderr: |
ash | 28 command_sub_errexit and command sub in array stdout: stderr: |
dash | 29 OLD: command sub in conditional, with inherit_errexit stdout: 1 A donestderr: dash: 2: shopt: not found |
mksh | 29 OLD: command sub in conditional, with inherit_errexit stdout: 1 A donestderr: mksh: <stdin>[2]: shopt: not found |
bash | 31 Regression stdout: stderr: |
dash | 31 Regression stdout: stderr: |
mksh | 31 Regression stdout: stderr: |
ash | 31 Regression stdout: stderr: |
bash | 32 ShAssignment used as conditional stdout: yes yes yesstderr: bash: line 33: shopt: strict_errexit: invalid shell option name |
dash | 32 ShAssignment used as conditional stdout: yes yes yesstderr: dash: 33: shopt: not found |
mksh | 32 ShAssignment used as conditional stdout: yes yes yesstderr: mksh: <stdin>[33]: shopt: not found |
ash | 32 ShAssignment used as conditional stdout: yes yes yesstderr: ash: shopt: not found |