| status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
| pass | 8 | 7 | 8 | 7 | 6 | 7 | 0 | 2 | 4 | 5 | |
| ok | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
| N-I | 1 | 1 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 4 | |
| BUG | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
| FAIL | 0 | 0 | 1 | 0 | 0 | 2 | 9 | 7 | 5 | 0 | |
| total | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | |
| case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
| 0 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | pass | ${##} |
| details | details | ||||||||||
| 1 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | N-I | ${###} |
| details | details | details | details | ||||||||
| 2 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | N-I | ${####} |
| details | details | details | details | ||||||||
| 3 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | N-I | ${##2} |
| details | details | details | details | ||||||||
| 4 | pass | pass | pass | pass | BUG | pass | FAIL | FAIL | FAIL | N-I | ${###2} |
| details | details | details | details | details | |||||||
| 5 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | ${1####} |
| details | |||||||||||
| 6 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | ${1#'###'} |
| details | |||||||||||
| 7 | N-I | ok | pass | ok | N-I | FAIL | FAIL | FAIL | FAIL | pass | ${#1#'###'} |
| details | details | details | details | details | details | details | details | ||||
| 8 | pass | N-I | FAIL | N-I | N-I | FAIL | FAIL | FAIL | pass | pass | Julia example from spec/oil-user-feedback |
| details | details | details | details | details | details | details |
54 passed, 2 OK, 9 not implemented, 1 BUG, 24 failed, 0 timeouts, 0 cases skipped
| toysh | 0 ${##} [toysh stdout] Expected '2\n' Got '1\n' stdout: 1stderr: set: bad -- |
| sush | 0 ${##} [sush stdout] Expected '2\n' Got '0\n' stdout: 0stderr: |
| toysh | 1 ${###} [toysh stdout] Expected '25\n' Got '1\n' stdout: 1stderr: set: bad -- |
| sush | 1 ${###} [sush stdout] Expected '25\n' Got '' [sush status] Expected 0 Got 1 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: evaluation error |
| brush | 1 ${###} [brush stdout] Expected '25\n' Got '${###}\n' stdout: ${###}
stderr: |
| osh | 1 ${###} stdout: stderr: echo ${###}
^
[ stdin ]:2: Expected } after length expression
|
| toysh | 2 ${####} [toysh stdout] Expected '25\n' Got '1\n' stdout: 1stderr: set: bad -- |
| sush | 2 ${####} [sush stdout] Expected '25\n' Got '' [sush status] Expected 0 Got 1 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: evaluation error |
| brush | 2 ${####} [brush stdout] Expected '25\n' Got '${####}\n' stdout: ${####}
stderr: |
| osh | 2 ${####} stdout: stderr: echo ${####}
^~
[ stdin ]:2: Expected } after length expression
|
| toysh | 3 ${##2} [toysh stdout] Expected '5\n' Got '' [toysh status] Expected 0 Got 1 stdout: stderr: set: bad -- main: line 2: sh: #: 2} |
| sush | 3 ${##2} [sush stdout] Expected '5\n' Got '' [sush status] Expected 0 Got 1 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${##2}': bad substitution
|
| brush | 3 ${##2} [brush stdout] Expected '5\n' Got '${##2}\n' stdout: ${##2}
stderr: |
| osh | 3 ${##2} stdout: stderr: echo ${##2}
^
[ stdin ]:2: Expected } after length expression
|
| mksh | 4 ${###2} stdout: 25stderr: |
| toysh | 4 ${###2} [toysh stdout] Expected '5\n' Got '1\n' stdout: 1stderr: set: bad -- |
| sush | 4 ${###2} [sush stdout] Expected '5\n' Got '0\n' stdout: 0stderr: |
| brush | 4 ${###2} [brush stdout] Expected '5\n' Got '${###2}\n' stdout: ${###2}
stderr: |
| osh | 4 ${###2} stdout: stderr: echo ${###2}
^
[ stdin ]:2: Expected } after length expression
|
| toysh | 5 ${1####} [toysh stdout] Expected '##\n' Got '\n' stdout: stderr: set: bad -- |
| toysh | 6 ${1#'###'} [toysh stdout] Expected '#\n' Got '\n' stdout: stderr: set: bad -- |
| bash | 7 ${#1#'###'} stdout: stderr: bash: line 2: ${#1#'###'}: bad substitution
|
| dash | 7 ${#1#'###'} stdout: 4stderr: |
| zsh | 7 ${#1#'###'} stdout: 1stderr: |
| mksh | 7 ${#1#'###'} stdout: stderr: mksh: <stdin>[2]: ${#1#"###"}: bad substitution
|
| ksh | 7 ${#1#'###'} [ksh status] Expected 2 Got 1 stdout: stderr: E: ksh: <stdin>[2]: ${#1#"###"}: bad substitution
|
| toysh | 7 ${#1#'###'} [toysh stdout] Expected u'' Got '0\n' [toysh status] Expected 2 Got 0 stdout: 0stderr: set: bad -- |
| sush | 7 ${#1#'###'} [sush stdout] Expected u'' Got '4\n' [sush status] Expected 2 Got 0 stdout: 4stderr: |
| brush | 7 ${#1#'###'} [brush stdout] Expected u'' Got '${#1####}\n' [brush status] Expected 2 Got 0 stdout: ${#1####}
stderr: |
| dash | 8 Julia example from spec/oil-user-feedback stdout: stderr: |
| ash | 8 Julia example from spec/oil-user-feedback [ash stdout] Expected 'git branch -D foo baz\n' Got '' [ash status] Expected 0 Got 2 stdout: stderr: ash: syntax error: bad function name |
| zsh | 8 Julia example from spec/oil-user-feedback stdout: stderr: |
| mksh | 8 Julia example from spec/oil-user-feedback stdout: stderr: |
| ksh | 8 Julia example from spec/oil-user-feedback [ksh stdout] Expected 'git branch -D foo baz\n' Got 'No merged branches\n' stdout: No merged branchesstderr: E: ksh: <stdin>[12]: shopt: inaccessible or not found |
| toysh | 8 Julia example from spec/oil-user-feedback [toysh stdout] Expected 'git branch -D foo baz\n' Got '' [toysh status] Expected 0 Got -6 stdout: stderr: munmap_chunk(): invalid pointer |
| sush | 8 Julia example from spec/oil-user-feedback [sush stdout] Expected 'git branch -D foo baz\n' Got ' foo\n* bar\n baz\n master\nNo merged branches\n' stdout: foo * bar baz master No merged branchesstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: syntax error near unexpected token: () /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: syntax error near unexpected token: } /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 15: git-branch-merged: command not found |