| status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
| pass | 25 | 16 | 17 | 19 | 21 | 21 | 12 | 23 | 23 | 24 | |
| ok | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
| N-I | 0 | 9 | 0 | 5 | 3 | 0 | 0 | 0 | 0 | 1 | |
| BUG | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | |
| FAIL | 0 | 0 | 9 | 0 | 0 | 5 | 13 | 3 | 3 | 1 | |
| TIME | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |
| total | 26 | 26 | 26 | 26 | 26 | 26 | 26 | 26 | 26 | 26 | |
| case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
| 0 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Brace group in pipeline |
| 1 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | For loop starts pipeline |
| details | |||||||||||
| 2 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | While Loop ends pipeline |
| details | |||||||||||
| 3 | pass | pass | pass | BUG | pass | pass | pass | pass | pass | pass | Redirect in Pipeline |
| details | |||||||||||
| 4 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Pipeline comments |
| 5 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Exit code is last status |
| 6 | pass | N-I | FAIL | N-I | BUG | FAIL | FAIL | pass | FAIL | pass | Initial value of PIPESTATUS is empty string |
| details | details | details | details | details | details | details | |||||
| 7 | pass | N-I | FAIL | N-I | pass | pass | FAIL | pass | pass | pass | PIPESTATUS |
| details | details | details | details | ||||||||
| 8 | pass | N-I | FAIL | N-I | pass | pass | FAIL | FAIL | pass | FAIL | PIPESTATUS is set on simple commands |
| details | details | details | details | details | details | ||||||
| 9 | pass | N-I | FAIL | N-I | pass | pass | FAIL | pass | pass | pass | PIPESTATUS with shopt -s lastpipe |
| details | details | details | details | ||||||||
| 10 | pass | N-I | FAIL | pass | N-I | FAIL | pass | pass | pass | N-I | |& |
| details | details | details | details | details | |||||||
| 11 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | ! turns non-zero into zero |
| 12 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | ! turns zero into 1 |
| 13 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | ! in if |
| 14 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | ! with || |
| 15 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | ! with { } |
| details | |||||||||||
| 16 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | ! with ( ) |
| details | |||||||||||
| 17 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | ! is not a command |
| 18 | pass | pass | pass | BUG | pass | pass | FAIL | FAIL | pass | pass | Evaluation of argv[0] in pipeline occurs in child |
| details | details | details | |||||||||
| 19 | ok | ok | FAIL | pass | ok | FAIL | FAIL | FAIL | FAIL | pass | bash/dash/mksh run the last command is run in its own process |
| details | details | details | details | details | details | details | details | ||||
| 20 | pass | N-I | FAIL | pass | N-I | FAIL | FAIL | pass | pass | pass | shopt -s lastpipe (always on in OSH) |
| details | details | details | details | details | |||||||
| 21 | pass | N-I | FAIL | pass | N-I | FAIL | FAIL | pass | pass | pass | shopt -s lastpipe (always on in OSH) |
| details | details | details | details | details | |||||||
| 22 | pass | N-I | FAIL | N-I | pass | pass | TIME | pass | pass | pass | SIGPIPE causes pipeline to die (regression for issue #295) |
| details | details | details | details | ||||||||
| 23 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Nested pipelines |
| 24 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Pipeline in eval |
| 25 | pass | N-I | pass | pass | pass | pass | FAIL | pass | FAIL | pass | shopt -s lastpipe and shopt -s no_last_fork interaction |
| details | details | details |
201 passed, 3 OK, 18 not implemented, 3 BUG, 34 failed, 1 timeouts, 0 cases skipped 1 failed under osh
| toysh | 1 For loop starts pipeline [toysh stdout] Expected 'two\none\n' Got '' stdout: stderr: |
| toysh | 2 While Loop ends pipeline [toysh stdout] Expected '.1\n.2\n.3\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: read: No such file or directory sh: 1: No such file or directory sh: 2: No such file or directory sh: 3: No such file or directory |
| zsh | 3 Redirect in Pipeline stdout: 1stderr: hi |
| dash | 6 Initial value of PIPESTATUS is empty string stdout: stderr: |
| ash | 6 Initial value of PIPESTATUS is empty string [ash stdout] Expected 'pipestatus\n' Got '' [ash status] Expected 0 Got 2 stdout: stderr: ash: syntax error: bad substitution |
| zsh | 6 Initial value of PIPESTATUS is empty string stdout: stderr: |
| mksh | 6 Initial value of PIPESTATUS is empty string stdout: pipestatus 0stderr: |
| ksh | 6 Initial value of PIPESTATUS is empty string [ksh stdout] Expected 'pipestatus\n' Got 'pipestatus 0\n' stdout: pipestatus 0stderr: |
| toysh | 6 Initial value of PIPESTATUS is empty string [toysh stdout] Expected 'pipestatus\n' Got '' [toysh status] Expected 0 Got -6 stdout: stderr: munmap_chunk(): invalid pointer |
| brush | 6 Initial value of PIPESTATUS is empty string [brush stdout] Expected 'pipestatus\n' Got 'pipestatus 0\n' stdout: pipestatus 0stderr: |
| dash | 7 PIPESTATUS stdout: stderr: dash: 5: Bad substitution |
| ash | 7 PIPESTATUS [ash stdout] Expected '1 2 3\n' Got '' [ash status] Expected 0 Got 2 stdout: stderr: ash: syntax error: bad substitution |
| zsh | 7 PIPESTATUS stdout: stderr: |
| toysh | 7 PIPESTATUS [toysh stdout] Expected '1 2 3\n' Got '\n' stdout: stderr: |
| dash | 8 PIPESTATUS is set on simple commands stdout: stderr: |
| ash | 8 PIPESTATUS is set on simple commands [ash stdout] Expected 'pipestatus 1\npipestatus 55 44\npipestatus 0\n' Got '' [ash status] Expected 0 Got 2 stdout: stderr: ash: syntax error: bad substitution |
| zsh | 8 PIPESTATUS is set on simple commands stdout: stderr: |
| toysh | 8 PIPESTATUS is set on simple commands [toysh stdout] Expected 'pipestatus 1\npipestatus 55 44\npipestatus 0\n' Got '' [toysh status] Expected 0 Got -6 stdout: stderr: munmap_chunk(): invalid pointer |
| sush | 8 PIPESTATUS is set on simple commands [sush stdout] Expected 'pipestatus 1\npipestatus 55 44\npipestatus 0\n' Got 'pipestatus\npipestatus 55 44\npipestatus 55 44\n' stdout: pipestatus pipestatus 55 44 pipestatus 55 44stderr: |
| osh | 8 PIPESTATUS is set on simple commands [osh stdout] Expected 'pipestatus 1\npipestatus 55 44\npipestatus 0\n' Got 'pipestatus\npipestatus 55 44\npipestatus 55 44\n' stdout: pipestatus pipestatus 55 44 pipestatus 55 44stderr: |
| dash | 9 PIPESTATUS with shopt -s lastpipe stdout: stderr: dash: 1: shopt: not found dash: 6: Bad substitution |
| ash | 9 PIPESTATUS with shopt -s lastpipe [ash stdout] Expected '1 2 3\n' Got '' [ash status] Expected 0 Got 2 stdout: stderr: ash: shopt: not found ash: syntax error: bad substitution |
| zsh | 9 PIPESTATUS with shopt -s lastpipe stdout: stderr: zsh: command not found: shopt |
| toysh | 9 PIPESTATUS with shopt -s lastpipe [toysh stdout] Expected '1 2 3\n' Got '\n' stdout: stderr: sh: shopt: No such file or directory |
| dash | 10 |& stdout: stderr: dash: 1: Syntax error: "&" unexpected |
| ash | 10 |& [ash stdout] Expected 'STDERR\nSTDOUT\n' Got '' [ash status] Expected 0 Got 2 stdout: stderr: ash: syntax error: unexpected "&" |
| mksh | 10 |& stdout: stderr: STDERR close failed in file object destructor: sys.excepthook is missing lost sys.stderr |
| ksh | 10 |& [ksh stdout] Expected 'STDERR\nSTDOUT\n' Got '' stdout: stderr: STDERR close failed in file object destructor: sys.excepthook is missing lost sys.stderr |
| osh | 10 |& stdout: stderr: stdout_stderr.py |& cat
^~
[ stdin ]:1: fatal: |& isn't supported
|
| toysh | 15 ! with { } [toysh stdout] Expected '1\n2\nFAILED\n' Got '' [toysh status] Expected 0 Got 2 stdout: stderr: main: line 1: sh: syntax error: } |
| toysh | 16 ! with ( ) [toysh stdout] Expected '1\n2\nFAILED\n' Got '' [toysh status] Expected 0 Got 2 stdout: stderr: main: line 1: sh: syntax error: echo |
| zsh | 18 Evaluation of argv[0] in pipeline occurs in child stdout: 1 cmd=echostderr: |
| toysh | 18 Evaluation of argv[0] in pipeline occurs in child [toysh stdout] Expected '1\ncmd=\n' Got '1\ncmd=echo\n' stdout: 1 cmd=echostderr: |
| sush | 18 Evaluation of argv[0] in pipeline occurs in child [sush stdout] Expected '1\ncmd=\n' Got '1\ncmd=echo\n' stdout: 1 cmd=echostderr: |
| bash | 19 bash/dash/mksh run the last command is run in its own process stdout: line=stderr: |
| dash | 19 bash/dash/mksh run the last command is run in its own process stdout: line=stderr: |
| ash | 19 bash/dash/mksh run the last command is run in its own process [ash stdout] Expected 'line=hi\n' Got 'line=\n' stdout: line=stderr: |
| mksh | 19 bash/dash/mksh run the last command is run in its own process stdout: line=stderr: |
| ksh | 19 bash/dash/mksh run the last command is run in its own process [ksh stdout] Expected 'line=hi\n' Got 'line=\n' stdout: line=stderr: |
| toysh | 19 bash/dash/mksh run the last command is run in its own process [toysh stdout] Expected 'line=hi\n' Got 'line=\n' stdout: line=stderr: sh: read: No such file or directory |
| sush | 19 bash/dash/mksh run the last command is run in its own process [sush stdout] Expected 'line=hi\n' Got 'line=\n' stdout: line=stderr: |
| brush | 19 bash/dash/mksh run the last command is run in its own process [brush stdout] Expected 'line=hi\n' Got 'line=\n' stdout: line=stderr: |
| dash | 20 shopt -s lastpipe (always on in OSH) stdout: line=stderr: dash: 1: shopt: not found |
| ash | 20 shopt -s lastpipe (always on in OSH) [ash stdout] Expected 'line=hi\n' Got 'line=\n' stdout: line=stderr: ash: shopt: not found |
| mksh | 20 shopt -s lastpipe (always on in OSH) stdout: line=stderr: mksh: <stdin>[1]: shopt: not found |
| ksh | 20 shopt -s lastpipe (always on in OSH) [ksh stdout] Expected 'line=hi\n' Got 'line=\n' stdout: line=stderr: E: ksh: <stdin>[1]: shopt: inaccessible or not found |
| toysh | 20 shopt -s lastpipe (always on in OSH) [toysh stdout] Expected 'line=hi\n' Got 'line=\n' stdout: line=stderr: sh: shopt: No such file or directory sh: read: No such file or directory |
| dash | 21 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 |
| ash | 21 shopt -s lastpipe (always on in OSH) [ash stdout] Expected 'i=3\n' Got 'i=0\n' stdout: i=0stderr: ash: shopt: not found ash: i++: not found ash: i++: not found ash: i++: not found |
| mksh | 21 shopt -s lastpipe (always on in OSH) stdout: i=0stderr: mksh: <stdin>[1]: shopt: not found |
| ksh | 21 shopt -s lastpipe (always on in OSH) [ksh stdout] Expected 'i=3\n' Got 'i=0\n' stdout: i=0stderr: E: ksh: <stdin>[1]: shopt: inaccessible or not found |
| toysh | 21 shopt -s lastpipe (always on in OSH) [toysh stdout] Expected 'i=3\n' Got 'i=0\n' stdout: i=0stderr: sh: shopt: No such file or directory sh: read: No such file or directory |
| dash | 22 SIGPIPE causes pipeline to die (regression for issue #295) stdout: stderr: dash: 2: Bad substitution |
| ash | 22 SIGPIPE causes pipeline to die (regression for issue #295) [ash stdout] Expected '141 0\n' Got '' [ash status] Expected 0 Got 2 stdout: stderr: ash: syntax error: bad substitution |
| zsh | 22 SIGPIPE causes pipeline to die (regression for issue #295) stdout: stderr: |
| dash | 25 shopt -s lastpipe and shopt -s no_last_fork interaction stdout: stderr: |
| toysh | 25 shopt -s lastpipe and shopt -s no_last_fork interaction [toysh stdout] Expected '0\nstatus=1\n0\nstatus=1\n' Got '' [toysh status] Expected 0 Got -6 stdout: stderr: munmap_chunk(): invalid pointer |
| brush | 25 shopt -s lastpipe and shopt -s no_last_fork interaction [brush stdout] Expected '0\nstatus=1\n0\nstatus=1\n' Got '0\nstatus=0\n0\nstatus=0\n' stdout: 0 status=0 0 status=0stderr: shopt: no_fork_last: invalid shell option name |