status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 34 | 19 | 27 | 31 | 29 | 29 | 18 | 22 | 29 | 35 | |
ok | 0 | 10 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 1 | |
N-I | 0 | 7 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | |
BUG | 3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 10 | 6 | 0 | 8 | 19 | 15 | 8 | 1 | |
total | 37 | 37 | 37 | 37 | 37 | 37 | 37 | 37 | 37 | 37 | |
case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | >& and <& are the same |
1 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | <& |
details | |||||||||||
2 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | 2>&1 with no command |
details | |||||||||||
3 | pass | ok | FAIL | FAIL | ok | FAIL | FAIL | FAIL | pass | pass | 2&>1 (is it a redirect or is it like a&>1) |
details | details | details | details | details | details | details | |||||
4 | pass | ok | pass | pass | pass | pass | pass | pass | pass | pass | Nonexistent file |
details | |||||||||||
5 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Descriptor redirect with spaces |
6 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Filename redirect with spaces |
7 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Quoted filename redirect with spaces |
8 | BUG | ok | FAIL | FAIL | pass | pass | FAIL | pass | pass | pass | Descriptor redirect with filename |
details | details | details | details | details | |||||||
9 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Redirect echo to stderr, and then redirect all of stdout somewhere. |
10 | pass | N-I | FAIL | pass | N-I | FAIL | pass | FAIL | FAIL | pass | Named file descriptor |
details | details | details | details | details | details | ||||||
11 | pass | BUG | pass | FAIL | pass | FAIL | pass | pass | pass | pass | Double digit fd (20> file) |
details | details | details | |||||||||
12 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | : 9> fdleak (OSH regression) |
details | |||||||||||
13 | pass | pass | pass | pass | BUG | pass | FAIL | FAIL | pass | pass | : 3>&3 (OSH regression) |
details | details | details | |||||||||
14 | pass | N-I | FAIL | pass | N-I | FAIL | pass | pass | pass | pass | : 3>&3- |
details | details | details | details | ||||||||
15 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | 3>&- << EOF (OSH regression: fail to restore fds) |
details | |||||||||||
16 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | Open file on descriptor 3 and write to it many times |
details | |||||||||||
17 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Open file on descriptor 4 and write to it many times |
18 | pass | ok | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | Redirect to empty string |
details | details | details | details | ||||||||
19 | pass | ok | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Redirect to file descriptor that's not open |
details | details | details | |||||||||
20 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Open descriptor with exec |
21 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Open multiple descriptors with exec |
22 | pass | ok | pass | pass | pass | pass | FAIL | FAIL | pass | pass | >| to clobber |
details | details | details | |||||||||
23 | pass | N-I | pass | pass | pass | pass | pass | pass | pass | pass | &> redirects stdout and stderr |
details | |||||||||||
24 | pass | N-I | pass | pass | N-I | FAIL | FAIL | FAIL | FAIL | FAIL | >&word redirects stdout and stderr when word is not a number or - |
details | details | details | details | details | details | details | |||||
25 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | 1>&- to close file descriptor |
details | |||||||||||
26 | pass | N-I | FAIL | FAIL | N-I | FAIL | FAIL | FAIL | FAIL | pass | 1>&2- to move file descriptor |
details | details | details | details | details | details | details | details | ||||
27 | BUG | ok | FAIL | FAIL | pass | pass | FAIL | FAIL | FAIL | pass | 1>&2- (Bash bug: fail to restore closed fd) |
details | details | details | details | details | details | details | |||||
28 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | pass | <> for read/write |
details | details | ||||||||||
29 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | pass | <> for read/write named pipes |
details | details | ||||||||||
30 | pass | N-I | FAIL | pass | pass | pass | FAIL | FAIL | pass | pass | &>> appends stdout and stderr |
details | details | details | details | ||||||||
31 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | exec redirect then various builtins |
32 | BUG | pass | FAIL | pass | pass | pass | FAIL | FAIL | FAIL | ok | can't mention big file descriptor |
details | details | details | details | details | details | ||||||
33 | pass | ok | FAIL | pass | ok | FAIL | pass | pass | pass | pass | : >/dev/null 2> / (OSH regression: fail to pop fd frame) |
details | details | details | details | ||||||||
34 | pass | ok | pass | pass | pass | pass | FAIL | pass | pass | pass | echo foo >&100 (OSH regression: does not fail with invalid fd 100) |
details | details | ||||||||||
35 | pass | ok | pass | pass | pass | pass | FAIL | pass | pass | pass | echo foo >&N where N is first unused fd |
details | details | ||||||||||
36 | pass | N-I | FAIL | pass | N-I | FAIL | FAIL | FAIL | FAIL | pass | exec {fd}>&- (OSH regression: fails to close fd) |
details | details | details | details | details | details | details |
273 passed, 13 OK, 12 not implemented, 5 BUG, 67 failed, 0 timeouts, 0 cases skipped 1 failed under osh
toysh | 1 <& [toysh stdout] Expected '[foo51]\n', got '[]\n' stdout: []stderr: sh: read: No such file or directory |
zsh | 2 2>&1 with no command [zsh stdout] Expected 'status=42\nstatus=0\n', got 'status=42\necho status=$?\n' stdout: status=42 echo status=$?stderr: |
dash | 3 2&>1 (is it a redirect or is it like a&>1) stdout: status=0stderr: dash: 1: 2: not found |
ash | 3 2&>1 (is it a redirect or is it like a&>1) [ash stdout] Expected 'status=127\n', got 'status=0\n' stdout: status=0stderr: |
zsh | 3 2&>1 (is it a redirect or is it like a&>1) [zsh stdout] Expected 'status=127\n', got 'echo status=$?\n' stdout: echo status=$?stderr: |
mksh | 3 2&>1 (is it a redirect or is it like a&>1) stdout: status=0stderr: |
ksh | 3 2&>1 (is it a redirect or is it like a&>1) [ksh stdout] Expected 'status=127\n', got 'status=0\n' stdout: status=0stderr: |
toysh | 3 2&>1 (is it a redirect or is it like a&>1) [toysh stdout] Expected 'status=127\n', got 'status=0\n' stdout: status=0stderr: |
sush | 3 2&>1 (is it a redirect or is it like a&>1) [sush stdout] Expected 'status=127\n', got 'status=0\n' stdout: status=0stderr: |
dash | 4 Nonexistent file stdout: status=2stderr: dash: 1: cannot open /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/redirect.test.sh.4051991/04-dash/nonexistent.txt: No such file |
bash | 8 Descriptor redirect with filename stdout: status=0stderr: |
dash | 8 Descriptor redirect with filename stdout: stderr: dash: 2: Syntax error: Bad fd number |
ash | 8 Descriptor redirect with filename [ash stdout] Expected 'status=1\n', got 'status=0\n' stdout: status=0stderr: |
zsh | 8 Descriptor redirect with filename [zsh stdout] Expected 'status=1\n', got 'status=0\n' stdout: status=0stderr: |
toysh | 8 Descriptor redirect with filename [toysh stdout] Expected 'status=1\n', got 'status=0\n' stdout: status=0stderr: |
dash | 10 Named file descriptor stdout: stderr: dash: 1: exec: {myfd}: not found |
ash | 10 Named file descriptor [ash stdout] Expected 'named-fd-contents\n', got '' [ash status] Expected 0, got 127 stdout: stderr: ash: exec: line 1: {myfd}: not found |
mksh | 10 Named file descriptor stdout: stderr: mksh: <stdin>[1]: {myfd}: not found |
ksh | 10 Named file descriptor [ksh stdout] Expected 'named-fd-contents\n', got '' [ksh status] Expected 0, got 127 stdout: stderr: E: ksh: <stdin>[1]: {myfd}: inaccessible or not found |
sush | 10 Named file descriptor [sush stdout] Expected 'named-fd-contents\n', got '' [sush status] Expected 0, got 127 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: {myfd}: command not found |
brush | 10 Named file descriptor [brush stdout] Expected 'named-fd-contents\n', got '' stdout: stderr: error: invalid redirection |
dash | 11 Double digit fd (20> file) stdout: stderr: dash: 1: exec: 20: not found |
zsh | 11 Double digit fd (20> file) [zsh stdout] Expected 'hello20\n', got '' [zsh status] Expected 0, got 127 stdout: stderr: zsh: command not found: 20 |
ksh | 11 Double digit fd (20> file) [ksh stdout] Expected 'hello20\n', got '' [ksh status] Expected 0, got 127 stdout: stderr: E: ksh: <stdin>[1]: 20: inaccessible or not found |
toysh | 12 : 9> fdleak (OSH regression) [toysh stdout] Expected u'', got 'world\n' stdout: worldstderr: |
mksh | 13 : 3>&3 (OSH regression) stdout: stderr: |
toysh | 13 : 3>&3 (OSH regression) [toysh stdout] Expected 'hello\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
sush | 13 : 3>&3 (OSH regression) [sush stdout] Expected 'hello\n', got '' [sush status] Expected 0, got 101 stdout: stderr: thread 'main' panicked at src/elements/io.rs:17:27: cannot close: EBADF note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace |
dash | 14 : 3>&3- stdout: stderr: dash: 2: Syntax error: Bad fd number |
ash | 14 : 3>&3- [ash stdout] Expected 'hello\n', got '' [ash status] Expected 0, got 2 stdout: stderr: ash: redir error |
mksh | 14 : 3>&3- stdout: stderr: mksh: <stdin>[1]: 3>&3- : illegal file descriptor name |
ksh | 14 : 3>&3- [ksh stdout] Expected 'hello\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: W: ksh: <stdin>[1]: 3>&3- : illegal file descriptor name E: ksh: <stdin>[1]: redirection failure |
sush | 15 3>&- << EOF (OSH regression: fail to restore fds) [sush stdout] Expected 'hello\nworld\n', got '' [sush status] Expected 0, got 101 stdout: stderr: thread 'main' panicked at src/elements/io.rs:17:27: cannot close: EBADF note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: 1: bad file descriptor thread 'main' panicked at src/elements/io.rs:17:27: cannot close: EBADF note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace |
sush | 16 Open file on descriptor 3 and write to it many times [sush stdout] Expected 'hello\nworld\n', got '' [sush status] Expected 0, got 101 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 1: bad file descriptor /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: 1: bad file descriptor thread 'main' panicked at src/elements/io.rs:17:27: cannot close: EBADF note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace |
dash | 18 Redirect to empty string stdout: result=2stderr: dash: 2: cannot create : Directory nonexistent dash: 5: cannot create : Directory nonexistent |
toysh | 18 Redirect to empty string [toysh stdout] Expected 'result=1\n', got 'result=1\nDONE\n' [toysh status] Expected 1, got 0 stdout: result=1 DONEstderr: sh: : No such file or directory set: bad -o errexit sh: : No such file or directory |
sush | 18 Redirect to empty string [sush stdout] Expected 'result=1\n', got 'result=1\nDONE\n' [sush status] Expected 1, got 0 stdout: result=1 DONEstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: : entity not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: set: errexit: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: : entity not found |
brush | 18 Redirect to empty string [brush stdout] Expected 'result=1\n', got 'result=1\nDONE\n' [brush status] Expected 1, got 0 stdout: result=1 DONEstderr: error: failed to redirect to : No such file or directory (os error 2) error: failed to redirect to : No such file or directory (os error 2) |
dash | 19 Redirect to file descriptor that's not open stdout: stderr: dash: 8: 7: Bad file descriptor |
toysh | 19 Redirect to file descriptor that's not open [toysh status] Expected 1, got 2 stdout: stderr: main: line 8: sh: syntax error: 1>& |
brush | 19 Redirect to file descriptor that's not open [brush stdout] Expected u'', got "7\nFD 7 shouldn't be open\nOPENED:\n0\n1\n10\n11\n12\n13\n14\n16\n2\n3\n4\n5\n6\n7\n8\n9\n" stdout: 7 FD 7 shouldn't be open OPENED: 0 1 10 11 12 13 14 16 2 3 4 5 6 7 8 9stderr: error: bad file descriptor: 7 |
dash | 22 >| to clobber stdout: status=2 XX ZZstderr: dash: 5: cannot create /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/redirect.test.sh.4051991/22-dash/c.txt: File exists |
toysh | 22 >| to clobber [toysh stdout] Expected 'status=1\nXX\nZZ\n', got 'status=0\nYY\nZZ\n' stdout: status=0 YY ZZstderr: |
sush | 22 >| to clobber [sush stdout] Expected 'status=1\nXX\nZZ\n', got 'status=0\nYY\nYY\n' stdout: status=0 YY YYstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: >| /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: Unexpected token: >| |
dash | 23 &> redirects stdout and stderr stdout: STDOUTstderr: STDERR |
dash | 24 >&word redirects stdout and stderr when word is not a number or - stdout: stderr: |
mksh | 24 >&word redirects stdout and stderr when word is not a number or - stdout: stderr: |
ksh | 24 >&word redirects stdout and stderr when word is not a number or - [ksh stdout] Expected 'STDOUT\nSTDERR\n', got '' [ksh status] Expected 0, got 2 stdout: stderr: W: ksh: <stdin>[5]: >&ksh-4055138.txt : illegal file descriptor name grep: ksh-4055138.txt: No such file or directory grep: ksh-4055138.txt: No such file or directory |
toysh | 24 >&word redirects stdout and stderr when word is not a number or - [toysh stdout] Expected 'STDOUT\nSTDERR\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
sush | 24 >&word redirects stdout and stderr when word is not a number or - [sush stdout] Expected 'STDOUT\nSTDERR\n', got '' [sush status] Expected 0, got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: sush-4055175.txt: ambiguous redirect grep: sush-4055175.txt: No such file or directory grep: sush-4055175.txt: No such file or directory |
brush | 24 >&word redirects stdout and stderr when word is not a number or - [brush stdout] Expected 'STDOUT\nSTDERR\n', got '' stdout: stderr: error: invalid redirection grep: brush-4055231.txt: No such file or directory grep: brush-4055231.txt: No such file or directory |
osh | 24 >&word redirects stdout and stderr when word is not a number or - [osh stdout] Expected 'STDOUT\nSTDERR\n', got '' [osh status] Expected 0, got 2 stdout: stderr: stdout_stderr.py >&$tmp ^~~~ [ stdin ]:5: Invalid descriptor 'osh-4055273.txt'. Expected D, -, or D- where D is an integer grep: osh-4055273.txt: No such file or directory grep: osh-4055273.txt: No such file or directory |
toysh | 25 1>&- to close file descriptor [toysh stdout] Expected 'hello\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 4: sh: syntax error: >& |
dash | 26 1>&2- to move file descriptor stdout: stderr: dash: 4: Syntax error: Bad fd number |
ash | 26 1>&2- to move file descriptor [ash stdout] Expected 'hello5\nworld6\n', got '' [ash status] Expected 0, got 2 stdout: stderr: ash: redir error |
zsh | 26 1>&2- to move file descriptor [zsh stdout] Expected 'hello5\nworld6\n', got 'hello5\nworld5\n' stdout: hello5 world5stderr: |
mksh | 26 1>&2- to move file descriptor stdout: stderr: mksh: <stdin>[3]: 6>&5- : illegal file descriptor name |
ksh | 26 1>&2- to move file descriptor [ksh stdout] Expected 'hello5\nworld6\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: W: ksh: <stdin>[3]: 6>&5- : illegal file descriptor name E: ksh: <stdin>[3]: redirection failure |
toysh | 26 1>&2- to move file descriptor [toysh stdout] Expected 'hello5\nworld6\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 4: sh: syntax error: >& |
sush | 26 1>&2- to move file descriptor [sush stdout] Expected 'hello5\nworld6\n', got '' [sush status] Expected 0, got 101 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: 5-: ambiguous redirect /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: 1: bad file descriptor thread 'main' panicked at src/elements/io.rs:17:27: cannot close: EBADF note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace |
brush | 26 1>&2- to move file descriptor [brush stdout] Expected 'hello5\nworld6\n', got 'hello5\nworld5\n' stdout: hello5 world5stderr: error: bad file descriptor: 6 |
bash | 27 1>&2- (Bash bug: fail to restore closed fd) stdout: hellostderr: bash: line 19: 7: Bad file descriptor |
dash | 27 1>&2- (Bash bug: fail to restore closed fd) stdout: stderr: dash: 19: Syntax error: Bad fd number |
ash | 27 1>&2- (Bash bug: fail to restore closed fd) [ash status] Expected 1, got 2 stdout: stderr: ash: redir error |
zsh | 27 1>&2- (Bash bug: fail to restore closed fd) [zsh stdout] Expected u'', got 'hello\nworld\n' [zsh status] Expected 1, got 0 stdout: hello worldstderr: |
toysh | 27 1>&2- (Bash bug: fail to restore closed fd) [toysh stdout] Expected u'', got 'hello\nworld\n' [toysh status] Expected 1, got 0 stdout: hello worldstderr: |
sush | 27 1>&2- (Bash bug: fail to restore closed fd) [sush status] Expected 1, got 101 stdout: stderr: thread 'main' panicked at src/elements/io.rs:17:27: cannot close: EBADF note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace |
brush | 27 1>&2- (Bash bug: fail to restore closed fd) [brush stdout] Expected u'', got "7\nFD 7 shouldn't be open\nOPENED:\n0\n1\n10\n11\n12\n13\n14\n16\n2\n3\n4\n5\n6\n7\n8\n9\n6\nFD 6 shouldn't be open\nOPENED:\n0\n1\n10\n11\n12\n13\n14\n16\n2\n3\n4\n5\n6\n7\n8\n9\nhello\nworld\n" [brush status] Expected 1, got 0 stdout: 7 FD 7 shouldn't be open OPENED: 0 1 10 11 12 13 14 16 2 3 4 5 6 7 8 9 6 FD 6 shouldn't be open OPENED: 0 1 10 11 12 13 14 16 2 3 4 5 6 7 8 9 hello worldstderr: |
toysh | 28 <> for read/write [toysh stdout] Expected 'line=first\nCONTENTS\nfirst\nsecond\n', got 'line=\nCONTENTS\nsecond\n' stdout: line= CONTENTS secondstderr: sh: read: No such file or directory |
sush | 28 <> for read/write [sush stdout] Expected 'line=first\nCONTENTS\nfirst\nsecond\n', got 'line=\nCONTENTS\nfirst\n' stdout: line= CONTENTS firststderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: Unexpected token: <>$TMP/rw.txt /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: 0: bad file descriptor /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: 1: bad file descriptor |
toysh | 29 <> for read/write named pipes [toysh stdout] Expected 'line1=first line2=second\n', got 'line1= line2=\n' stdout: line1= line2=stderr: sh: read: No such file or directory sh: read: No such file or directory |
sush | 29 <> for read/write named pipes [sush stdout] Expected 'line1=first line2=second\n', got '' [sush status] Expected 0, got 101 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: <> /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: 1: bad file descriptor /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: 1: bad file descriptor /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: 0: bad file descriptor /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: 0: bad file descriptor thread 'main' panicked at src/elements/io.rs:17:27: cannot close: EBADF note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace |
dash | 30 &>> appends stdout and stderr stdout: stderr: |
ash | 30 &>> appends stdout and stderr [ash stdout] Expected 'ok\nok\nok\n', got '' [ash status] Expected 0, got 2 stdout: stderr: ash: syntax error: unexpected redirection |
toysh | 30 &>> appends stdout and stderr [toysh stdout] Expected 'ok\nok\nok\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 30 &>> appends stdout and stderr [sush stdout] Expected 'ok\nok\nok\n', got 'STDOUT\nok\n' [sush status] Expected 0, got 1 stdout: STDOUT okstderr: 4056418 STDERR |
bash | 32 can't mention big file descriptor stdout: hi hi histderr: |
ash | 32 can't mention big file descriptor [ash stdout] Expected 'hi\nhi 99\nhi 100\n', got 'hi\nhi\nhi\n' stdout: hi hi histderr: |
toysh | 32 can't mention big file descriptor [toysh stdout] Expected 'hi\nhi 99\nhi 100\n', got 'hi\nhi\nhi\n' stdout: hi hi histderr: |
sush | 32 can't mention big file descriptor [sush stdout] Expected 'hi\nhi 99\nhi 100\n', got 'hi\nhi\nhi\n' stdout: hi hi histderr: |
brush | 32 can't mention big file descriptor [brush stdout] Expected 'hi\nhi 99\nhi 100\n', got 'hi\nhi\nhi\n' stdout: hi hi histderr: |
osh | 32 can't mention big file descriptor stdout: hi hi hi 100stderr: |
dash | 33 : >/dev/null 2> / (OSH regression: fail to pop fd frame) stdout: stderr: dash: 1: cannot create /: Is a directory |
ash | 33 : >/dev/null 2> / (OSH regression: fail to pop fd frame) [ash stdout] Expected 'hello\n', got '' [ash status] Expected 0, got 1 stdout: stderr: ash: can't create /: Is a directory |
mksh | 33 : >/dev/null 2> / (OSH regression: fail to pop fd frame) stdout: stderr: mksh: <stdin>[1]: can't create /: Is a directory |
ksh | 33 : >/dev/null 2> / (OSH regression: fail to pop fd frame) [ksh stdout] Expected 'hello\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: W: ksh: <stdin>[1]: /: create: Is a directory E: ksh: <stdin>[1]: redirection failure |
dash | 34 echo foo >&100 (OSH regression: does not fail with invalid fd 100) stdout: stderr: dash: 3: Syntax error: Bad fd number |
toysh | 34 echo foo >&100 (OSH regression: does not fail with invalid fd 100) [toysh status] Expected 1, got 2 stdout: stderr: main: line 2: sh: syntax error: >& |
dash | 35 echo foo >&N where N is first unused fd stdout: stderr: dash: 13: Syntax error: Bad fd number |
toysh | 35 echo foo >&N where N is first unused fd [toysh status] Expected 1, got 2 stdout: stderr: main: line 2: sh: syntax error: ( |
dash | 36 exec {fd}>&- (OSH regression: fails to close fd) stdout: stderr: |
ash | 36 exec {fd}>&- (OSH regression: fails to close fd) [ash stdout] Expected 'foo55\n', got '' [ash status] Expected 0, got 127 stdout: stderr: ash: exec: line 2: {fd}: not found |
mksh | 36 exec {fd}>&- (OSH regression: fails to close fd) stdout: stderr: |
ksh | 36 exec {fd}>&- (OSH regression: fails to close fd) [ksh stdout] Expected 'foo55\n', got '' [ksh status] Expected 0, got 127 stdout: stderr: E: ksh: <stdin>[2]: {fd}: inaccessible or not found |
toysh | 36 exec {fd}>&- (OSH regression: fails to close fd) [toysh stdout] Expected 'foo55\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
sush | 36 exec {fd}>&- (OSH regression: fails to close fd) [sush stdout] Expected 'foo55\n', got '' [sush status] Expected 0, got 127 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: {fd}: command not found |
brush | 36 exec {fd}>&- (OSH regression: fails to close fd) [brush stdout] Expected 'foo55\n', got '' stdout: stderr: error: invalid redirection error: invalid redirection |