spec test index / oilshell.org
status | osh | osh_.py | osh_.cc | |
pass | 18 | 15 | 12 | |
ok | 1 | 0 | 0 | |
FAIL | 1 | 5 | 8 | |
total | 20 | 20 | 20 | |
case | osh | osh_.py | osh_.cc | description |
0 | FAIL | FAIL | FAIL | sh -i |
details | 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 | FAIL | PS1 evaluation order 2 |
details | ||||
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 | FAIL | FAIL | \u0001 unicode literals not supported |
details | details | |||
14 | pass | pass | pass | constant string |
15 | pass | pass | FAIL | hostname |
details | ||||
16 | pass | FAIL | FAIL | username |
details | details | |||
17 | pass | pass | pass | current working dir |
18 | pass | FAIL | FAIL | \W is basename of working dir |
details | details | |||
19 | ok | FAIL | FAIL | @P with array |
details | details | details |
45 passed, 1 OK, 0 not implemented, 0 BUG, 14 failed, 0 timeouts, 0 cases skipped 1 failed under osh
osh | 0 sh -i [osh stdout] Expected 'foo\n', got '$ foo\n$ ^D\n' [osh stderr] Expected '$ echo foo\n$ exit\n', got '' stdout: $ foo $ ^Dstderr: |
osh_.py | 0 sh -i [osh_.py stdout] Expected 'foo\n', got '' [osh_.py stderr] Expected '$ echo foo\n$ exit\n', got " echo 'echo foo' | PS1='$ ' $SH --rcfile /dev/null -i\n ^~~~~~~~\n[ stdin ]:1: '--rcfile' not found\n" [osh_.py status] Expected 0, got 127 stdout: stderr: echo 'echo foo' | PS1='$ ' $SH --rcfile /dev/null -i ^~~~~~~~ [ stdin ]:1: '--rcfile' not found |
osh_.cc | 0 sh -i [osh_.cc stdout] Expected 'foo\n', got '' [osh_.cc stderr] Expected '$ echo foo\n$ exit\n', got "osh_eval.dbg: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.\n" [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: 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: |
osh_.cc | 5 PS1 evaluation order 2 [osh_.cc stdout] Expected 'status=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: mkdir: cannot create directory '/$foo': Permission denied osh_eval.dbg: cpp/posix.h:88: Str *posix::strerror(int): Assertion `0' failed. |
osh_.py | 13 \u0001 unicode literals not supported [osh_.py stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: USER=$(whoami) ^~~~~~ [ stdin ]:2: 'whoami' not found |
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.dbg: 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.dbg: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.py | 16 username [osh_.py stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: USER=$(whoami) ^~~~~~ [ stdin ]:2: 'whoami' not found |
osh_.cc | 16 username [osh_.cc stdout] Expected 'status=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.py | 18 \W is basename of working dir [osh_.py stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: test "${PS1@P}" = "$(basename $PWD) " ^~~~~~~~ [ stdin ]:2: 'basename' not found |
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.dbg: 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 [osh_.py stdout] Expected 'status=1\nstatus=1\nstatus=1\n', got 'status=127\nstatus=127\nstatus=127\n' stdout: status=127 status=127 status=127stderr: $SH -c 'echo ${@@P}' dummy a b c ^~ [ stdin ]:1: '-c' not found $SH -c 'echo ${*@P}' dummy a b c ^~ [ stdin ]:3: '-c' not found $SH -c 'a=(x y); echo ${a@P}' dummy a b c ^~ [ stdin ]:5: '-c' not found |
osh_.cc | 19 @P with array [osh_.cc stdout] Expected 'status=1\nstatus=1\nstatus=1\n', got 'status=127\nstatus=127\nstatus=127\n' stdout: status=127 status=127 status=127stderr: $SH -c 'echo ${@@P}' dummy a b c ^~ [ stdin ]:1: '-c' not found $SH -c 'echo ${*@P}' dummy a b c ^~ [ stdin ]:3: '-c' not found $SH -c 'a=(x y); echo ${a@P}' dummy a b c ^~ [ stdin ]:5: '-c' not found |