status | osh | osh-cpp | |
pass | 7 | 4 | |
FAIL | 0 | 3 | |
total | 7 | 7 | |
case | osh | osh-cpp | description |
0 | pass | pass | OSH source code doesn't have to be valid Unicode (like other shells) |
1 | pass | pass | Unicode escapes \u03bc \U000003bc in $'', echo -e, printf |
2 | pass | FAIL | Max code point U+10ffff can escaped with $'' printf echo -e |
details | |||
3 | pass | pass | $'' does NOT check that 0x110000 is too big at parse time |
4 | pass | pass | $'' does not check for surrogate range at parse time |
5 | pass | FAIL | printf / echo -e do NOT check max code point at runtime |
details | |||
6 | pass | 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
osh-cpp | 2 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 -6 stdout: '\xf4\x8f\xbf\xbf'stderr: terminate called after throwing an instance of 'IndexError*' timeout: the monitored command dumped core |
osh-cpp | 5 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 -6 stdout: stderr: terminate called after throwing an instance of 'IndexError*' timeout: the monitored command dumped core |
osh-cpp | 6 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 -6 stdout: stderr: terminate called after throwing an instance of 'IndexError*' timeout: the monitored command dumped core |