| case | dash | bash | mksh | osh | osh_ALT | description |
| 0 | pass | pass | BUG | pass | pass | Incomplete Function |
| details | ||||||
| 1 | pass | pass | ok | pass | pass | Incomplete Function 2 |
| details | ||||||
| 2 | pass | pass | ok | pass | pass | Bad function |
| details | ||||||
| 3 | pass | ok | pass | ok | ok | Unbraced function body. |
| details | details | details | ||||
| 4 | pass | pass | pass | pass | pass | Function with spaces, to see if ( and ) are separate tokens. |
| 5 | pass | pass | pass | pass | pass | subshell function |
| 6 | pass | pass | pass | pass | pass | Hard case, function with } token in it |
| 7 | ok | pass | pass | pass | pass | . in function name |
| details | ||||||
| 8 | ok | pass | ok | pass | pass | = in function name |
| details | details | |||||
| 9 | pass | ok | ok | pass | pass | Function name with $ |
| details | details | |||||
| 10 | ok | pass | pass | pass | pass | Function name with ! |
| details | ||||||
| 11 | ok | pass | pass | pass | pass | Function name with - |
| details | ||||||
| 12 | pass | pass | pass | pass | pass | Break after ) is OK. |
| 13 | pass | pass | pass | pass | pass | Nested definition |
57 passed, 12 ok, 0 known unimplemented, 1 known bugs, 0 failed, 0 skipped
| mksh | 0 Incomplete Function stdout: stderr: |
| mksh | 1 Incomplete Function 2 stdout: stderr: /bin/mksh: <stdin>[2]: syntax error: '{' unmatched
|
| mksh | 2 Bad function stdout: stderr: /bin/mksh: <stdin>[1]: syntax error: 'ls' unexpected |
| bash | 3 Unbraced function body. stdout: stderr: /bin/bash: line 1: syntax error near unexpected token `ls' /bin/bash: line 1: `one_line() ls; one_line;' |
| osh | 3 Unbraced function body. stdout: stderr: Line 1 of '<stdin>'
one_line() ls; one_line;
^~
Expected a compound command (e.g. for while if case), got (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:ls span_id:4))])
---
Line 0 of '<unknown>'
<no position info for token>
Error parsing AndOr in ParseCommandTerm
---
|
| osh_ALT | 3 Unbraced function body. stdout: stderr: Line 1 of '<stdin>'
one_line() ls; one_line;
^~
Expected a compound command (e.g. for while if case), got (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:ls span_id:4))])
---
Line 0 of '<unknown>'
<no position info for token>
Error parsing AndOr in ParseCommandTerm
---
|
| dash | 7 . in function name stdout: stderr: /bin/dash: 1: Syntax error: Bad function name |
| dash | 8 = in function name stdout: stderr: /bin/dash: 1: Syntax error: Bad function name |
| mksh | 8 = in function name stdout: stderr: /bin/mksh: <stdin>[1]: func-name=ext: invalid function name |
| bash | 9 Function name with $ stdout: stderr: /bin/bash: line 1: `foo$bar': not a valid identifier |
| mksh | 9 Function name with $ stdout: stderr: /bin/mksh: <stdin>[1]: foo$bar: invalid function name |
| dash | 10 Function name with ! stdout: stderr: /bin/dash: 1: Syntax error: Bad function name |
| dash | 11 Function name with - stdout: stderr: /bin/dash: 1: Syntax error: Bad function name |