spec test index / oilshell.org
| status | dash | bash | mksh | osh | |
| pass | 11 | 12 | 9 | 14 | |
| ok | 4 | 3 | 5 | 1 | |
| BUG | 0 | 0 | 1 | 0 | |
| total | 15 | 15 | 15 | 15 | |
| case | dash | bash | mksh | osh | description | 
| 0 | pass | pass | BUG | pass | Incomplete Function | 
| details | |||||
| 1 | pass | pass | ok | pass | Incomplete Function 2 | 
| details | |||||
| 2 | pass | pass | ok | pass | Bad function | 
| details | |||||
| 3 | pass | ok | pass | ok | Unbraced function body. | 
| details | details | ||||
| 4 | pass | pass | pass | pass | Function with spaces, to see if ( and ) are separate tokens. | 
| 5 | pass | pass | pass | pass | subshell function | 
| 6 | pass | pass | pass | pass | Hard case, function with } token in it | 
| 7 | ok | pass | pass | pass | . in function name | 
| details | |||||
| 8 | ok | pass | ok | pass | = in function name | 
| details | details | ||||
| 9 | pass | ok | ok | pass | Function name with $ | 
| details | details | ||||
| 10 | pass | ok | ok | pass | Function name with command sub | 
| details | details | ||||
| 11 | ok | pass | pass | pass | Function name with ! | 
| details | |||||
| 12 | ok | pass | pass | pass | Function name with - | 
| details | |||||
| 13 | pass | pass | pass | pass | Break after ) is OK. | 
| 14 | pass | pass | pass | pass | Nested definition | 
46 passed, 13 OK, 0 not implemented, 1 BUG, 0 failed, 0 timeouts, 0 cases skipped
| mksh | 0 Incomplete Function stdout: stderr:  | 
| mksh | 1 Incomplete Function 2 stdout: stderr: mksh: <stdin>[2]: syntax error: '{' unmatched
 | 
| mksh | 2 Bad function stdout: stderr: mksh: <stdin>[1]: syntax error: 'ls' unexpected  | 
| bash | 3 Unbraced function body. stdout: stderr: bash: line 1: syntax error near unexpected token `ls' bash: line 1: `one_line() ls; one_line;'  | 
| osh | 3 Unbraced function body. stdout: stderr:   one_line() ls; one_line;
             ^~
[ stdin ]:1: Unexpected word while parsing compound command (Id.Word_Compound)
 | 
| dash | 7 . in function name stdout: stderr: dash: 1: Syntax error: Bad function name  | 
| dash | 8 = in function name stdout: stderr: dash: 1: Syntax error: Bad function name  | 
| mksh | 8 = in function name stdout: stderr: mksh: <stdin>[1]: func-name=ext: invalid function name  | 
| bash | 9 Function name with $ stdout: stderr: bash: line 1: `$foo-bar': not a valid identifier  | 
| mksh | 9 Function name with $ stdout: stderr: mksh: <stdin>[1]: $foo-bar: invalid function name  | 
| bash | 10 Function name with command sub stdout: stderr: bash: line 1: `foo-$(echo hi)': not a valid identifier  | 
| mksh | 10 Function name with command sub stdout: stderr: mksh: <stdin>[1]: foo-$(echo hi ): invalid function name  | 
| dash | 11 Function name with ! stdout: stderr: dash: 1: Syntax error: Bad function name  | 
| dash | 12 Function name with - stdout: stderr: dash: 1: Syntax error: Bad function name  |