Results for glob-bash.test.sh

statusbashdashashzshmkshkshtoyshsushbrushosh
pass 8000000527
ok 0000000001
N-I 0880800000
FAIL 0008088360
total8888888888
casebashdashashzshmkshkshtoyshsushbrushoshdescription
0pass N-I N-I FAIL N-I FAIL FAIL pass pass pass shopt -s nullglob
detailsdetailsdetailsdetailsdetailsdetails
1pass N-I N-I FAIL N-I FAIL FAIL FAIL FAIL pass shopt -s failglob in command context
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
2pass N-I N-I FAIL N-I FAIL FAIL FAIL FAIL pass shopt -s failglob in loop context
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
3pass N-I N-I FAIL N-I FAIL FAIL pass FAIL pass shopt -s failglob in array literal context
detailsdetailsdetailsdetailsdetailsdetailsdetails
4pass N-I N-I FAIL N-I FAIL FAIL pass FAIL pass shopt -s failglob exits properly in command context with set -e
detailsdetailsdetailsdetailsdetailsdetailsdetails
5pass N-I N-I FAIL N-I FAIL FAIL pass FAIL pass shopt -s failglob exits properly in loop context with set -e
detailsdetailsdetailsdetailsdetailsdetailsdetails
6pass N-I N-I FAIL N-I FAIL FAIL FAIL FAIL ok shopt -s failglob behavior on single line with semicolon
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
7pass N-I N-I FAIL N-I FAIL FAIL pass pass pass dotglob (bash option that dashglob is roughly consistent with)
detailsdetailsdetailsdetailsdetailsdetails
22 passed, 1 OK, 24 not implemented, 0 BUG, 33 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

dash0 shopt -s nullglob

stdout:
['_tmp/spec-tmp/*.nonexistent']
['_tmp/spec-tmp/*.nonexistent']
stderr:
dash: 2: shopt: not found
ash0 shopt -s nullglob

stdout:
['_tmp/spec-tmp/*.nonexistent']
['_tmp/spec-tmp/*.nonexistent']
stderr:
ash: shopt: not found
zsh0 shopt -s nullglob

[zsh stdout] Expected "['_tmp/spec-tmp/*.nonexistent']\n[]\n", got ''
[zsh status] Expected 0, got 1

stdout:
stderr: 
zsh: no matches found: _tmp/spec-tmp/*.nonexistent
zsh: command not found: shopt
zsh: no matches found: _tmp/spec-tmp/*.nonexistent
mksh0 shopt -s nullglob

stdout:
['_tmp/spec-tmp/*.nonexistent']
['_tmp/spec-tmp/*.nonexistent']
stderr:
mksh: <stdin>[2]: shopt: not found
ksh0 shopt -s nullglob

[ksh stdout] Expected "['_tmp/spec-tmp/*.nonexistent']\n[]\n", got "['_tmp/spec-tmp/*.nonexistent']\n['_tmp/spec-tmp/*.nonexistent']\n"

stdout:
['_tmp/spec-tmp/*.nonexistent']
['_tmp/spec-tmp/*.nonexistent']
stderr:
E: ksh: <stdin>[2]: shopt: inaccessible or not found
toysh0 shopt -s nullglob

[toysh stdout] Expected "['_tmp/spec-tmp/*.nonexistent']\n[]\n", got "['_tmp/spec-tmp/*.nonexistent']\n['_tmp/spec-tmp/*.nonexistent']\n"

stdout:
['_tmp/spec-tmp/*.nonexistent']
['_tmp/spec-tmp/*.nonexistent']
stderr:
sh: shopt: No such file or directory
dash1 shopt -s failglob in command context

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
dash: 2: shopt: not found
ash1 shopt -s failglob in command context

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
ash: shopt: not found
zsh1 shopt -s failglob in command context

[zsh stdout] Expected "['*.ZZ']\nstatus=1\n", got 'status=1\n'

stdout:
status=1
stderr:
zsh: no matches found: *.ZZ
zsh: command not found: shopt
zsh: no matches found: *.ZZ
mksh1 shopt -s failglob in command context

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
mksh: <stdin>[2]: shopt: not found
ksh1 shopt -s failglob in command context

[ksh stdout] Expected "['*.ZZ']\nstatus=1\n", got "['*.ZZ']\n['*.ZZ']\nstatus=0\n"

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
E: ksh: <stdin>[2]: shopt: inaccessible or not found
toysh1 shopt -s failglob in command context

[toysh stdout] Expected "['*.ZZ']\nstatus=1\n", got "['*.ZZ']\n['*.ZZ']\nstatus=0\n"

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
sh: shopt: No such file or directory
sush1 shopt -s failglob in command context

[sush stdout] Expected "['*.ZZ']\nstatus=1\n", got "['*.ZZ']\n['*.ZZ']\nstatus=0\n"

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: shopt: failglob: not supported yet
brush1 shopt -s failglob in command context

[brush stdout] Expected "['*.ZZ']\nstatus=1\n", got "['*.ZZ']\n['*.ZZ']\nstatus=0\n"

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
dash2 shopt -s failglob in loop context

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
dash: 3: shopt: not found
ash2 shopt -s failglob in loop context

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
ash: shopt: not found
zsh2 shopt -s failglob in loop context

[zsh stdout] Expected '*.ZZ\nstatus=0\nstatus=1\n', got ''
[zsh status] Expected 0, got 1

stdout:
stderr: 
zsh: no matches found: *.ZZ
mksh2 shopt -s failglob in loop context

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
mksh: <stdin>[3]: shopt: not found
ksh2 shopt -s failglob in loop context

[ksh stdout] Expected '*.ZZ\nstatus=0\nstatus=1\n', got '*.ZZ\nstatus=0\n*.ZZ\nstatus=0\n'

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
E: ksh: <stdin>[3]: shopt: inaccessible or not found
toysh2 shopt -s failglob in loop context

[toysh stdout] Expected '*.ZZ\nstatus=0\nstatus=1\n', got '*.ZZ\nstatus=0\n*.ZZ\nstatus=0\n'

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
sh: shopt: No such file or directory
sush2 shopt -s failglob in loop context

[sush stdout] Expected '*.ZZ\nstatus=0\nstatus=1\n', got '*.ZZ\nstatus=0\n*.ZZ\nstatus=0\n'

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: shopt: failglob: not supported yet
brush2 shopt -s failglob in loop context

[brush stdout] Expected '*.ZZ\nstatus=0\nstatus=1\n', got '*.ZZ\nstatus=0\n*.ZZ\nstatus=0\n'

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
dash3 shopt -s failglob in array literal context

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash3 shopt -s failglob in array literal context

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh3 shopt -s failglob in array literal context

[zsh stdout] Expected '*.ZZ\nstatus=1\n', got ''
[zsh status] Expected 0, got 1

stdout:
stderr: 
zsh: no matches found: *.ZZ
mksh3 shopt -s failglob in array literal context

stdout:
*.ZZ
status=0
stderr:
mksh: <stdin>[3]: shopt: not found
ksh3 shopt -s failglob in array literal context

[ksh stdout] Expected '*.ZZ\nstatus=1\n', got '*.ZZ\nstatus=0\n'

stdout:
*.ZZ
status=0
stderr:
E: ksh: <stdin>[3]: shopt: inaccessible or not found
toysh3 shopt -s failglob in array literal context

[toysh stdout] Expected '*.ZZ\nstatus=1\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: *.ZZ
brush3 shopt -s failglob in array literal context

[brush stdout] Expected '*.ZZ\nstatus=1\n', got '*.ZZ\nstatus=0\n'

stdout:
*.ZZ
status=0
stderr:
dash4 shopt -s failglob exits properly in command context with set -e

stdout:
['*.ZZ']
stderr:
dash: 3: shopt: not found
ash4 shopt -s failglob exits properly in command context with set -e

stdout:
['*.ZZ']
stderr:
ash: shopt: not found
zsh4 shopt -s failglob exits properly in command context with set -e

[zsh stdout] Expected "['*.ZZ']\n", got ''

stdout:
stderr: 
zsh: no matches found: *.ZZ
mksh4 shopt -s failglob exits properly in command context with set -e

stdout:
['*.ZZ']
stderr:
mksh: <stdin>[3]: shopt: not found
ksh4 shopt -s failglob exits properly in command context with set -e

[ksh status] Expected 1, got 127

stdout:
['*.ZZ']
stderr:
E: ksh: <stdin>[3]: shopt: inaccessible or not found
toysh4 shopt -s failglob exits properly in command context with set -e

[toysh stdout] Expected "['*.ZZ']\n", got "['*.ZZ']\n['*.ZZ']\nstatus=0\n"
[toysh status] Expected 1, got 0

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
set: bad -e
sh: shopt: No such file or directory
brush4 shopt -s failglob exits properly in command context with set -e

[brush stdout] Expected "['*.ZZ']\n", got "['*.ZZ']\n['*.ZZ']\nstatus=0\n"
[brush status] Expected 1, got 0

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
dash5 shopt -s failglob exits properly in loop context with set -e

stdout:
*.ZZ
status=0
stderr:
dash: 5: shopt: not found
ash5 shopt -s failglob exits properly in loop context with set -e

stdout:
*.ZZ
status=0
stderr:
ash: shopt: not found
zsh5 shopt -s failglob exits properly in loop context with set -e

[zsh stdout] Expected '*.ZZ\nstatus=0\n', got ''

stdout:
stderr: 
zsh: no matches found: *.ZZ
mksh5 shopt -s failglob exits properly in loop context with set -e

stdout:
*.ZZ
status=0
stderr:
mksh: <stdin>[5]: shopt: not found
ksh5 shopt -s failglob exits properly in loop context with set -e

[ksh status] Expected 1, got 127

stdout:
*.ZZ
status=0
stderr:
E: ksh: <stdin>[5]: shopt: inaccessible or not found
toysh5 shopt -s failglob exits properly in loop context with set -e

[toysh stdout] Expected '*.ZZ\nstatus=0\n', got '*.ZZ\nstatus=0\n*.ZZ\nstatus=0\n'
[toysh status] Expected 1, got 0

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
set: bad -e
sh: shopt: No such file or directory
brush5 shopt -s failglob exits properly in loop context with set -e

[brush stdout] Expected '*.ZZ\nstatus=0\n', got '*.ZZ\nstatus=0\n*.ZZ\nstatus=0\n'
[brush status] Expected 1, got 0

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
dash6 shopt -s failglob behavior on single line with semicolon

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
dash: 1: shopt: not found
ash6 shopt -s failglob behavior on single line with semicolon

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
ash: shopt: not found
zsh6 shopt -s failglob behavior on single line with semicolon

[zsh stdout] Expected 'status=1\n', got ''
[zsh status] Expected 0, got 1

stdout:
stderr: 
zsh: command not found: shopt
zsh: no matches found: *.ZZ
mksh6 shopt -s failglob behavior on single line with semicolon

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
mksh: <stdin>[1]: shopt: not found
ksh6 shopt -s failglob behavior on single line with semicolon

[ksh stdout] Expected 'status=1\n', got '*.ZZ\nstatus=0\n*.ZZ\nstatus=0\n'

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
toysh6 shopt -s failglob behavior on single line with semicolon

[toysh stdout] Expected 'status=1\n', got '*.ZZ\nstatus=0\n*.ZZ\nstatus=0\n'

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
sh: shopt: No such file or directory
sush6 shopt -s failglob behavior on single line with semicolon

[sush stdout] Expected 'status=1\n', got '*.ZZ\nstatus=0\n*.ZZ\nstatus=0\n'

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: shopt: failglob: not supported yet
brush6 shopt -s failglob behavior on single line with semicolon

[brush stdout] Expected 'status=1\n', got '*.ZZ\nstatus=0\n*.ZZ\nstatus=0\n'

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
osh6 shopt -s failglob behavior on single line with semicolon

stdout:
status=1
status=1
stderr:
  echo *.ZZ; echo status=$? # bash doesn't execute the second part!
  ^~~~
[ stdin ]:2: failglob: Pattern '*.ZZ' matched no files
  echo *.ZZ
  ^~~~
[ stdin ]:3: failglob: Pattern '*.ZZ' matched no files
dash7 dotglob (bash option that dashglob is roughly consistent with)

stdout:
other
other
stderr:
dash: 6: shopt: not found
ash7 dotglob (bash option that dashglob is roughly consistent with)

stdout:
other
other
stderr:
ash: shopt: not found
zsh7 dotglob (bash option that dashglob is roughly consistent with)

[zsh stdout] Expected 'other\n.foorc other\n', got 'other\nother\n'

stdout:
other
other
stderr:
zsh: command not found: shopt
mksh7 dotglob (bash option that dashglob is roughly consistent with)

stdout:
other
other
stderr:
mksh: <stdin>[6]: shopt: not found
ksh7 dotglob (bash option that dashglob is roughly consistent with)

[ksh stdout] Expected 'other\n.foorc other\n', got 'other\nother\n'

stdout:
other
other
stderr:
E: ksh: <stdin>[6]: shopt: inaccessible or not found
toysh7 dotglob (bash option that dashglob is roughly consistent with)

[toysh stdout] Expected 'other\n.foorc other\n', got 'other\nother\n'

stdout:
other
other
stderr:
sh: shopt: No such file or directory