spec test index / oilshell.org
83 passed, 10 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 | 7 strict_errexit detects proc in && || ! stdout: failing should not get here failing should not get herestderr: bash: line 2: shopt: strict_errexit: invalid shell option name |
dash | 7 strict_errexit detects proc in && || ! stdout: failing should not get here failing should not get herestderr: dash: 2: shopt: not found |
mksh | 7 strict_errexit detects proc in && || ! stdout: failing should not get here failing should not get herestderr: mksh: <stdin>[2]: shopt: not found |
ash | 7 strict_errexit detects proc in && || ! stdout: failing should not get here failing should not get herestderr: ash: shopt: not found |
bash | 8 strict_errexit without errexit proc stdout: myproc myprocstderr: bash: line 6: shopt: strict_errexit: invalid shell option name |
dash | 8 strict_errexit without errexit proc stdout: myproc myprocstderr: dash: 6: shopt: not found |
mksh | 8 strict_errexit without errexit proc stdout: myproc myprocstderr: mksh: <stdin>[6]: shopt: not found |
ash | 8 strict_errexit without errexit proc stdout: myproc myprocstderr: ash: shopt: not found |
bash | 9 strict_errexit without errexit proc / command sub stdout: before x= okstderr: bash: line 1: shopt: strict_errexit: invalid shell option name |
dash | 9 strict_errexit without errexit proc / command sub stdout: before x= okstderr: dash: 1: shopt: not found |
mksh | 9 strict_errexit without errexit proc / command sub stdout: before x= okstderr: mksh: <stdin>[1]: shopt: not found |
ash | 9 strict_errexit without errexit proc / command sub stdout: before x= okstderr: ash: shopt: not found |
bash | 10 strict_errexit and errexit disabled stdout: stderr: |
dash | 10 strict_errexit and errexit disabled stdout: stderr: |
mksh | 10 strict_errexit and errexit disabled stdout: stderr: |
ash | 10 strict_errexit and errexit disabled stdout: stderr: |
dash | 11 command sub with command_sub_errexit only stdout: zero one parent status=0stderr: dash: 2: shopt: not found |
mksh | 11 command sub with command_sub_errexit only stdout: zero one parent status=0stderr: mksh: <stdin>[2]: shopt: not found |
bash | 12 command_sub_errexit stops at first error stdout: stderr: |
dash | 12 command_sub_errexit stops at first error stdout: stderr: |
mksh | 12 command_sub_errexit stops at first error stdout: stderr: |
ash | 12 command_sub_errexit stops at first error stdout: stderr: |
bash | 13 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 | 13 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 | 13 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 | 13 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 | 15 global assignment with command sub: middle command fails stdout: stderr: |
mksh | 15 global assignment with command sub: middle command fails stdout: stderr: |
dash | 17 local: middle command fails and keeps going stdout: good status=0 onestderr: |
mksh | 17 local: middle command fails and keeps going stdout: good status=0 onestderr: |
bash | 19 local and inherit_errexit / command_sub_errexit stdout: good status=0 onestderr: bash: line 3: shopt: command_sub_errexit: invalid shell option name |
dash | 19 local and inherit_errexit / command_sub_errexit stdout: good status=0 onestderr: dash: 2: shopt: not found dash: 3: shopt: not found |
mksh | 19 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 | 19 local and inherit_errexit / command_sub_errexit stdout: good status=0 one twostderr: ash: shopt: not found ash: shopt: not found |
bash | 21 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 | 21 strict_errexit prevents errexit from being disabled in function stdout: fun builtin ok external ok funstderr: dash: 6: shopt: not found |
mksh | 21 strict_errexit prevents errexit from being disabled in function stdout: fun builtin ok external ok funstderr: mksh: <stdin>[6]: shopt: not found |
ash | 21 strict_errexit prevents errexit from being disabled in function stdout: fun builtin ok external ok funstderr: ash: shopt: not found |
bash | 22 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 | 22 strict_errexit prevents errexit from being disabled in brace group stdout: foo bar foo barstderr: dash: 4: shopt: not found |
mksh | 22 strict_errexit prevents errexit from being disabled in brace group stdout: foo bar foo barstderr: mksh: <stdin>[4]: shopt: not found |
ash | 22 strict_errexit prevents errexit from being disabled in brace group stdout: foo bar foo barstderr: ash: shopt: not found |
bash | 23 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 | 23 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 | 23 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 | 23 strict_errexit prevents errexit from being disabled in subshell stdout: foo bar foo barstderr: ash: shopt: not found ash: shopt: not found |
bash | 24 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 | 24 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 | 24 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 | 24 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 | 25 if pipeline doesn't fail fatally stdout: stderr: dash: 2: set: Illegal option -o pipefail |
bash | 27 command sub errexit preserves exit code stdout: before afterstderr: bash: line 2: shopt: command_sub_errexit: invalid shell option name |
dash | 27 command sub errexit preserves exit code stdout: before afterstderr: dash: 2: shopt: not found |
mksh | 27 command sub errexit preserves exit code stdout: before afterstderr: mksh: <stdin>[2]: shopt: not found |
ash | 27 command sub errexit preserves exit code stdout: before afterstderr: ash: shopt: not found |
bash | 28 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 | 28 What's in strict:all? stdout: one two should not get herestderr: dash: 2: shopt: not found date: invalid date ‘%x’ |
mksh | 28 What's in strict:all? stdout: one two should not get herestderr: mksh: <stdin>[2]: shopt: not found date: invalid date ‘%x’ |
ash | 28 What's in strict:all? stdout: one two should not get herestderr: ash: shopt: not found date: invalid date ‘%x’ |
bash | 29 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 | 29 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 | 29 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 | 29 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 | 30 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 | 30 command_sub_errexit and command sub in array stdout: stderr: |
mksh | 30 command_sub_errexit and command sub in array stdout: stderr: |
ash | 30 command_sub_errexit and command sub in array stdout: stderr: |
dash | 31 OLD: command sub in conditional, with inherit_errexit stdout: 1 A donestderr: dash: 2: shopt: not found |
mksh | 31 OLD: command sub in conditional, with inherit_errexit stdout: 1 A donestderr: mksh: <stdin>[2]: shopt: not found |
bash | 33 Regression stdout: stderr: |
dash | 33 Regression stdout: stderr: |
mksh | 33 Regression stdout: stderr: |
ash | 33 Regression stdout: stderr: |
bash | 34 ShAssignment used as conditional stdout: yes yes yesstderr: bash: line 33: shopt: strict_errexit: invalid shell option name |
dash | 34 ShAssignment used as conditional stdout: yes yes yesstderr: dash: 33: shopt: not found |
mksh | 34 ShAssignment used as conditional stdout: yes yes yesstderr: mksh: <stdin>[33]: shopt: not found |
ash | 34 ShAssignment used as conditional stdout: yes yes yesstderr: ash: shopt: not found |