| status | osh | osh-cpp | |
| pass | 14 | 14 | |
| FAIL | 1 | 1 | |
| total | 15 | 15 | |
| case | osh | osh-cpp | description |
| 0 | pass | pass | Match tab character with [\t] |
| 1 | pass | pass | Match newline with [\n] |
| 2 | pass | pass | ERE: 'dot' matches newline |
| 3 | pass | pass | ERE: 'dot' matches code point represented with multiple bytes (mu = 0xce 0xbe) |
| 4 | pass | pass | $'\xff' is disallowed in Eggex, because it's disallowed in YSH |
| 5 | pass | pass | Match low ASCII with [\x01] |
| 6 | pass | pass | Match low ASCII with \u{7f} - translates to valid ERE |
| 7 | pass | pass | non-ASCII bytes must be singleton terms, e.g. b'\y7f\yff' is disallowed |
| 8 | pass | pass | Bytes are denoted \y01 in Eggex char classes (not \x01) |
| 9 | pass | pass | NUL byte can be expressed in Eggex, but not in ERE |
| 10 | pass | pass | High bytes 0x80 0xff usually can't be matched - Eggex is UTF-8 |
| 11 | pass | pass | High bytes 0x80 0xff can be matched with plain ERE and LC_ALL=C |
| 12 | pass | pass | Code points like \u{3bc} can be matched |
| 13 | pass | pass | Code point ranges work in limited cases |
| 14 | FAIL | FAIL | Max code point is disallowed at parse time |
| details | details |
28 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
| osh | 14 Max code point is disallowed at parse time [osh stdout] Expected '(Bool) false\n(Bool) true\n\n(Bool) false\n(Bool) true\n' Got '<Eggex>\n<Eggex>\n' stdout: <Eggex> <Eggex>stderr: |
| osh-cpp | 14 Max code point is disallowed at parse time [osh-cpp stdout] Expected '(Bool) false\n(Bool) true\n\n(Bool) false\n(Bool) true\n' Got '<Eggex>\n<Eggex>\n' stdout: <Eggex> <Eggex>stderr: |