Results for glob.test.sh

statusdashbashmkshashoshosh_ALT
pass 243526272929
N-I 905700
BUG 315200
FAIL 000077
total363636363636
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 BUG pass pass pass pass Redirect to glob, not evaluated
details
21pass pass pass pass pass pass Glob after var manipulation
22pass pass pass pass pass pass Glob after part joining
23pass pass pass pass pass pass Glob flags on file system
24pass pass pass pass pass pass set -o noglob
25N-I pass N-I N-I pass pass shopt -s nullglob
detailsdetailsdetails
26N-I pass N-I N-I FAIL FAIL shopt -s failglob in command context
detailsdetailsdetailsdetailsdetails
27N-I pass N-I N-I FAIL FAIL shopt -s failglob in loop context
detailsdetailsdetailsdetailsdetails
28N-I pass N-I N-I FAIL FAIL Don't glob flags on file system with GLOBIGNORE
detailsdetailsdetailsdetailsdetails
29BUG pass pass pass pass pass Splitting/Globbing doesn't happen on local assignment
details
30pass pass pass pass pass pass Glob of unescaped [[] and []]
31BUG pass BUG pass pass pass Glob of negated unescaped [[] and []]
detailsdetails
32N-I pass pass pass FAIL FAIL PatSub of unescaped [[] and []]
detailsdetailsdetails
33N-I pass BUG pass FAIL FAIL PatSub of negated unescaped [[] and []]
detailsdetailsdetailsdetails
34BUG pass BUG BUG FAIL FAIL Glob unicode char
detailsdetailsdetailsdetailsdetails
35N-I pass N-I N-I FAIL FAIL dotglob (bash option that dashglob is roughly consistent with)
detailsdetailsdetailsdetailsdetails
170 passed, 0 OK, 21 not implemented, 11 BUG, 7 failed, 0 timeouts, 0 cases skipped
7 failed under osh

Details on runs that didn't PASS

dash13 store literal globs in array then expand

stdout:
stderr: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: Syntax error: "(" unexpected
ash13 store literal globs in array then expand

stdout:
stderr: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/ash: syntax error: unexpected "("
dash14 glob inside array

stdout:
stderr: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: Syntax error: "(" unexpected
ash14 glob inside array

stdout:
stderr: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/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:
bash20 Redirect to glob, not evaluated

stdout:
stderr: 
cat: '_tmp/*.F': No such file or directory
dash25 shopt -s nullglob

stdout:
['_tmp/spec-tmp/*.nonexistent']
['_tmp/spec-tmp/*.nonexistent']
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
mksh25 shopt -s nullglob

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

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

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: shopt: not found
mksh26 shopt -s failglob in command context

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[2]: shopt: not found
ash26 shopt -s failglob in command context

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/ash: shopt: not found
osh26 shopt -s failglob in command context

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

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

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

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

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 3: shopt: not found
mksh27 shopt -s failglob in loop context

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[3]: shopt: not found
ash27 shopt -s failglob in loop context

stdout:
*.ZZ
status=0
*.ZZ
status=0
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/ash: shopt: not found
osh27 shopt -s failglob in loop context

[osh 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:
osh_ALT27 shopt -s failglob in loop context

[osh_ALT 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:
dash28 Don't glob flags on file system with GLOBIGNORE

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

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

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

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

stdout:
hello zzzzz
stderr:
osh_ALT28 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: 
dash29 Splitting/Globbing doesn't happen on local assignment

stdout:
stderr: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: local: INSTALL.txt: bad variable name
dash31 Glob of negated unescaped [[] and []]

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

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

stdout:
stderr: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: Bad substitution
osh32 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_ALT32 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:
dash33 PatSub of negated unescaped [[] and []]

stdout:
stderr: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: Bad substitution
mksh33 PatSub of negated unescaped [[] and []]

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

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

stdout:
[<<<<
[foo]
stderr:
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 962, in <module>
    sys.exit(main(sys.argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 908, in main
    return AppBundleMain(argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 881, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 697, in ShellMain
    status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 166, in Batch
    is_return, is_fatal = ex.ExecuteAndCatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1851, in ExecuteAndCatch
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1796, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1015, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1743, in EvalWordSequence2
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1358, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1251, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1016, in _EvalBracedVarSub
    regex, warnings = glob_.GlobToERE(pat_val.s)
  File "/home/andy/git/oilshell/oil/osh/glob_.py", line 338, in GlobToERE
    regex = _GenerateERE(parts)
  File "/home/andy/git/oilshell/oil/osh/glob_.py", line 292, in _GenerateERE
    raise AssertionError(part.id)
AssertionError: 273
osh_ALT33 PatSub of negated unescaped [[] and []]

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

stdout:
[<<<<
[foo]
stderr:
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 937, in _cpython_main_hook
    sys.exit(main(sys.argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 908, in main
    return AppBundleMain(argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 881, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 697, in ShellMain
    status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 172, in Batch
    return status
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1851, in ExecuteAndCatch
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1796, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1066, in _Dispatch
    self.mem.PopTemp()
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1743, in EvalWordSequence2
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1358, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1251, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1054, in _EvalBracedVarSub
    begin = self.arith_ev.EvalToInt(op.begin)
  File "/home/andy/git/oilshell/oil/osh/glob_.py", line 338, in GlobToERE
    regex = _GenerateERE(parts)
  File "/home/andy/git/oilshell/oil/osh/glob_.py", line 297, in _GenerateERE
    out.append('.')
AssertionError: 273
FATAL: couldn't import from app bundle '/home/andy/git/oilshell/oil/_tmp/oil-tar-test/oil-0.8.pre2/_bin/osh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47
dash34 Glob unicode char

stdout:
__a__
stderr:
mksh34 Glob unicode char

stdout:
__a__
stderr:
ash34 Glob unicode char

stdout:
__a__
stderr:
osh34 Glob unicode char

[osh stdout] Expected '__a__ __\xce\xbc__\n', got '__a__\n'

stdout:
__a__
stderr:
osh_ALT34 Glob unicode char

[osh_ALT stdout] Expected '__a__ __\xce\xbc__\n', got '__a__\n'

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

stdout:
other
other
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 5: shopt: not found
mksh35 dotglob (bash option that dashglob is roughly consistent with)

stdout:
other
other
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[5]: shopt: not found
ash35 dotglob (bash option that dashglob is roughly consistent with)

stdout:
other
other
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/ash: shopt: not found
osh35 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_ALT35 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: