Results for redirect-multi.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 114389913
ok 0200000
N-I 1600000
BUG 1100000
FAIL 00105440
total13131313131313
casebashmkshkshtoyshsushbrushoshdescription
0pass N-I FAIL pass pass pass pass File redirects with glob args (bash and zsh only)
detailsdetails
1pass pass pass pass pass pass pass File redirect without matching any file
2N-I N-I FAIL FAIL FAIL FAIL pass ysh behavior when glob doesn't match
detailsdetailsdetailsdetailsdetailsdetails
3pass N-I FAIL FAIL FAIL FAIL pass File redirect without matching any file, with failglob
detailsdetailsdetailsdetailsdetails
4pass pass pass pass pass pass pass Redirect to $empty (in function body)
5pass pass pass pass pass pass pass Redirect to ''
6pass ok FAIL pass pass FAIL pass File redirect to $var with glob char
detailsdetailsdetails
7pass N-I FAIL pass pass pass pass File redirect that globs to more than one file (bash and zsh only)
detailsdetails
8pass BUG FAIL FAIL pass pass pass File redirect with extended glob
detailsdetailsdetails
9pass N-I FAIL FAIL FAIL FAIL pass Extended glob that doesn't match anything
detailsdetailsdetailsdetailsdetails
10BUG pass FAIL FAIL FAIL pass pass Non-file redirects don't respect glob args (we differe from bash)
detailsdetailsdetailsdetails
11pass N-I FAIL pass pass pass pass Redirect with brace expansion isn't allowed
detailsdetails
12pass ok FAIL pass pass pass pass File redirects have word splitting too!
detailsdetails
57 passed, 2 OK, 7 not implemented, 2 BUG, 23 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

mksh0 File redirects with glob args (bash and zsh only)

stdout:
escaped
stderr:
ksh0 File redirects with glob args (bash and zsh only)

[ksh stdout] Expected 'hi\nescaped\n', got 'escaped\n'

stdout:
escaped
stderr:
bash2 ysh behavior when glob doesn't match

stdout:
status=0
qq-*-zz
stderr:
bash: line 1: shopt: ysh:upgrade: invalid shell option name
mksh2 ysh behavior when glob doesn't match

stdout:
status=0
qq-*-zz
stderr:
mksh: <stdin>[1]: shopt: not found
ksh2 ysh behavior when glob doesn't match

[ksh stdout] Expected '', got 'status=0\nqq-*-zz\n'
[ksh status] Expected 1, got 0

stdout:
status=0
qq-*-zz
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
toysh2 ysh behavior when glob doesn't match

[toysh stdout] Expected '', got 'status=0\nqq-*-zz\n'
[toysh status] Expected 1, got 0

stdout:
status=0
qq-*-zz
stderr:
sh: shopt: No such file or directory
sush2 ysh behavior when glob doesn't match

[sush stdout] Expected '', got 'status=0\nqq-*-zz\n'
[sush status] Expected 1, got 0

stdout:
status=0
qq-*-zz
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: shopt: ysh:upgrade: not supported yet
brush2 ysh behavior when glob doesn't match

[brush stdout] Expected '', got 'status=0\nqq-*-zz\n'
[brush status] Expected 1, got 0

stdout:
status=0
qq-*-zz
stderr:
shopt: ysh:upgrade: invalid shell option name
mksh3 File redirect without matching any file, with failglob

stdout:
status=0
zz-*-xx
status=0
stderr:
mksh: <stdin>[1]: shopt: not found
ksh3 File redirect without matching any file, with failglob

[ksh stdout] Expected 'status=1\nstatus=1\n', got 'status=0\nzz-*-xx\nstatus=0\n'

stdout:
status=0
zz-*-xx
status=0
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
toysh3 File redirect without matching any file, with failglob

[toysh stdout] Expected 'status=1\nstatus=1\n', got 'status=0\nzz-*-xx\nstatus=0\n'

stdout:
status=0
zz-*-xx
status=0
stderr:
sh: shopt: No such file or directory
sush3 File redirect without matching any file, with failglob

[sush stdout] Expected 'status=1\nstatus=1\n', got 'status=0\nzz-*-xx\nstatus=0\n'

stdout:
status=0
zz-*-xx
status=0
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: shopt: failglob: not supported yet
brush3 File redirect without matching any file, with failglob

[brush stdout] Expected 'status=1\nstatus=1\n', got 'status=0\nzz-*-xx\nstatus=0\n'

stdout:
status=0
zz-*-xx
status=0
stderr:
mksh6 File redirect to $var with glob char

stdout:
status=0
==> two-bar <==

==> two-* <==
hi
stderr:
ksh6 File redirect to $var with glob char

[ksh stdout] Expected 'status=0\n==> two-bar <==\nhi\n', got 'status=0\n==> two-bar <==\n\n==> two-* <==\nhi\n'
[ksh status] Expected 1, got 0

stdout:
status=0
==> two-bar <==

==> two-* <==
hi
stderr:
brush6 File redirect to $var with glob char

[brush status] Expected 1, got 0

stdout:
status=0
==> two-bar <==
hi
stderr:
head: cannot open 'two-*' for reading: No such file or directory
mksh7 File redirect that globs to more than one file (bash and zsh only)

stdout:
status=0
==> foo-bar <==

==> foo-spam <==
stderr:
ksh7 File redirect that globs to more than one file (bash and zsh only)

[ksh stdout] Expected 'status=1\n==> foo-bar <==\n\n==> foo-spam <==\n' Got 'status=0\n==> foo-bar <==\n\n==> foo-spam <==\n'

stdout:
status=0
==> foo-bar <==

==> foo-spam <==
stderr:
mksh8 File redirect with extended glob

stdout:
status=0
stderr:
mksh: <stdin>[1]: shopt: not found
ksh8 File redirect with extended glob

[ksh stdout] Expected 'status=0\nhi\n', got 'status=0\n'

stdout:
status=0
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
toysh8 File redirect with extended glob

[toysh stdout] Expected 'status=0\nhi\n', got 'status=0\n'

stdout:
status=0
stderr:
sh: shopt: No such file or directory
mksh9 Extended glob that doesn't match anything

stdout:
status=0
bad_@(*.cc|*.h)
status=0
stderr:
mksh: <stdin>[1]: shopt: not found
rm: cannot remove 'bad_*': No such file or directory
mksh: <stdin>[9]: shopt: not found
ksh9 Extended glob that doesn't match anything

[ksh stdout] Expected 'status=0\nbad_@(*.cc|*.h)\nstatus=1\n', got 'status=0\nbad_@(*.cc|*.h)\nstatus=0\n'

stdout:
status=0
bad_@(*.cc|*.h)
status=0
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
rm: cannot remove 'bad_*': No such file or directory
E: ksh: <stdin>[9]: shopt: inaccessible or not found
toysh9 Extended glob that doesn't match anything

[toysh stdout] Expected 'status=0\nbad_@(*.cc|*.h)\nstatus=1\n', got 'status=0\nbad_@(*.cc|*.h)\nstatus=0\n'

stdout:
status=0
bad_@(*.cc|*.h)
status=0
stderr:
sh: shopt: No such file or directory
rm: cannot remove 'bad_*': No such file or directory
sh: shopt: No such file or directory
sush9 Extended glob that doesn't match anything

[sush stdout] Expected 'status=0\nbad_@(*.cc|*.h)\nstatus=1\n', got 'status=0\nbad_@(*.cc|*.h)\nstatus=0\n'

stdout:
status=0
bad_@(*.cc|*.h)
status=0
stderr:
rm: cannot remove 'bad_*': No such file or directory
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: shopt: failglob: not supported yet
brush9 Extended glob that doesn't match anything

[brush stdout] Expected 'status=0\nbad_@(*.cc|*.h)\nstatus=1\n', got 'status=0\nbad_@(*.cc|*.h)\nstatus=0\n'

stdout:
status=0
bad_@(*.cc|*.h)
status=0
stderr:
rm: cannot remove 'bad_*': No such file or directory
bash10 Non-file redirects don't respect glob args (we differe from bash)

stdout:
should-not-be-on-stdout
stdout
stderr:
stderr
ksh10 Non-file redirects don't respect glob args (we differe from bash)

[ksh stdout] Expected 'stdout\n', got ''
[ksh status] Expected 0, got 127

stdout:
stderr: 
E: ksh: <stdin>[3]: 10: inaccessible or not found
toysh10 Non-file redirects don't respect glob args (we differe from bash)

[toysh stdout] Expected 'stdout\n', got 'should-not-be-on-stdout\nstdout\n'

stdout:
should-not-be-on-stdout
stdout
stderr:
stderr
sush10 Non-file redirects don't respect glob args (we differe from bash)

[sush stdout] Expected 'stdout\n', got 'should-not-be-on-stdout\nstdout\n'

stdout:
should-not-be-on-stdout
stdout
stderr:
stderr
mksh11 Redirect with brace expansion isn't allowed

stdout:
status=0
hi
status=0
stderr:
ksh11 Redirect with brace expansion isn't allowed

[ksh stdout] Expected 'status=1\nstatus=1\n', got 'status=0\nhi\nstatus=0\n'

stdout:
status=0
hi
status=0
stderr:
mksh12 File redirects have word splitting too!

stdout:
status=0
hi
status=0
stderr:
ksh12 File redirects have word splitting too!

[ksh stdout] Expected 'status=1\nstatus=1\n', got 'status=0\nhi\nstatus=0\n'

stdout:
status=0
hi
status=0
stderr: