spec test index / oilshell.org
status | osh | osh_.py | osh_.cc | |
pass | 13 | 13 | 10 | |
ok | 2 | 2 | 2 | |
FAIL | 1 | 1 | 4 | |
total | 16 | 16 | 16 | |
case | osh | osh_.py | osh_.cc | description |
0 | pass | pass | pass | unset PS4 |
1 | FAIL | FAIL | FAIL | set -o verbose prints unevaluated code |
details | details | details | ||
2 | pass | pass | pass | xtrace with unprintable chars |
3 | pass | pass | FAIL | xtrace with unicode chars |
details | ||||
4 | pass | pass | pass | xtrace with tabs |
5 | pass | pass | pass | xtrace with whitespace, quotes, and backslash |
6 | pass | pass | pass | xtrace with newlines |
7 | pass | pass | FAIL | xtrace written before command executes |
details | ||||
8 | pass | pass | pass | Assignments and assign builtins |
9 | pass | pass | FAIL | [[ ]] |
details | ||||
10 | ok | ok | ok | PS4 is scoped |
details | details | details | ||
11 | ok | ok | ok | xtrace with variables in PS4 |
details | details | details | ||
12 | pass | pass | pass | PS4 with unterminated ${ |
13 | pass | pass | pass | PS4 with unterminated $( |
14 | pass | pass | pass | PS4 with runtime error |
15 | pass | pass | pass | $? in PS1 |
36 passed, 6 OK, 0 not implemented, 0 BUG, 6 failed, 0 timeouts, 0 cases skipped 1 failed under osh
osh | 1 set -o verbose prints unevaluated code [osh stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got 'Warning: set -o verbose not implemented\n' stdout: foo barstderr: Warning: set -o verbose not implemented |
osh_.py | 1 set -o verbose prints unevaluated code [osh_.py stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got 'Warning: set -o verbose not implemented\n' stdout: foo barstderr: Warning: set -o verbose not implemented |
osh_.cc | 1 set -o verbose prints unevaluated code [osh_.cc stdout] Expected 'foo\nbar\n', got 'foo\n' [osh_.cc stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got "Warning: set -o verbose not implemented\nosh_eval.dbg: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed.\n" [osh_.cc status] Expected 0, got -6 stdout: foostderr: Warning: set -o verbose not implemented osh_eval.dbg: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 3 xtrace with unicode chars [osh_.cc stderr] Expected "+ echo '[\xce\xbc]' '[\xce\xbc]'\n", got "+ echo $'[\xce\xbc]' $'[\xce\xbc]'\n" stdout: [μ] [μ]stderr: + echo $'[μ]' $'[μ]' |
osh_.cc | 7 xtrace written before command executes [osh_.cc stderr] Expected '+ echo one\none\n+ echo two\ntwo\n', got "osh_eval.dbg: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.\n" [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed. |
osh_.cc | 9 [[ ]] [osh_.cc stderr] Expected "+ dir='/'\n+ [[ -d $dir ]]\n+ (( a = 42 ))\n", got "+ dir='/'\n+ [[ -d $dir ]]\nosh_eval.dbg: cpp/osh_bool_stat.h:37: bool bool_stat::DoUnaryOp(id_kind_asdl::Id_t, Str *): Assertion `0' failed.\n" [osh_.cc status] Expected 0, got -6 stdout: stderr: + dir='/' + [[ -d $dir ]] osh_eval.dbg: cpp/osh_bool_stat.h:37: bool bool_stat::DoUnaryOp(id_kind_asdl::Id_t, Str *): Assertion `0' failed. |
osh | 10 PS4 is scoped stdout: one func twostderr: + echo one + f + local PS4='- ' - echo func + echo two |
osh_.py | 10 PS4 is scoped stdout: one func twostderr: + echo one + f + local PS4='- ' - echo func + echo two |
osh_.cc | 10 PS4 is scoped stdout: one func twostderr: + echo one + f + local PS4='- ' - echo func + echo two |
osh | 11 xtrace with variables in PS4 stdout: one twostderr: +1:x=1 +1:echo one +2:x=2 +2:echo two |
osh_.py | 11 xtrace with variables in PS4 stdout: one twostderr: +1:x=1 +1:echo one +2:x=2 +2:echo two |
osh_.cc | 11 xtrace with variables in PS4 stdout: one twostderr: +1:x=1 +1:echo one +2:x=2 +2:echo two |