spec test index / oilshell.org
| status | bash | mksh | zsh | osh | |
| pass | 7 | 3 | 5 | 7 | |
| ok | 0 | 0 | 1 | 0 | |
| BUG | 0 | 4 | 1 | 0 | |
| total | 7 | 7 | 7 | 7 | |
| case | bash | mksh | zsh | osh | description |
| 0 | pass | pass | pass | pass | OSH source code doesn't have to be valid Unicode (like other shells) |
| 1 | pass | pass | pass | pass | Unicode escapes \u03bc \U000003bc in $'', echo -e, printf |
| 2 | pass | BUG | pass | pass | Max code point U+10ffff can escaped with $'' printf echo -e |
| details | |||||
| 3 | pass | BUG | pass | pass | $'' does NOT check that 0x110000 is too big at parse time |
| details | |||||
| 4 | pass | pass | ok | pass | $'' does not check for surrogate range at parse time |
| details | |||||
| 5 | pass | BUG | pass | pass | printf / echo -e do NOT check max code point at runtime |
| details | |||||
| 6 | pass | BUG | BUG | pass | printf / echo -e do NOT check surrogates at runtime |
| details | details |
22 passed, 1 OK, 0 not implemented, 5 BUG, 0 failed, 0 timeouts, 0 cases skipped
| 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: |
| mksh | 3 $'' does NOT check that 0x110000 is too big at parse time stdout: '\xef\xbf\xbd'stderr: |
| zsh | 4 $'' does not check for surrogate range at parse time stdout: stderr: zsh: character not in range |
| mksh | 5 printf / echo -e do NOT check max code point at runtime stdout: stderr: |
| mksh | 6 printf / echo -e do NOT check surrogates at runtime stdout: stderr: |
| 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 |