spec test index / oilshell.org
| status | osh | osh-cpp | |
| pass | 17 | 17 | |
| FAIL | 2 | 2 | |
| total | 19 | 19 | |
| case | osh | osh-cpp | description |
| 0 | pass | pass | Customize PS4 |
| 1 | pass | pass | xtrace_details doesn't show [[ ]] etc. |
| 2 | pass | pass | xtrace_details AND xtrace_rich on |
| 3 | pass | pass | proc and shell function |
| 4 | pass | pass | eval |
| 5 | pass | pass | source |
| 6 | pass | pass | external and builtin |
| 7 | pass | pass | subshell |
| 8 | pass | pass | command sub |
| 9 | pass | pass | process sub (nondeterministic) |
| 10 | pass | pass | pipeline (nondeterministic) |
| 11 | pass | pass | singleton pipeline |
| 12 | FAIL | FAIL | Background pipeline (separate code path) |
| details | details | ||
| 13 | FAIL | FAIL | Background process with fork and & (nondeterministic) |
| details | details | ||
| 14 | pass | pass | Here doc |
| 15 | pass | pass | Two here docs |
| 16 | pass | pass | Here doc greater than 4096 bytes |
| 17 | pass | pass | Control Flow |
| 18 | pass | pass | Encoded argv uses shell encoding, not J8 |
34 passed, 0 OK, 0 not implemented, 0 BUG, 2 failed, 0 timeouts, 0 cases skipped 2 failed under osh
| osh | 12 Background pipeline (separate code path) [osh stderr] Expected " . 12345 builtin echo 1\n . 12345 builtin echo 2\n . 12345 exec grep ZZZ\n . 12345 exec sort\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 1\n < 12345 proc myfunc\n > 12345 proc myfunc\n. builtin ':' begin\n. builtin echo 'status=0'\n. builtin set '+x'\n< wait\n> wait\n[1] Done PGID 12345\n| part 12345\n| part 12345\n| part 12345\n" Got " . 12345 builtin echo 1\n . 12345 builtin echo 2\n . 12345 exec grep ZZZ\n . 12345 exec sort\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 1\n < 12345 proc myfunc\n > 12345 proc myfunc\n. builtin ':' begin\n. builtin echo 'status=0'\n. builtin set '+x'\n< wait\n> wait\n[%1] PGID 12345 Done\n| part 12345\n| part 12345\n| part 12345\n" stdout: status=0stderr: . 12345 builtin echo 1
. 12345 builtin echo 2
. 12345 exec grep ZZZ
. 12345 exec sort
; process 12345: status 0
; process 12345: status 0
; process 12345: status 1
< 12345 proc myfunc
> 12345 proc myfunc
. builtin ':' begin
. builtin echo 'status=0'
. builtin set '+x'
< wait
> wait
[%1] PGID 12345 Done
| part 12345
| part 12345
| part 12345
|
| osh-cpp | 12 Background pipeline (separate code path) [osh-cpp stderr] Expected " . 12345 builtin echo 1\n . 12345 builtin echo 2\n . 12345 exec grep ZZZ\n . 12345 exec sort\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 1\n < 12345 proc myfunc\n > 12345 proc myfunc\n. builtin ':' begin\n. builtin echo 'status=0'\n. builtin set '+x'\n< wait\n> wait\n[1] Done PGID 12345\n| part 12345\n| part 12345\n| part 12345\n" Got " . 12345 builtin echo 1\n . 12345 builtin echo 2\n . 12345 exec grep ZZZ\n . 12345 exec sort\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 1\n < 12345 proc myfunc\n > 12345 proc myfunc\n. builtin ':' begin\n. builtin echo 'status=0'\n. builtin set '+x'\n< wait\n> wait\n[%1] PGID 12345 Done\n| part 12345\n| part 12345\n| part 12345\n" stdout: status=0stderr: . 12345 builtin echo 1
. 12345 builtin echo 2
. 12345 exec grep ZZZ
. 12345 exec sort
; process 12345: status 0
; process 12345: status 0
; process 12345: status 1
< 12345 proc myfunc
> 12345 proc myfunc
. builtin ':' begin
. builtin echo 'status=0'
. builtin set '+x'
< wait
> wait
[%1] PGID 12345 Done
| part 12345
| part 12345
| part 12345
|
| osh | 13 Background process with fork and & (nondeterministic) [osh stderr] Expected " . 12345 exec sleep 0.1\n . 12345 exec sleep 0.1\n ; process 12345: status 0\n ; process 12345: status 0\n. builtin fork\n. builtin set '+x'\n. builtin shopt -s 'oil:upgrade'\n< wait\n< wait\n> wait\n> wait\n[1] Done PID 12345\n[1] Done PID 12345\n| fork 12345\n| fork 12345\n" Got " . 12345 exec sleep 0.1\n . 12345 exec sleep 0.1\n ; process 12345: status 0\n ; process 12345: status 0\n. builtin fork\n. builtin set '+x'\n. builtin shopt -s 'oil:upgrade'\n< wait\n< wait\n> wait\n> wait\n[%1] PID 12345 Done\n[%1] PID 12345 Done\n| fork 12345\n| fork 12345\n" stdout: stderr: . 12345 exec sleep 0.1 . 12345 exec sleep 0.1 ; process 12345: status 0 ; process 12345: status 0 . builtin fork . builtin set '+x' . builtin shopt -s 'oil:upgrade' < wait < wait > wait > wait [%1] PID 12345 Done [%1] PID 12345 Done | fork 12345 | fork 12345 |
| osh-cpp | 13 Background process with fork and & (nondeterministic) [osh-cpp stderr] Expected " . 12345 exec sleep 0.1\n . 12345 exec sleep 0.1\n ; process 12345: status 0\n ; process 12345: status 0\n. builtin fork\n. builtin set '+x'\n. builtin shopt -s 'oil:upgrade'\n< wait\n< wait\n> wait\n> wait\n[1] Done PID 12345\n[1] Done PID 12345\n| fork 12345\n| fork 12345\n" Got " . 12345 exec sleep 0.1\n . 12345 exec sleep 0.1\n ; process 12345: status 0\n ; process 12345: status 0\n. builtin fork\n. builtin set '+x'\n. builtin shopt -s 'oil:upgrade'\n< wait\n< wait\n> wait\n> wait\n[%1] PID 12345 Done\n[%1] PID 12345 Done\n| fork 12345\n| fork 12345\n" stdout: stderr: . 12345 exec sleep 0.1 . 12345 exec sleep 0.1 ; process 12345: status 0 ; process 12345: status 0 . builtin fork . builtin set '+x' . builtin shopt -s 'oil:upgrade' < wait < wait > wait > wait [%1] PID 12345 Done [%1] PID 12345 Done | fork 12345 | fork 12345 |