spec test index / oilshell.org
| status | osh | osh_ALT | |
| pass | 15 | 15 | |
| FAIL | 4 | 4 | |
| total | 19 | 19 | |
| case | osh | osh_ALT | 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 | FAIL | FAIL | process sub (nondeterministic) |
| details | details | ||
| 10 | FAIL | FAIL | pipeline (nondeterministic) |
| details | details | ||
| 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 |
30 passed, 0 OK, 0 not implemented, 0 BUG, 4 failed, 0 timeouts, 0 cases skipped 4 failed under osh
| osh | 9 process sub (nondeterministic) [osh stderr] Expected " . 12345 builtin echo 1\n . 12345 exec seq 2\n. builtin ':' begin\n. builtin set '+x'\n; process 12345: status 0\n; process 12345: status 0\n; process 12345: status 0\n| command 12345: cat /dev/fd/N /dev/fd/N\n| proc sub 12345\n| proc sub 12345\n" Got " . 12345 builtin echo 1\n ; 12345 process 12345: status 0\n | 12345 command 12345: seq 2\n. builtin ':' begin\n. builtin set '+x'\n; process 12345: status 0\n; process 12345: status 0\n; process 12345: status 0\n| command 12345: cat /dev/fd/N /dev/fd/N\n| proc sub 12345\n| proc sub 12345\n" stdout: 1 2 1stderr: . 12345 builtin echo 1 ; 12345 process 12345: status 0 | 12345 command 12345: seq 2 . builtin ':' begin . builtin set '+x' ; process 12345: status 0 ; process 12345: status 0 ; process 12345: status 0 | command 12345: cat /dev/fd/N /dev/fd/N | proc sub 12345 | proc sub 12345 |
| osh_ALT | 9 process sub (nondeterministic) [osh_ALT stderr] Expected " . 12345 builtin echo 1\n . 12345 exec seq 2\n. builtin ':' begin\n. builtin set '+x'\n; process 12345: status 0\n; process 12345: status 0\n; process 12345: status 0\n| command 12345: cat /dev/fd/N /dev/fd/N\n| proc sub 12345\n| proc sub 12345\n" Got " . 12345 builtin echo 1\n ; 12345 process 12345: status 0\n | 12345 command 12345: seq 2\n. builtin ':' begin\n. builtin set '+x'\n; process 12345: status 0\n; process 12345: status 0\n; process 12345: status 0\n| command 12345: cat /dev/fd/N /dev/fd/N\n| proc sub 12345\n| proc sub 12345\n" stdout: 1 2 1stderr: . 12345 builtin echo 1 ; 12345 process 12345: status 0 | 12345 command 12345: seq 2 . builtin ':' begin . builtin set '+x' ; process 12345: status 0 ; process 12345: status 0 ; process 12345: status 0 | command 12345: cat /dev/fd/N /dev/fd/N | proc sub 12345 | proc sub 12345 |
| osh | 10 pipeline (nondeterministic) [osh stderr] Expected " . 12345 builtin echo 1\n . 12345 builtin echo 2\n . 12345 exec sort\n < 12345 proc myfunc\n > 12345 proc myfunc\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 0\n | command 12345: wc -l\n | part 12345\n | part 12345\n. builtin ':' begin\n. builtin set '+x'\n< pipeline\n> pipeline\n" Got " . 12345 builtin echo 1\n . 12345 builtin echo 2\n ; 12345 process 12345: status 0\n < 12345 proc myfunc\n > 12345 proc myfunc\n | 12345 command 12345: sort\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 0\n | command 12345: wc -l\n | part 12345\n | part 12345\n. builtin ':' begin\n. builtin set '+x'\n< pipeline\n> pipeline\n" stdout: 2stderr: . 12345 builtin echo 1
. 12345 builtin echo 2
; 12345 process 12345: status 0
< 12345 proc myfunc
> 12345 proc myfunc
| 12345 command 12345: sort
; process 12345: status 0
; process 12345: status 0
; process 12345: status 0
| command 12345: wc -l
| part 12345
| part 12345
. builtin ':' begin
. builtin set '+x'
< pipeline
> pipeline
|
| osh_ALT | 10 pipeline (nondeterministic) [osh_ALT stderr] Expected " . 12345 builtin echo 1\n . 12345 builtin echo 2\n . 12345 exec sort\n < 12345 proc myfunc\n > 12345 proc myfunc\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 0\n | command 12345: wc -l\n | part 12345\n | part 12345\n. builtin ':' begin\n. builtin set '+x'\n< pipeline\n> pipeline\n" Got " . 12345 builtin echo 1\n . 12345 builtin echo 2\n ; 12345 process 12345: status 0\n < 12345 proc myfunc\n > 12345 proc myfunc\n | 12345 command 12345: sort\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 0\n | command 12345: wc -l\n | part 12345\n | part 12345\n. builtin ':' begin\n. builtin set '+x'\n< pipeline\n> pipeline\n" stdout: 2stderr: . 12345 builtin echo 1
. 12345 builtin echo 2
; 12345 process 12345: status 0
< 12345 proc myfunc
> 12345 proc myfunc
| 12345 command 12345: sort
; process 12345: status 0
; process 12345: status 0
; process 12345: status 0
| command 12345: wc -l
| part 12345
| part 12345
. builtin ':' begin
. builtin set '+x'
< pipeline
> pipeline
|
| 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 process 12345: status 0\n ; 12345 process 12345: status 1\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 1\n < 12345 proc myfunc\n > 12345 proc myfunc\n | 12345 command 12345: grep ZZZ\n | 12345 command 12345: sort\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" stdout: status=0stderr: . 12345 builtin echo 1
. 12345 builtin echo 2
; 12345 process 12345: status 0
; 12345 process 12345: status 1
; process 12345: status 0
; process 12345: status 0
; process 12345: status 1
< 12345 proc myfunc
> 12345 proc myfunc
| 12345 command 12345: grep ZZZ
| 12345 command 12345: sort
. builtin ':' begin
. builtin echo 'status=0'
. builtin set '+x'
< wait
> wait
[1] Done PGID 12345
| part 12345
| part 12345
| part 12345
|
| osh_ALT | 12 Background pipeline (separate code path) [osh_ALT 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 process 12345: status 0\n ; 12345 process 12345: status 1\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 1\n < 12345 proc myfunc\n > 12345 proc myfunc\n | 12345 command 12345: grep ZZZ\n | 12345 command 12345: sort\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" stdout: status=0stderr: . 12345 builtin echo 1
. 12345 builtin echo 2
; 12345 process 12345: status 0
; 12345 process 12345: status 1
; process 12345: status 0
; process 12345: status 0
; process 12345: status 1
< 12345 proc myfunc
> 12345 proc myfunc
| 12345 command 12345: grep ZZZ
| 12345 command 12345: sort
. builtin ':' begin
. builtin echo 'status=0'
. builtin set '+x'
< wait
> wait
[1] Done PGID 12345
| 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 process 12345: status 0\n ; 12345 process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 0\n | 12345 command 12345: sleep 0.1\n | 12345 command 12345: sleep 0.1\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" stdout: stderr: ; 12345 process 12345: status 0 ; 12345 process 12345: status 0 ; process 12345: status 0 ; process 12345: status 0 | 12345 command 12345: sleep 0.1 | 12345 command 12345: sleep 0.1 . builtin fork . builtin set '+x' . builtin shopt -s 'oil:upgrade' < wait < wait > wait > wait [1] Done PID 12345 [1] Done PID 12345 | fork 12345 | fork 12345 |
| osh_ALT | 13 Background process with fork and & (nondeterministic) [osh_ALT 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 process 12345: status 0\n ; 12345 process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 0\n | 12345 command 12345: sleep 0.1\n | 12345 command 12345: sleep 0.1\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" stdout: stderr: ; 12345 process 12345: status 0 ; 12345 process 12345: status 0 ; process 12345: status 0 ; process 12345: status 0 | 12345 command 12345: sleep 0.1 | 12345 command 12345: sleep 0.1 . builtin fork . builtin set '+x' . builtin shopt -s 'oil:upgrade' < wait < wait > wait > wait [1] Done PID 12345 [1] Done PID 12345 | fork 12345 | fork 12345 |