spec test index / oilshell.org
case | dash | bash | mksh | osh | description |
0 | pass | pass | pass | pass | Sourcing a script that returns at the top level |
1 | pass | ok | pass | pass | top level control flow |
details | |||||
2 | pass | ok | pass | pass | errexit and top-level control flow |
details | |||||
3 | N-I | N-I | N-I | pass | set -o strict-control-flow |
details | details | details | |||
4 | pass | ok | pass | pass | return at top level is an error |
details | |||||
5 | pass | pass | pass | pass | continue at top level is NOT an error |
6 | pass | pass | pass | pass | break at top level is NOT an error |
7 | pass | pass | pass | pass | empty argv WITHOUT strict-argv |
8 | pass | pass | pass | FAIL | strict-argv: no first word but exit code |
details | |||||
9 | N-I | N-I | N-I | pass | empty argv WITH strict-argv |
details | details | details | |||
10 | N-I | BUG | BUG | FAIL | Arrays should not be incorrectly compared like bash/mksh |
details | details | details | details | ||
11 | N-I | pass | pass | pass | automatically creating arrays WITHOUT strict-array |
details | |||||
12 | N-I | pass | pass | pass | automatically creating arrays are INDEXED, not associative |
details |
36 passed, 3 ok, 9 known unimplemented, 2 known bugs, 2 failed, 0 skipped
bash | 1 top level control flow stdout: SUBSHELL BREAK CONTINUE RETURN DONEstderr: spec/testdata/top-level-control-flow.sh: line 14: return: can only `return' from a function or sourced script spec/testdata/top-level-control-flow.sh: line 17: break: only meaningful in a `for', `while', or `until' loop spec/testdata/top-level-control-flow.sh: line 19: continue: only meaningful in a `for', `while', or `until' loop spec/testdata/top-level-control-flow.sh: line 24: return: can only `return' from a function or sourced script |
bash | 2 errexit and top-level control flow stdout: SUBSHELLstderr: spec/testdata/top-level-control-flow.sh: line 14: return: can only `return' from a function or sourced script |
dash | 3 set -o strict-control-flow stdout: stderr: _tmp/spec-bin/dash: 0: Illegal option -o strict-control-flow |
bash | 3 set -o strict-control-flow stdout: stderr: _tmp/spec-bin/bash: line 0: _tmp/spec-bin/bash: strict-control-flow: invalid option name |
mksh | 3 set -o strict-control-flow stdout: stderr: _tmp/spec-bin/mksh: strict-control-flow: bad option |
bash | 4 return at top level is an error stdout: status=1stderr: _tmp/spec-bin/bash: line 1: return: can only `return' from a function or sourced script |
osh | 8 strict-argv: no first word but exit code [osh stdout] Expected 'FALSE\n', got 'TRUE\n' stdout: TRUEstderr: |
dash | 9 empty argv WITH strict-argv stdout: stderr: _tmp/spec-bin/dash: 1: set: Illegal option -o strict-argv |
bash | 9 empty argv WITH strict-argv stdout: empty status=0stderr: _tmp/spec-bin/bash: line 1: set: strict-argv: invalid option name |
mksh | 9 empty argv WITH strict-argv stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: set: strict-argv: bad option |
dash | 10 Arrays should not be incorrectly compared like bash/mksh stdout: stderr: _tmp/spec-bin/dash: 1: Syntax error: "(" unexpected |
bash | 10 Arrays should not be incorrectly compared like bash/mksh stdout: 2 4 EQUALstderr: |
mksh | 10 Arrays should not be incorrectly compared like bash/mksh stdout: 2 4 EQUALstderr: |
osh | 10 Arrays should not be incorrectly compared like bash/mksh [osh stdout] Expected '2\n4\n', got '2\n4\nEQUAL\n' [osh status] Expected 1, got 0 stdout: 2 4 EQUALstderr: |
dash | 11 automatically creating arrays WITHOUT strict-array stdout: stderr: _tmp/spec-bin/dash: 1: undef[2]=x: not found _tmp/spec-bin/dash: 2: undef[3]=y: not found _tmp/spec-bin/dash: 3: Bad substitution |
dash | 12 automatically creating arrays are INDEXED, not associative stdout: stderr: _tmp/spec-bin/dash: 1: undef[2]=x: not found _tmp/spec-bin/dash: 2: undef[3]=y: not found _tmp/spec-bin/dash: 4: undef[bad]=zzz: not found _tmp/spec-bin/dash: 5: Bad substitution |