Results for unicode.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 7330027
BUG 0400000
FAIL 0047750
total7777777
casebashmkshkshtoyshsushbrushoshdescription
0pass pass pass FAIL FAIL FAIL pass OSH source code doesn't have to be valid Unicode (like other shells)
detailsdetailsdetails
1pass pass pass FAIL FAIL pass pass Unicode escapes \u03bc \U000003bc in $'', echo -e, printf
detailsdetails
2pass BUG FAIL FAIL FAIL pass pass Max code point U+10ffff can escaped with $'' printf echo -e
detailsdetailsdetailsdetails
3pass BUG FAIL FAIL FAIL FAIL pass $'' does NOT check that 0x110000 is too big at parse time
detailsdetailsdetailsdetailsdetails
4pass pass pass FAIL FAIL FAIL pass $'' does not check for surrogate range at parse time
detailsdetailsdetails
5pass BUG FAIL FAIL FAIL FAIL pass printf / echo -e do NOT check max code point at runtime
detailsdetailsdetailsdetailsdetails
6pass BUG FAIL FAIL FAIL FAIL pass printf / echo -e do NOT check surrogates at runtime
detailsdetailsdetailsdetailsdetails
22 passed, 0 OK, 0 not implemented, 4 BUG, 23 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

toysh0 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
sush0 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:
brush0 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:
ERROR not-unicode.sh: failed to decode UTF-8 characters (detected near line 1 column 6)
toysh1 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
sush1 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 \U000003bc
stderr:
mksh2 Max code point U+10ffff can escaped with $'' printf echo -e

stdout:
'\xef\xbf\xbd'
'\xef\xbf\xbd'
'\xf4\x8f\xbf\xbf'
stderr:
ksh2 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:
toysh2 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
sush2 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
mksh3 $'' does NOT check that 0x110000 is too big at parse time

stdout:
'\xef\xbf\xbd'
stderr:
ksh3 $'' 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:
toysh3 $'' 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:
sush3 $'' 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
brush3 $'' does NOT check that 0x110000 is too big at parse time

[brush stdout] Expected "'\\xf4\\x90\\x80\\x80'\n", got "'\\\\\\\\'\n"

stdout:
'\\\\'
stderr:
toysh4 $'' 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:
sush4 $'' 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
brush4 $'' 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:
mksh5 printf / echo -e do NOT check max code point at runtime

stdout:
stderr: 
ksh5 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:
toysh5 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
sush5 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=0
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 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
brush5 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:
ERROR printf: printf parsing error: invalid universal character name \U00110000
mksh6 printf / echo -e do NOT check surrogates at runtime

stdout:
stderr: 
ksh6 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
toysh6 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
sush6 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=0
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 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
brush6 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:
ERROR printf: printf parsing error: invalid universal character name \udc00
ERROR printf: printf parsing error: invalid universal character name \U0000dc00