Results for glob.test.sh

statusdashbashmkshashoshosh_ALT
pass 244026273535
ok 000011
N-I 13091100
BUG 305200
FAIL 000044
total404040404040
casedashbashmkshashoshosh_ALTdescription
0pass pass pass pass pass pass glob double quote escape
1pass pass pass pass pass pass glob single quote escape
2pass pass pass pass pass pass glob backslash escape
3pass pass pass pass pass pass 1 char glob
4pass pass pass pass pass pass 0 char glob -- does NOT work
5pass pass pass pass pass pass looks like glob at the start, but isn't
6pass pass pass pass pass pass looks like glob plus negation at the start, but isn't
7pass pass pass pass pass pass glob can expand to command and arg
8pass pass pass pass pass pass glob after var expansion
9pass pass pass pass pass pass quoted var expansion with glob meta characters
10pass pass pass pass pass pass glob after "$@" expansion
11pass pass pass pass pass pass glob after $@ expansion
12pass pass pass pass pass pass no glob after ~ expansion
13N-I pass pass N-I pass pass store literal globs in array then expand
detailsdetails
14N-I pass pass N-I pass pass glob inside array
detailsdetails
15pass pass pass pass pass pass glob with escaped - in char class
16pass pass BUG pass pass pass glob with char class expression
details
17pass pass pass pass pass pass glob double quotes
18pass pass pass pass pass pass glob escaped
19pass pass BUG BUG pass pass : escaped
detailsdetails
20pass pass pass pass pass pass Glob after var manipulation
21pass pass pass pass pass pass Glob after part joining
22pass pass pass pass pass pass Glob flags on file system
23pass pass pass pass pass pass set -o noglob
24pass pass pass pass pass pass set -o noglob (bug #698)
25N-I pass N-I N-I pass pass shopt -s nullglob
detailsdetailsdetails
26N-I pass N-I N-I pass pass shopt -s failglob in command context
detailsdetailsdetails
27N-I pass N-I N-I pass pass shopt -s failglob in loop context
detailsdetailsdetails
28N-I pass N-I N-I pass pass shopt -s failglob in array literal context
detailsdetailsdetails
29N-I pass N-I N-I pass pass shopt -s failglob exits properly in command context with set -e
detailsdetailsdetails
30N-I pass N-I N-I pass pass shopt -s failglob exits properly in loop context with set -e
detailsdetailsdetails
31N-I pass N-I N-I ok ok shopt -s failglob behavior on single line with semicolon
detailsdetailsdetailsdetailsdetails
32N-I pass N-I N-I FAIL FAIL Don't glob flags on file system with GLOBIGNORE
detailsdetailsdetailsdetailsdetails
33BUG pass pass pass pass pass Splitting/Globbing doesn't happen on local assignment
details
34pass pass pass pass pass pass Glob of unescaped [[] and []]
35BUG pass BUG pass pass pass Glob of negated unescaped [[] and []]
detailsdetails
36N-I pass pass pass FAIL FAIL PatSub of unescaped [[] and []]
detailsdetailsdetails
37N-I pass BUG pass FAIL FAIL PatSub of negated unescaped [[] and []]
detailsdetailsdetailsdetails
38BUG pass BUG BUG pass pass Glob unicode char
detailsdetailsdetails
39N-I pass N-I N-I FAIL FAIL dotglob (bash option that dashglob is roughly consistent with)
detailsdetailsdetailsdetailsdetails
187 passed, 2 OK, 33 not implemented, 10 BUG, 4 failed, 0 timeouts, 0 cases skipped
4 failed under osh

Details on runs that didn't PASS

dash13 store literal globs in array then expand

stdout:
stderr: 
dash: 2: Syntax error: "(" unexpected
ash13 store literal globs in array then expand

stdout:
stderr: 
ash: syntax error: unexpected "("
dash14 glob inside array

stdout:
stderr: 
dash: 2: Syntax error: "(" unexpected
ash14 glob inside array

stdout:
stderr: 
ash: syntax error: unexpected "("
mksh16 glob with char class expression

stdout:
_tmp/*.[[:punct:]E]
stderr:
mksh19 : escaped

stdout:
_tmp/*.[[:punct:]] _tmp/*.[[:punct:]]
stderr:
ash19 : escaped

stdout:
_tmp/foo.- _tmp/foo.-
stderr:
dash25 shopt -s nullglob

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

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

stdout:
['_tmp/spec-tmp/*.nonexistent']
['_tmp/spec-tmp/*.nonexistent']
stderr:
ash: shopt: not found
dash26 shopt -s failglob in command context

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

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

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

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

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

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
ash: shopt: not found
dash28 shopt -s failglob in array literal context

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

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

stdout:
stderr: 
ash: syntax error: unexpected "("
dash29 shopt -s failglob exits properly in command context with set -e

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

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

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

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

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

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

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

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

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
ash: shopt: not found
osh31 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
osh_ALT31 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
dash32 Don't glob flags on file system with GLOBIGNORE

stdout:
hello zzzzz
stderr:
mksh32 Don't glob flags on file system with GLOBIGNORE

stdout:
hello zzzzz
stderr:
ash32 Don't glob flags on file system with GLOBIGNORE

stdout:
hello zzzzz
stderr:
osh32 Don't glob flags on file system with GLOBIGNORE

[osh stdout] Expected u'-* hello zzzz?\n', got 'hello zzzzz'

stdout:
hello zzzzz
stderr:
osh_ALT32 Don't glob flags on file system with GLOBIGNORE

[osh_ALT stdout] Expected u'-* hello zzzz?\n', got ''
[osh_ALT status] Expected 0, got 99

stdout:
stderr: 
dash33 Splitting/Globbing doesn't happen on local assignment

stdout:
stderr: 
dash: 4: local: INSTALL.txt: bad variable name
dash35 Glob of negated unescaped [[] and []]

stdout:
_[^[z] _[^]z]
_[^[z] _[^]z]
stderr:
mksh35 Glob of negated unescaped [[] and []]

stdout:
_[^[z] _[^]z]
_[^[z] _[^]z]
stderr:
dash36 PatSub of unescaped [[] and []]

stdout:
stderr: 
dash: 2: Bad substitution
osh36 PatSub of unescaped [[] and []]

[osh stdout] Expected '<foo]\n[foo>\n<foo]\n[foo>\n', got '<foo]\n[foo>\n[foo]\n[foo>\n'

stdout:
<foo]
[foo>
[foo]
[foo>
stderr:
osh_ALT36 PatSub of unescaped [[] and []]

[osh_ALT stdout] Expected '<foo]\n[foo>\n<foo]\n[foo>\n', got '<foo]\n[foo>\n[foo]\n[foo>\n'

stdout:
<foo]
[foo>
[foo]
[foo>
stderr:
dash37 PatSub of negated unescaped [[] and []]

stdout:
stderr: 
dash: 2: Bad substitution
mksh37 PatSub of negated unescaped [[] and []]

stdout:
<foo]
[foo>
<foo]
stderr:
osh37 PatSub of negated unescaped [[] and []]

[osh stdout] Expected '[<<<<\n>>>>]\n[<<<<\n', got '[<<<<\n>>>>]\n[foo]\n'

stdout:
[<<<<
>>>>]
[foo]
stderr:
osh_ALT37 PatSub of negated unescaped [[] and []]

[osh_ALT stdout] Expected '[<<<<\n>>>>]\n[<<<<\n', got '[<<<<\n>>>>]\n[foo]\n'

stdout:
[<<<<
>>>>]
[foo]
stderr:
dash38 Glob unicode char

stdout:
__a__
stderr:
mksh38 Glob unicode char

stdout:
__a__
stderr:
ash38 Glob unicode char

stdout:
__a__
stderr:
dash39 dotglob (bash option that dashglob is roughly consistent with)

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

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

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

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

stdout:
other
other
stderr:
osh_ALT39 dotglob (bash option that dashglob is roughly consistent with)

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

stdout:
other
other
stderr: