Results for unicode.test.sh

statusoshosh-cpp
pass 74
FAIL 03
total77
caseoshosh-cppdescription
0pass pass OSH source code doesn't have to be valid Unicode (like other shells)
1pass pass Unicode escapes \u03bc \U000003bc in $'', echo -e, printf
2pass FAIL Max code point U+10ffff can escaped with $'' printf echo -e
details
3pass pass $'' does NOT check that 0x110000 is too big at parse time
4pass pass $'' does not check for surrogate range at parse time
5pass FAIL printf / echo -e do NOT check max code point at runtime
details
6pass FAIL printf / echo -e do NOT check surrogates at runtime
details
11 passed, 0 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

osh-cpp2 Max code point U+10ffff can escaped with $'' printf echo -e

[osh-cpp stdout] Expected "'\\xf4\\x8f\\xbf\\xbf'\n'\\xf4\\x8f\\xbf\\xbf'\n'\\xf4\\x8f\\xbf\\xbf'\n" Got "'\\xf4\\x8f\\xbf\\xbf'\n"
[osh-cpp status] Expected 0 Got 2

stdout:
'\xf4\x8f\xbf\xbf'
stderr:
  py-repr $(echo -e '\U0010ffff')
                                ^
[ stdin ]:8: Invalid word while parsing command list
osh-cpp5 printf / echo -e do NOT check max code point at runtime

[osh-cpp stdout] Expected "status=0\n'\\xf4\\x90\\x80\\x80'\nstatus=0\n'\\xf4\\x90\\x80\\x80'\n" Got ''
[osh-cpp status] Expected 0 Got 2

stdout:
stderr: 
  e="$(echo -e '\U00110000')"
                           ^
[ stdin ]:7: Invalid word while parsing command list
osh-cpp6 printf / echo -e do NOT check surrogates at runtime

[osh-cpp 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 ''
[osh-cpp status] Expected 0 Got 2

stdout:
stderr: 
  e="$(echo -e '\udc00')"
                       ^
[ stdin ]:7: Invalid word while parsing command list