pipeline () { sh-spec spec/pipeline.test.sh ${REF_SHELLS[@]} $ZSH $OSH_LIST "$@" }
spec test index / oilshell.org
status | dash | bash | mksh | zsh | osh | |
pass | 16 | 22 | 20 | 18 | 22 | |
ok | 1 | 1 | 1 | 0 | 1 | |
N-I | 7 | 0 | 3 | 4 | 1 | |
BUG | 0 | 1 | 0 | 2 | 0 | |
total | 24 | 24 | 24 | 24 | 24 | |
case | dash | bash | mksh | zsh | osh | description |
0 | pass | pass | pass | pass | pass | Brace group in pipeline |
1 | pass | pass | pass | pass | pass | For loop starts pipeline |
2 | pass | pass | pass | pass | pass | While Loop ends pipeline |
3 | pass | pass | pass | BUG | pass | Redirect in Pipeline |
details | ||||||
4 | pass | pass | pass | pass | pass | Pipeline comments |
5 | pass | pass | pass | pass | pass | Exit code is last status |
6 | N-I | pass | pass | N-I | pass | PIPESTATUS |
details | details | |||||
7 | N-I | pass | pass | N-I | ok | PIPESTATUS is set on simple commands, but NOT in OSH |
details | details | details | ||||
8 | N-I | pass | pass | N-I | pass | PIPESTATUS with shopt -s lastpipe |
details | details | |||||
9 | N-I | pass | N-I | pass | N-I | |& |
details | details | details | ||||
10 | pass | pass | pass | pass | pass | ! turns non-zero into zero |
11 | pass | pass | pass | pass | pass | ! turns zero into 1 |
12 | pass | pass | pass | pass | pass | ! in if |
13 | pass | pass | pass | pass | pass | ! with || |
14 | pass | pass | pass | pass | pass | ! with { } |
15 | pass | pass | pass | pass | pass | ! with ( ) |
16 | pass | pass | pass | pass | pass | ! is not a command |
17 | pass | pass | pass | BUG | pass | Evaluation of argv[0] in pipeline occurs in child |
details | ||||||
18 | ok | ok | ok | pass | pass | bash/dash/mksh run the last command is run in its own process |
details | details | details | ||||
19 | N-I | pass | N-I | pass | pass | shopt -s lastpipe (always on in OSH) |
details | details | |||||
20 | N-I | pass | N-I | pass | pass | shopt -s lastpipe (always on in OSH) |
details | details | |||||
21 | N-I | BUG | pass | N-I | pass | SIGPIPE causes pipeline to die (regression for issue #295) |
details | details | details | ||||
22 | pass | pass | pass | pass | pass | Nested pipelines |
23 | pass | pass | pass | pass | pass | Pipeline in eval |
98 passed, 4 OK, 15 not implemented, 3 BUG, 0 failed, 0 timeouts, 0 cases skipped
zsh | 3 Redirect in Pipeline stdout: 1stderr: hi |
dash | 6 PIPESTATUS stdout: stderr: dash: 5: Bad substitution |
zsh | 6 PIPESTATUS stdout: stderr: |
dash | 7 PIPESTATUS is set on simple commands, but NOT in OSH stdout: stderr: |
zsh | 7 PIPESTATUS is set on simple commands, but NOT in OSH stdout: stderr: |
osh | 7 PIPESTATUS is set on simple commands, but NOT in OSH stdout: pipestatusstderr: |
dash | 8 PIPESTATUS with shopt -s lastpipe stdout: stderr: dash: 1: shopt: not found dash: 6: Bad substitution |
zsh | 8 PIPESTATUS with shopt -s lastpipe stdout: stderr: zsh: command not found: shopt |
dash | 9 |& stdout: stderr: dash: 1: Syntax error: "&" unexpected |
mksh | 9 |& stdout: stderr: STDERR close failed in file object destructor: sys.excepthook is missing lost sys.stderr |
osh | 9 |& stdout: stderr: stdout_stderr.py |& cat ^~ [ stdin ]:1: fatal: |& isn't supported |
zsh | 17 Evaluation of argv[0] in pipeline occurs in child stdout: 1 cmd=echostderr: |
dash | 18 bash/dash/mksh run the last command is run in its own process stdout: line=stderr: |
bash | 18 bash/dash/mksh run the last command is run in its own process stdout: line=stderr: |
mksh | 18 bash/dash/mksh run the last command is run in its own process stdout: line=stderr: |
dash | 19 shopt -s lastpipe (always on in OSH) stdout: line=stderr: dash: 1: shopt: not found |
mksh | 19 shopt -s lastpipe (always on in OSH) stdout: line=stderr: mksh: <stdin>[1]: shopt: not found |
dash | 20 shopt -s lastpipe (always on in OSH) stdout: i=0stderr: dash: 1: shopt: not found dash: 4: i++: not found dash: 4: i++: not found dash: 4: i++: not found |
mksh | 20 shopt -s lastpipe (always on in OSH) stdout: i=0stderr: mksh: <stdin>[1]: shopt: not found |
dash | 21 SIGPIPE causes pipeline to die (regression for issue #295) stdout: stderr: cat: write error: Broken pipe dash: 2: Bad substitution |
bash | 21 SIGPIPE causes pipeline to die (regression for issue #295) stdout: 1 0stderr: cat: write error: Broken pipe |
zsh | 21 SIGPIPE causes pipeline to die (regression for issue #295) stdout: stderr: cat: write error: Broken pipe |