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