status | bash | mksh | ksh | toysh | sush | brush | osh | |
pass | 12 | 9 | 9 | 14 | 8 | 12 | 14 | |
ok | 3 | 5 | 0 | 0 | 0 | 0 | 1 | |
BUG | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 6 | 1 | 7 | 3 | 0 | |
total | 15 | 15 | 15 | 15 | 15 | 15 | 15 | |
case | bash | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | BUG | FAIL | pass | pass | pass | pass | Incomplete Function |
details | details | |||||||
1 | pass | ok | FAIL | pass | pass | pass | pass | Incomplete Function 2 |
details | details | |||||||
2 | pass | ok | FAIL | pass | pass | pass | pass | Bad function |
details | details | |||||||
3 | ok | pass | pass | FAIL | FAIL | FAIL | ok | Unbraced function body. |
details | details | details | details | details | ||||
4 | pass | pass | pass | pass | FAIL | pass | pass | Function with spaces, to see if ( and ) are separate tokens. |
details | ||||||||
5 | pass | pass | pass | pass | pass | pass | pass | subshell function |
6 | pass | pass | pass | pass | pass | pass | pass | Hard case, function with } token in it |
7 | pass | pass | pass | pass | FAIL | pass | pass | . in function name |
details | ||||||||
8 | pass | ok | FAIL | pass | FAIL | pass | pass | = in function name |
details | details | details | ||||||
9 | ok | ok | FAIL | pass | pass | FAIL | pass | Function name with $ |
details | details | details | details | |||||
10 | ok | ok | FAIL | pass | pass | FAIL | pass | Function name with command sub |
details | details | details | details | |||||
11 | pass | pass | pass | pass | FAIL | pass | pass | Function name with ! |
details | ||||||||
12 | pass | pass | pass | pass | FAIL | pass | pass | Function name with - |
details | ||||||||
13 | pass | pass | pass | pass | FAIL | pass | pass | Break after ) is OK. |
details | ||||||||
14 | pass | pass | pass | pass | pass | pass | pass | Nested definition |
78 passed, 9 OK, 0 not implemented, 1 BUG, 17 failed, 0 timeouts, 0 cases skipped
mksh | 0 Incomplete Function stdout: stderr: |
ksh | 0 Incomplete Function [ksh status] Expected 2, got 0 stdout: stderr: |
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 '{' |
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: Unexpected token: () |
brush | 3 Unbraced function body. [brush status] Expected 0, got 2 stdout: stderr: [31mERROR[0m 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) |
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: Unexpected token: ( |
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: Unexpected token: ( /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: func-name.ext: command not found |
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: 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 |
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 |
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: |
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: Unexpected token: () |
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: Unexpected token: () |
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: Unexpected token: ( /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: fun: command not found |