spec test index / oilshell.org
| case | dash | bash | mksh | osh | osh_ALT | osh-byterun | description |
| 0 | pass | pass | pass | pass | pass | pass | Bad var sub |
| 1 | pass | ok | ok | pass | pass | pass | Bad braced var sub -- not allowed |
| details | details | ||||||
| 2 | BUG | BUG | BUG | pass | pass | pass | Bad var sub caught at parse time |
| details | details | details | |||||
| 3 | pass | pass | ok | pass | pass | pass | Incomplete while |
| details | |||||||
| 4 | pass | pass | ok | pass | pass | pass | Incomplete for |
| details | |||||||
| 5 | pass | pass | ok | pass | pass | pass | Incomplete if |
| details | |||||||
| 6 | pass | pass | ok | pass | pass | pass | do unexpected |
| details | |||||||
| 7 | pass | pass | ok | pass | pass | pass | } is a parse error |
| details | |||||||
| 8 | BUG | pass | ok | pass | pass | pass | { is its own word, needs a space |
| details | details | ||||||
| 9 | pass | pass | pass | pass | pass | pass | } on the second line |
| 10 | pass | BUG | ok | pass | pass | pass | Invalid for loop variable name |
| details | details | ||||||
| 11 | pass | pass | pass | pass | pass | pass | bad var name globally isn't parsed like an assignment |
| 12 | pass | ok | ok | pass | pass | pass | bad var name in export |
| details | details | ||||||
| 13 | BUG | BUG | BUG | pass | pass | pass | bad var name in local |
| details | details | details | |||||
| 14 | pass | pass | ok | pass | pass | pass | misplaced parentheses are not a subshell |
| details | |||||||
| 15 | pass | pass | ok | pass | pass | pass | incomplete command sub |
| details | |||||||
| 16 | pass | pass | ok | pass | pass | pass | incomplete backticks |
| details | |||||||
| 17 | pass | pass | ok | pass | pass | pass | misplaced ;; |
| details | |||||||
| 18 | N-I | pass | ok | pass | pass | pass | empty clause in [[ |
| details | details |
89 passed, 16 ok, 1 known unimplemented, 8 known bugs, 0 failed, 0 skipped
| bash | 1 Bad braced var sub -- not allowed stdout: stderr: _tmp/spec-bin/bash: line 1: ${%}: bad substitution
|
| mksh | 1 Bad braced var sub -- not allowed stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: ${%}: bad substitution
|
| dash | 2 Bad var sub caught at parse time stdout: okstderr: |
| bash | 2 Bad var sub caught at parse time stdout: okstderr: |
| mksh | 2 Bad var sub caught at parse time stdout: okstderr: |
| mksh | 3 Incomplete while stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: 'while' unmatched |
| mksh | 4 Incomplete for stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: 'newline' unexpected |
| mksh | 5 Incomplete if stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: 'if' unmatched |
| mksh | 6 do unexpected stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: 'do' unexpected |
| mksh | 7 } is a parse error stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: '}' unexpected |
| dash | 8 { is its own word, needs a space stdout: status=127stderr: _tmp/spec-bin/dash: 1: {ls: not found
|
| mksh | 8 { is its own word, needs a space stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: '}' unexpected |
| bash | 10 Invalid for loop variable name stdout: donestderr: _tmp/spec-bin/bash: line 3: `i.j': not a valid identifier |
| mksh | 10 Invalid for loop variable name stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: for: bad identifier |
| bash | 12 bad var name in export stdout: stderr: _tmp/spec-bin/bash: line 1: export: `FOO-BAR=foo': not a valid identifier |
| mksh | 12 bad var name in export stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: export: FOO-BAR=foo: is not an identifier |
| dash | 13 bad var name in local stdout: stderr: |
| bash | 13 bad var name in local stdout: stderr: |
| mksh | 13 bad var name in local stdout: stderr: |
| mksh | 14 misplaced parentheses are not a subshell stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: '(' unexpected
|
| mksh | 15 incomplete command sub stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: '(' unmatched
|
| mksh | 16 incomplete backticks stdout: stderr: _tmp/spec-bin/mksh: <stdin>[2]: no closing quote |
| mksh | 17 misplaced ;; stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: ';;' unexpected |
| dash | 18 empty clause in [[ stdout: stderr: _tmp/spec-bin/dash: 1: [[: not found |
| mksh | 18 empty clause in [[ stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: '||' expression expected |