spec test index / oilshell.org
status | osh | osh_.py | osh_.cc | |
pass | 19 | 18 | 13 | |
ok | 1 | 1 | 0 | |
FAIL | 0 | 1 | 7 | |
total | 20 | 20 | 20 | |
case | osh | osh_.py | osh_.cc | description |
0 | pass | FAIL | FAIL | sh -i |
details | details | |||
1 | pass | pass | pass | \[\] are non-printing |
2 | pass | pass | pass | literal escapes |
3 | pass | pass | FAIL | special case for $ |
details | ||||
4 | pass | pass | pass | PS1 evaluation order |
5 | pass | pass | pass | PS1 evaluation order 2 |
6 | pass | pass | pass | \1004 |
7 | pass | pass | pass | \001 octal literals are supported |
8 | pass | pass | pass | \555 is beyond max octal byte of \377 and wrapped to m |
9 | pass | pass | pass | \x55 hex literals not supported |
10 | pass | pass | pass | Single backslash |
11 | pass | pass | pass | Escaped backslash |
12 | pass | pass | pass | \0001 octal literals are not supported |
13 | pass | pass | FAIL | \u0001 unicode literals not supported |
details | ||||
14 | pass | pass | pass | constant string |
15 | pass | pass | FAIL | hostname |
details | ||||
16 | pass | pass | FAIL | username |
details | ||||
17 | pass | pass | pass | current working dir |
18 | pass | pass | FAIL | \W is basename of working dir |
details | ||||
19 | ok | ok | FAIL | @P with array |
details | details | details |
50 passed, 2 OK, 0 not implemented, 0 BUG, 8 failed, 0 timeouts, 0 cases skipped
osh_.py | 0 sh -i [osh_.py stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: |
osh_.cc | 0 sh -i [osh_.cc stdout] Expected 'status=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 3 special case for $ [osh_.cc stdout] Expected '$\n$\n$\n\\$\n\\$\n', got '$\n$\n$\n$\n\\$\n' stdout: $ $ $ $ \$stderr: dumb_alloc: gNumNew = 2475 gNumDelete = 240 gMemPos = 80688 gNumMalloc = 241 gNumFree = 0 gMemPos2 = 13040 |
osh_.cc | 13 \u0001 unicode literals not supported [osh_.cc stdout] Expected 'status=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 15 hostname [osh_.cc stdout] Expected 'status=0\nstatus=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 16 username [osh_.cc stdout] Expected 'status=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 18 \W is basename of working dir [osh_.cc stdout] Expected 'status=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh | 19 @P with array stdout: status=1 status=1 status=1stderr: echo ${@@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray echo ${*@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray a=(x y); echo ${a@P} ^~ [ -c flag ]:1: fatal: Array 'a' can't be referred to as a scalar (without @ or *) |
osh_.py | 19 @P with array stdout: status=1 status=1 status=1stderr: echo ${@@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray echo ${*@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray a=(x y); echo ${a@P} ^~ [ -c flag ]:1: fatal: Array 'a' can't be referred to as a scalar (without @ or *) |
osh_.cc | 19 @P with array [osh_.cc stdout] Expected 'status=1\nstatus=1\nstatus=1\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/pylib_path_stat.h:10: bool path_stat::exists(Str*): Assertion `0' failed. |