status | bash | mksh | ksh | toysh | sush | brush | osh | |
pass | 32 | 26 | 26 | 32 | 31 | 27 | 34 | |
ok | 1 | 3 | 0 | 0 | 0 | 0 | 0 | |
N-I | 1 | 2 | 0 | 0 | 0 | 0 | 0 | |
BUG | 0 | 3 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 8 | 2 | 3 | 7 | 0 | |
total | 34 | 34 | 34 | 34 | 34 | 34 | 34 | |
case | bash | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | pass | pass | pass | pass | pass | pass | Unquoted words |
1 | pass | pass | pass | pass | pass | pass | pass | Single-quoted |
2 | pass | pass | pass | pass | pass | pass | pass | Two single-quoted parts |
3 | pass | pass | pass | pass | pass | pass | pass | Unquoted and single quoted |
4 | pass | pass | pass | pass | pass | pass | pass | newline inside single-quoted string |
5 | pass | pass | pass | pass | pass | pass | pass | Double-quoted |
6 | pass | pass | pass | pass | pass | pass | pass | Mix of quotes in one word |
7 | pass | pass | pass | pass | pass | pass | pass | Var substitution |
8 | pass | pass | pass | pass | pass | pass | pass | Var substitution with braces |
9 | pass | pass | pass | pass | pass | pass | pass | Var substitution with braces, quoted |
10 | pass | pass | pass | pass | pass | pass | pass | Var length |
11 | pass | BUG | FAIL | pass | pass | pass | pass | Storing backslashes and then echoing them |
details | details | |||||||
12 | pass | pass | pass | pass | pass | pass | pass | Backslash escapes |
13 | pass | pass | pass | pass | pass | pass | pass | Backslash escapes inside double quoted string |
14 | pass | BUG | FAIL | pass | pass | pass | pass | C-style backslash escapes inside double quoted string |
details | details | |||||||
15 | pass | pass | pass | pass | pass | pass | pass | Literal $ |
16 | pass | pass | pass | pass | pass | pass | pass | Quoted Literal $ |
17 | pass | pass | pass | pass | pass | FAIL | pass | Line continuation |
details | ||||||||
18 | pass | pass | pass | pass | pass | pass | pass | Line continuation inside double quotes |
19 | ok | ok | FAIL | pass | FAIL | FAIL | pass | $? split over multiple lines |
details | details | details | details | details | ||||
20 | pass | ok | FAIL | pass | pass | pass | pass | Unterminated single quote |
details | details | |||||||
21 | pass | ok | FAIL | pass | pass | pass | pass | Unterminated double quote |
details | details | |||||||
22 | pass | pass | pass | pass | pass | pass | pass | Semicolon |
23 | pass | BUG | FAIL | pass | pass | pass | pass | No tab escapes within single quotes |
details | details | |||||||
24 | pass | pass | pass | pass | pass | pass | pass | $'' |
25 | pass | pass | pass | pass | pass | FAIL | pass | $'' with quotes |
details | ||||||||
26 | pass | pass | pass | pass | pass | pass | pass | $'' with newlines |
27 | pass | pass | pass | FAIL | FAIL | FAIL | pass | $'' octal escapes don't have leading 0 |
details | details | details | ||||||
28 | pass | pass | pass | pass | pass | FAIL | pass | $'' octal escapes with fewer than 3 chars |
details | ||||||||
29 | pass | N-I | FAIL | FAIL | pass | FAIL | pass | OSH allows invalid backslashes |
details | details | details | details | |||||
30 | N-I | N-I | FAIL | pass | FAIL | FAIL | pass | YSH parse errors with parse_backslash |
details | details | details | details | details | ||||
31 | pass | pass | pass | pass | pass | pass | pass | Oil allows unquoted foo\ bar |
32 | pass | pass | pass | pass | pass | pass | pass | $"" |
33 | pass | pass | pass | pass | pass | pass | pass | printf |
208 passed, 4 OK, 3 not implemented, 3 BUG, 20 failed, 0 timeouts, 0 cases skipped
mksh | 11 Storing backslashes and then echoing them stdout: \ \ \ \stderr: |
ksh | 11 Storing backslashes and then echoing them [ksh stdout] Expected '\\ \\\\\n\\ \\\\\n', got '\\ \\\n\\ \\\n' stdout: \ \ \ \stderr: |
mksh | 14 C-style backslash escapes inside double quoted string stdout: stderr: |
ksh | 14 C-style backslash escapes inside double quoted string [ksh stdout] Expected '\\a \\b\n', got '\x07 \x08\n' stdout: stderr: |
brush | 17 Line continuation [brush stdout] Expected 'foo$\n', got 'foo\n' [brush status] Expected 0, got 127 stdout: foostderr: $: command not found |
bash | 19 $? split over multiple lines stdout: 0stderr: |
mksh | 19 $? split over multiple lines stdout: 0stderr: |
ksh | 19 $? split over multiple lines [ksh stdout] Expected '$?\n', got '0\n' stdout: 0stderr: |
sush | 19 $? split over multiple lines [sush stdout] Expected '$?\n', got '0\n' stdout: 0stderr: |
brush | 19 $? split over multiple lines [brush stdout] Expected '$?\n', got '$\n' [brush status] Expected 0, got 127 stdout: $stderr: ?: command not found |
mksh | 20 Unterminated single quote stdout: stderr: mksh: <stdin>[2]: no closing quote |
ksh | 20 Unterminated single quote [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[2]: no closing quote |
mksh | 21 Unterminated double quote stdout: stderr: mksh: <stdin>[2]: no closing quote |
ksh | 21 Unterminated double quote [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[2]: no closing quote |
mksh | 23 No tab escapes within single quotes stdout: a bstderr: |
ksh | 23 No tab escapes within single quotes [ksh stdout] Expected 'a\\tb\n', got 'a\tb\n' stdout: a bstderr: |
brush | 25 $'' with quotes [brush stdout] Expected 'single \' double "\n', got '' [brush status] Expected 0, got 2 stdout: stderr: [31mERROR[0m main: unterminated single quote at line 1 col 27 (detected near line 2 column 1) |
toysh | 27 $'' octal escapes don't have leading 0 [toysh stdout] Expected ' 001 377\n', got ' 001 303 277\n' stdout: 001 303 277stderr: |
sush | 27 $'' octal escapes don't have leading 0 [sush stdout] Expected ' 001 377\n', got ' 001 303 277\n' stdout: 001 303 277stderr: |
brush | 27 $'' octal escapes don't have leading 0 [brush stdout] Expected ' 001 377\n', got ' 001 \\ 3 7 7\n' stdout: 001 \ 3 7 7stderr: |
brush | 28 $'' octal escapes with fewer than 3 chars [brush stdout] Expected ' 001 \\t \\t I \\n\n', got ' \\ 1 \\ 1 1 \\ 1 1 \\ 1 1 1 \\n\n' stdout: \ 1 \ 1 1 \ 1 1 \ 1 1 1 \nstderr: |
mksh | 29 OSH allows invalid backslashes stdout: stderr: |
ksh | 29 OSH allows invalid backslashes [ksh stdout] Expected '\\uZ \\u{03bc \\z\n', got 'uZ u{03bc z\n' stdout: uZ u{03bc zstderr: |
toysh | 29 OSH allows invalid backslashes [toysh stdout] Expected '\\uZ \\u{03bc \\z\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
brush | 29 OSH allows invalid backslashes [brush stdout] Expected '\\uZ \\u{03bc \\z\n', got '\\\\Z \\\\{03bc \\z\n' stdout: \\Z \\{03bc \zstderr: |
bash | 30 YSH parse errors with parse_backslash stdout: stderr: |
mksh | 30 YSH parse errors with parse_backslash stdout: stderr: |
ksh | 30 YSH parse errors with parse_backslash [ksh status] Expected 2, got 0 stdout: stderr: |
sush | 30 YSH parse errors with parse_backslash [sush status] Expected 2, got 0 stdout: stderr: |
brush | 30 YSH parse errors with parse_backslash [brush status] Expected 2, got 0 stdout: stderr: |