28 passed, 1 OK, 4 not implemented, 5 BUG, 32 failed, 0 timeouts, 0 cases skipped
dash | 0 OSH source code doesn't have to be valid Unicode (like other shells) [dash stdout] Expected '\xce\xbc \xce\xbc \xce\xbc \xce\xbc\n--\n bc 20 bc 20 bc 20 bc 0a\n' Got '\xce\xbc \xce\xbc \xce\xbc $\xce\xbc\n--\n bc 20 bc 20 bc 20 24 bc 0a\n' stdout: μ μ μ $μ -- bc 20 bc 20 bc 20 24 bc 0astderr: |
toysh | 0 OSH source code doesn't have to be valid Unicode (like other shells) [toysh stdout] Expected '\xce\xbc \xce\xbc \xce\xbc \xce\xbc\n--\n bc 20 bc 20 bc 20 bc 0a\n' Got '\xce\xbc \xce\xbc \xce\xbc \xc3\x8e\xc2\xbc\n\n' stdout: μ μ μ μstderr: not-unicode.sh: line 1: sh: 'not-unicode.sh' is binary |
sush | 0 OSH source code doesn't have to be valid Unicode (like other shells) [sush stdout] Expected '\xce\xbc \xce\xbc \xce\xbc \xce\xbc\n--\n bc 20 bc 20 bc 20 bc 0a\n' Got '\xce\xbc \xce\xbc \xce\xbc \xce\xbc\n--\n' stdout: μ μ μ μ --stderr: |
brush | 0 OSH source code doesn't have to be valid Unicode (like other shells) [brush stdout] Expected '\xce\xbc \xce\xbc \xce\xbc \xce\xbc\n--\n bc 20 bc 20 bc 20 bc 0a\n' Got '\xce\xbc \xce\xbc \xce\xbc \xce\xbc\n--\n' stdout: μ μ μ μ --stderr: [31mERROR[0m not-unicode.sh: failed to decode UTF-8 characters (detected near line 1 column 6) |
dash | 1 Unicode escapes \u03bc \U000003bc in $'', echo -e, printf stdout: stderr: |
ash | 1 Unicode escapes \u03bc \U000003bc in $'', echo -e, printf stdout: stderr: |
toysh | 1 Unicode escapes \u03bc \U000003bc in $'', echo -e, printf [toysh stdout] Expected '\xce\xbc \xce\xbc\n\xce\xbc \xce\xbc\n\xce\xbc \xce\xbc\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 1 Unicode escapes \u03bc \U000003bc in $'', echo -e, printf [sush stdout] Expected '\xce\xbc \xce\xbc\n\xce\xbc \xce\xbc\n\xce\xbc \xce\xbc\n', got '\xce\xbc \xce\xbc\n\\u03bc \\U000003bc\n\\u03bc \\U000003bc\n' stdout: μ μ \u03bc \U000003bc \u03bc \U000003bcstderr: |
dash | 2 Max code point U+10ffff can escaped with $'' printf echo -e stdout: stderr: |
ash | 2 Max code point U+10ffff can escaped with $'' printf echo -e stdout: stderr: |
mksh | 2 Max code point U+10ffff can escaped with $'' printf echo -e stdout: '\xef\xbf\xbd' '\xef\xbf\xbd' '\xf4\x8f\xbf\xbf'stderr: |
ksh | 2 Max code point U+10ffff can escaped with $'' printf echo -e [ksh stdout] Expected "'\\xf4\\x8f\\xbf\\xbf'\n'\\xf4\\x8f\\xbf\\xbf'\n'\\xf4\\x8f\\xbf\\xbf'\n" Got "'\\xef\\xbf\\xbd'\n'\\xef\\xbf\\xbd'\n'\\xf4\\x8f\\xbf\\xbf'\n" stdout: '\xef\xbf\xbd' '\xef\xbf\xbd' '\xf4\x8f\xbf\xbf'stderr: |
toysh | 2 Max code point U+10ffff can escaped with $'' printf echo -e [toysh stdout] Expected "'\\xf4\\x8f\\xbf\\xbf'\n'\\xf4\\x8f\\xbf\\xbf'\n'\\xf4\\x8f\\xbf\\xbf'\n" Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 2 Max code point U+10ffff can escaped with $'' printf echo -e [sush stdout] Expected "'\\xf4\\x8f\\xbf\\xbf'\n'\\xf4\\x8f\\xbf\\xbf'\n'\\xf4\\x8f\\xbf\\xbf'\n" Got '' [sush status] Expected 0, got 127 [sush stderr] Found 'Traceback (most recent' stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: () Traceback (most recent call last): File "<string>", line 1, in <module> IndexError: list index out of range /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: } /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: py-repr: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: py-repr: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: py-repr: command not found |
dash | 3 $'' does NOT check that 0x110000 is too big at parse time [dash stdout] Expected "'\\xf4\\x90\\x80\\x80'\n", got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 1: Syntax error: Bad function name |
ash | 3 $'' does NOT check that 0x110000 is too big at parse time [ash stdout] Expected "'\\xf4\\x90\\x80\\x80'\n", got '' [ash status] Expected 0, got 2 stdout: stderr: ash: syntax error: bad function name |
mksh | 3 $'' does NOT check that 0x110000 is too big at parse time stdout: '\xef\xbf\xbd'stderr: |
ksh | 3 $'' does NOT check that 0x110000 is too big at parse time [ksh stdout] Expected "'\\xf4\\x90\\x80\\x80'\n", got "'\\xef\\xbf\\xbd'\n" stdout: '\xef\xbf\xbd'stderr: |
toysh | 3 $'' does NOT check that 0x110000 is too big at parse time [toysh stdout] Expected "'\\xf4\\x90\\x80\\x80'\n", got "'\\xe1\\x84\\x8000'\n" stdout: '\xe1\x84\x8000'stderr: |
sush | 3 $'' does NOT check that 0x110000 is too big at parse time [sush stdout] Expected "'\\xf4\\x90\\x80\\x80'\n", got '' [sush status] Expected 0, got 127 [sush stderr] Found 'Traceback (most recent' stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: () Traceback (most recent call last): File "<string>", line 1, in <module> IndexError: list index out of range /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: } /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: py-repr: command not found |
brush | 3 $'' does NOT check that 0x110000 is too big at parse time [brush stdout] Expected "'\\xf4\\x90\\x80\\x80'\n", got "'\\\\\\\\'\n" stdout: '\\\\'stderr: |
dash | 4 $'' does not check for surrogate range at parse time [dash stdout] Expected "'\\xed\\xb0\\x80'\n'\\xed\\xb0\\x80'\n", got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 1: Syntax error: Bad function name |
ash | 4 $'' does not check for surrogate range at parse time [ash stdout] Expected "'\\xed\\xb0\\x80'\n'\\xed\\xb0\\x80'\n", got '' [ash status] Expected 0, got 2 stdout: stderr: ash: syntax error: bad function name |
zsh | 4 $'' does not check for surrogate range at parse time stdout: stderr: zsh: character not in range |
toysh | 4 $'' does not check for surrogate range at parse time [toysh stdout] Expected "'\\xed\\xb0\\x80'\n'\\xed\\xb0\\x80'\n", got "''\n'\\xc3\\x9c00'\n" stdout: '' '\xc3\x9c00'stderr: |
sush | 4 $'' does not check for surrogate range at parse time [sush stdout] Expected "'\\xed\\xb0\\x80'\n'\\xed\\xb0\\x80'\n", got '' [sush status] Expected 0, got 127 [sush stderr] Found 'Traceback (most recent' stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: () Traceback (most recent call last): File "<string>", line 1, in <module> IndexError: list index out of range /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: } /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: py-repr: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: py-repr: command not found |
brush | 4 $'' does not check for surrogate range at parse time [brush stdout] Expected "'\\xed\\xb0\\x80'\n'\\xed\\xb0\\x80'\n", got "'\\\\\\\\'\n'\\\\\\\\'\n" stdout: '\\\\' '\\\\'stderr: |
dash | 5 printf / echo -e do NOT check max code point at runtime [dash stdout] Expected "status=0\n'\\xf4\\x90\\x80\\x80'\nstatus=0\n'\\xf4\\x90\\x80\\x80'\n" Got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 3: Syntax error: Bad function name |
ash | 5 printf / echo -e do NOT check max code point at runtime [ash stdout] Expected "status=0\n'\\xf4\\x90\\x80\\x80'\nstatus=0\n'\\xf4\\x90\\x80\\x80'\n" Got '' [ash status] Expected 0, got 2 stdout: stderr: ash: syntax error: bad function name |
mksh | 5 printf / echo -e do NOT check max code point at runtime stdout: stderr: |
ksh | 5 printf / echo -e do NOT check max code point at runtime [ksh stdout] Expected "status=0\n'\\xf4\\x90\\x80\\x80'\nstatus=0\n'\\xf4\\x90\\x80\\x80'\n" Got "status=0\n'\\xef\\xbf\\xbd'\nstatus=0\n'\\\\U00110000'\n" stdout: status=0 '\xef\xbf\xbd' status=0 '\\U00110000'stderr: |
toysh | 5 printf / echo -e do NOT check max code point at runtime [toysh stdout] Expected "status=0\n'\\xf4\\x90\\x80\\x80'\nstatus=0\n'\\xf4\\x90\\x80\\x80'\n" Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 5 printf / echo -e do NOT check max code point at runtime [sush stdout] Expected "status=0\n'\\xf4\\x90\\x80\\x80'\nstatus=0\n'\\xf4\\x90\\x80\\x80'\n" Got 'status=0\nstatus=0\n' [sush status] Expected 0, got 127 [sush stderr] Found 'Traceback (most recent' stdout: status=0 status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: () Traceback (most recent call last): File "<string>", line 1, in <module> IndexError: list index out of range /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: } /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: py-repr: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 13: py-repr: command not found |
brush | 5 printf / echo -e do NOT check max code point at runtime [brush stdout] Expected "status=0\n'\\xf4\\x90\\x80\\x80'\nstatus=0\n'\\xf4\\x90\\x80\\x80'\n" Got "status=0\n'\\\\\\\\'\nstatus=1\n''\n" stdout: status=0 '\\\\' status=1 ''stderr: [31mERROR[0m printf: printf parsing error: invalid universal character name \U00110000 |
dash | 6 printf / echo -e do NOT check surrogates at runtime [dash stdout] Expected "status=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\n" Got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 3: Syntax error: Bad function name |
ash | 6 printf / echo -e do NOT check surrogates at runtime [ash stdout] Expected "status=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\n" Got '' [ash status] Expected 0, got 2 stdout: stderr: ash: syntax error: bad function name |
zsh | 6 printf / echo -e do NOT check surrogates at runtime stdout: status=0 '' status=0 '' status=0 '' status=0 ''stderr: zsh: character not in range zsh: character not in range zsh: character not in range zsh: character not in range |
mksh | 6 printf / echo -e do NOT check surrogates at runtime stdout: stderr: |
ksh | 6 printf / echo -e do NOT check surrogates at runtime [ksh stdout] Expected "status=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\n" Got "status=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=1\n''\nstatus=1\n''\n" stdout: status=0 '\xed\xb0\x80' status=0 '\xed\xb0\x80' status=1 '' status=1 ''stderr: printf: invalid universal character name \udc00 printf: invalid universal character name \U0000dc00 |
toysh | 6 printf / echo -e do NOT check surrogates at runtime [toysh stdout] Expected "status=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\n" Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 6 printf / echo -e do NOT check surrogates at runtime [sush stdout] Expected "status=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\n" Got 'status=0\nstatus=0\nstatus=0\nstatus=0\n' [sush status] Expected 0, got 127 [sush stderr] Found 'Traceback (most recent' stdout: status=0 status=0 status=0 status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: () Traceback (most recent call last): File "<string>", line 1, in <module> IndexError: list index out of range /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: } /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: py-repr: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 13: py-repr: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 17: py-repr: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 21: py-repr: command not found |
brush | 6 printf / echo -e do NOT check surrogates at runtime [brush stdout] Expected "status=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\nstatus=0\n'\\xed\\xb0\\x80'\n" Got "status=0\n'\\\\\\\\'\nstatus=0\n'\\\\\\\\'\nstatus=1\n''\nstatus=1\n''\n" stdout: status=0 '\\\\' status=0 '\\\\' status=1 '' status=1 ''stderr: [31mERROR[0m printf: printf parsing error: invalid universal character name \udc00 [31mERROR[0m printf: printf parsing error: invalid universal character name \U0000dc00 |