| status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
| pass | 12 | 11 | 11 | 5 | 9 | 9 | 14 | 8 | 12 | 14 | |
| ok | 3 | 4 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 1 | |
| BUG | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
| FAIL | 0 | 0 | 4 | 10 | 0 | 6 | 1 | 7 | 3 | 0 | |
| total | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | |
| case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
| 0 | pass | pass | pass | FAIL | BUG | FAIL | pass | pass | pass | pass | Incomplete Function |
| details | details | details | |||||||||
| 1 | pass | pass | pass | FAIL | ok | FAIL | pass | pass | pass | pass | Incomplete Function 2 |
| details | details | details | |||||||||
| 2 | pass | pass | pass | FAIL | ok | FAIL | pass | pass | pass | pass | Bad function |
| details | details | details | |||||||||
| 3 | ok | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | ok | Unbraced function body. |
| details | details | details | details | details | |||||||
| 4 | pass | pass | pass | FAIL | pass | pass | pass | FAIL | pass | pass | Function with spaces, to see if ( and ) are separate tokens. |
| details | details | ||||||||||
| 5 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | subshell function |
| 6 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | Hard case, function with } token in it |
| details | |||||||||||
| 7 | pass | ok | FAIL | FAIL | pass | pass | pass | FAIL | pass | pass | . in function name |
| details | details | details | details | ||||||||
| 8 | pass | ok | FAIL | FAIL | ok | FAIL | pass | FAIL | pass | pass | = in function name |
| details | details | details | details | details | details | ||||||
| 9 | ok | pass | pass | FAIL | ok | FAIL | pass | pass | FAIL | pass | Function name with $ |
| details | details | details | details | details | |||||||
| 10 | ok | pass | pass | FAIL | ok | FAIL | pass | pass | FAIL | pass | Function name with command sub |
| details | details | details | details | details | |||||||
| 11 | pass | ok | FAIL | pass | pass | pass | pass | FAIL | pass | pass | Function name with ! |
| details | details | details | |||||||||
| 12 | pass | ok | FAIL | pass | pass | pass | pass | FAIL | pass | pass | Function name with - |
| details | details | details | |||||||||
| 13 | pass | pass | pass | FAIL | pass | pass | pass | FAIL | pass | pass | Break after ) is OK. |
| details | details | ||||||||||
| 14 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Nested definition |
105 passed, 13 OK, 0 not implemented, 1 BUG, 31 failed, 0 timeouts, 0 cases skipped
| zsh | 0 Incomplete Function [zsh status] Expected 2 Got 1 stdout: stderr: zsh: parse error near `()' |
| mksh | 0 Incomplete Function stdout: stderr: |
| ksh | 0 Incomplete Function [ksh status] Expected 2 Got 0 stdout: stderr: |
| zsh | 1 Incomplete Function 2 [zsh status] Expected 2 Got 1 stdout: stderr: zsh: parse error near `{'
|
| mksh | 1 Incomplete Function 2 stdout: stderr: mksh: <stdin>[2]: syntax error: '{' unmatched
|
| ksh | 1 Incomplete Function 2 [ksh status] Expected 2 Got 1 stdout: stderr: E: ksh: <stdin>[2]: syntax error: unmatched '{'
|
| zsh | 2 Bad function [zsh status] Expected 2 Got 1 stdout: stderr: zsh: number expected |
| mksh | 2 Bad function stdout: stderr: mksh: <stdin>[1]: syntax error: 'ls' unexpected |
| ksh | 2 Bad function [ksh status] Expected 2 Got 1 stdout: stderr: E: ksh: <stdin>[1]: syntax error: unexpected 'ls' |
| bash | 3 Unbraced function body. stdout: stderr: bash: line 1: syntax error near unexpected token `ls' bash: line 1: `one_line() ls; one_line;' |
| toysh | 3 Unbraced function body. [toysh status] Expected 0 Got 2 stdout: stderr: main: line 1: sh: syntax error: ls |
| sush | 3 Unbraced function body. [sush status] Expected 0 Got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: syntax error near unexpected token: () |
| brush | 3 Unbraced function body. [brush status] Expected 0 Got 2 stdout: stderr: [31merror:[39m main: syntax error near token `ls' (line 1 col 12) |
| osh | 3 Unbraced function body. stdout: stderr: one_line() ls; one_line;
^~
[ stdin ]:1: Unexpected word while parsing compound command (Id.Word_Compound)
|
| zsh | 4 Function with spaces, to see if ( and ) are separate tokens. [zsh stdout] Expected 'in-func\n' Got '' [zsh status] Expected 0 Got 1 stdout: stderr: zsh: parse error near `}' |
| sush | 4 Function with spaces, to see if ( and ) are separate tokens. [sush stdout] Expected 'in-func\n' Got '' [sush status] Expected 0 Got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: syntax error near unexpected token: ( |
| zsh | 6 Hard case, function with } token in it [zsh stdout] Expected '}\n' Got '' [zsh status] Expected 0 Got 1 stdout: stderr: zsh: parse error near `}' |
| dash | 7 . in function name stdout: stderr: dash: 1: Syntax error: Bad function name |
| ash | 7 . in function name [ash stdout] Expected 'func-name.ext\n' Got '' [ash status] Expected 0 Got 2 stdout: stderr: ash: syntax error: bad function name |
| zsh | 7 . in function name [zsh stdout] Expected 'func-name.ext\n' Got '' [zsh status] Expected 0 Got 127 stdout: stderr: zsh: parse error near `}' zsh: command not found: func-name.ext |
| sush | 7 . in function name [sush stdout] Expected 'func-name.ext\n' Got '' [sush status] Expected 0 Got 127 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: syntax error near unexpected token: ( /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: func-name.ext: command not found |
| dash | 8 = in function name stdout: stderr: dash: 1: Syntax error: Bad function name |
| ash | 8 = in function name [ash stdout] Expected 'func-name=ext\n' Got '' [ash status] Expected 0 Got 2 stdout: stderr: ash: syntax error: bad function name |
| zsh | 8 = in function name [zsh stdout] Expected 'func-name=ext\n' Got '' [zsh status] Expected 0 Got 127 stdout: stderr: zsh: parse error near `}' zsh: command not found: func-name=ext |
| mksh | 8 = in function name stdout: stderr: mksh: <stdin>[1]: func-name=ext: invalid function name |
| ksh | 8 = in function name [ksh stdout] Expected 'func-name=ext\n' Got '' [ksh status] Expected 0 Got 1 stdout: stderr: E: ksh: <stdin>[1]: func-name=ext: invalid function name |
| sush | 8 = in function name [sush stdout] Expected 'func-name=ext\n' Got '' [sush status] Expected 0 Got 127 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: syntax error near unexpected token: ( /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: func-name=ext: command not found |
| bash | 9 Function name with $ stdout: stderr: bash: line 1: `$foo-bar': not a valid identifier |
| zsh | 9 Function name with $ [zsh status] Expected 2 Got 0 stdout: stderr: |
| mksh | 9 Function name with $ stdout: stderr: mksh: <stdin>[1]: $foo-bar: invalid function name |
| ksh | 9 Function name with $ [ksh status] Expected 2 Got 1 stdout: stderr: E: ksh: <stdin>[1]: $foo-bar: invalid function name |
| brush | 9 Function name with $ [brush status] Expected 2 Got 0 stdout: stderr: |
| bash | 10 Function name with command sub stdout: stderr: bash: line 1: `foo-$(echo hi)': not a valid identifier |
| zsh | 10 Function name with command sub [zsh status] Expected 2 Got 0 stdout: stderr: |
| mksh | 10 Function name with command sub stdout: stderr: mksh: <stdin>[1]: foo-$(echo hi ): invalid function name |
| ksh | 10 Function name with command sub [ksh status] Expected 2 Got 1 stdout: stderr: E: ksh: <stdin>[1]: foo-$(\echo hi ): invalid function name |
| brush | 10 Function name with command sub [brush status] Expected 2 Got 0 stdout: stderr: |
| dash | 11 Function name with ! stdout: stderr: dash: 1: Syntax error: Bad function name |
| ash | 11 Function name with ! [ash status] Expected 0 Got 2 stdout: stderr: ash: syntax error: bad function name |
| sush | 11 Function name with ! [sush status] Expected 0 Got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: syntax error near unexpected token: () |
| dash | 12 Function name with - stdout: stderr: dash: 1: Syntax error: Bad function name |
| ash | 12 Function name with - [ash status] Expected 0 Got 2 stdout: stderr: ash: syntax error: bad function name |
| sush | 12 Function name with - [sush status] Expected 0 Got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: syntax error near unexpected token: () |
| zsh | 13 Break after ) is OK. [zsh status] Expected 0 Got 127 stdout: hi in-funcstderr: zsh: unknown file attribute: zsh: command not found: fun |
| sush | 13 Break after ) is OK. [sush stdout] Expected 'hi\nin-func\n' Got 'in-func\n' [sush status] Expected 0 Got 127 stdout: in-funcstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: syntax error near unexpected token: ( /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: fun: command not found |