Results for glob.test.sh

statusdashbashmkshashosh
pass 2432262829
N-I 70350
BUG 21400
FAIL 00004
total3333333333
casedashbashmkshashoshdescription
0pass pass pass pass pass glob double quote escape
1pass pass pass pass pass glob single quote escape
2pass pass pass pass pass glob backslash escape
3pass pass pass pass pass 1 char glob
4pass pass pass pass pass 0 char glob -- does NOT work
5pass pass pass pass pass looks like glob at the start, but isn't
6pass pass pass pass pass looks like glob plus negation at the start, but isn't
7pass pass pass pass pass glob can expand to command and arg
8pass pass pass pass pass glob after var expansion
9pass pass pass pass pass quoted var expansion with glob meta characters
10pass pass pass pass pass glob after "$@" expansion
11pass pass pass pass pass glob after $@ expansion
12pass pass pass pass pass no glob after ~ expansion
13N-I pass pass N-I pass store literal globs in array then expand
detailsdetails
14N-I pass pass N-I pass glob inside array
detailsdetails
15pass pass pass pass pass glob with escaped - in char class
16pass pass BUG pass pass glob with char class expression
details
17pass pass pass pass pass glob double quotes
18pass pass pass pass pass glob escaped
19pass pass BUG pass pass : escaped
details
20pass BUG pass pass pass Redirect to glob, not evaluated
details
21pass pass pass pass pass Glob after var manipulation
22pass pass pass pass pass Glob after part joining
23pass pass pass pass pass Glob flags on file system
24pass pass pass pass pass set -o noglob
25N-I pass N-I N-I pass shopt -s nullglob
detailsdetailsdetails
26N-I pass N-I N-I FAIL shopt -s failglob
detailsdetailsdetailsdetails
27N-I pass N-I N-I FAIL Don't glob flags on file system with GLOBIGNORE
detailsdetailsdetailsdetails
28BUG pass pass pass pass Splitting/Globbing doesn't happen on local assignment
details
29pass pass pass pass pass Glob of unescaped [[] and []]
30BUG pass BUG pass pass Glob of negated unescaped [[] and []]
detailsdetails
31N-I pass pass pass FAIL PatSub of unescaped [[] and []]
detailsdetails
32N-I pass BUG pass FAIL PatSub of negated unescaped [[] and []]
detailsdetailsdetails
139 passed, 0 OK, 15 not implemented, 7 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: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: Syntax error: "(" unexpected
ash13 store literal globs in array then expand

stdout:
stderr: 
_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: 
_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:
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:
_tmp/spec-bin/ash: shopt: not found
dash26 shopt -s failglob

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

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

stdout:
['*.ZZ']
['*.ZZ']
status=0
stderr:
_tmp/spec-bin/ash: shopt: not found
osh26 shopt -s failglob

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

stdout:
['*.ZZ']
stderr:
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 903, in <module>
    sys.exit(main(sys.argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 861, in main
    return AppBundleMain(argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 831, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 642, 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 159, in Batch
    is_return, is_fatal = ex.ExecuteAndCatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1268, in ExecuteAndCatch
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1216, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 717, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1320, in EvalWordSequence2
    self._EvalWordFrame(frame, strs)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1150, in _EvalWordFrame
    results = self.globber.Expand(a)
  File "/home/andy/git/oilshell/oil/osh/glob_.py", line 343, in Expand
    raise NotImplementedError
NotImplementedError
dash27 Don't glob flags on file system with GLOBIGNORE

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

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

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

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

stdout:
hello zzzzz
stderr:
dash28 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
dash30 Glob of negated unescaped [[] and []]

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

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

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

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

stdout:
<foo]
[foo>
<foo]
stderr:
osh32 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 903, in <module>
    sys.exit(main(sys.argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 861, in main
    return AppBundleMain(argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 831, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 642, 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 159, in Batch
    is_return, is_fatal = ex.ExecuteAndCatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1268, in ExecuteAndCatch
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1216, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 717, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1286, in EvalWordSequence2
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 958, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 922, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 772, in _EvalBracedVarSub
    regex, warnings = glob_.GlobToERE(pat_val.s)
  File "/home/andy/git/oilshell/oil/osh/glob_.py", line 295, in GlobToERE
    regex = _GenerateERE(parts)
  File "/home/andy/git/oilshell/oil/osh/glob_.py", line 252, in _GenerateERE
    raise AssertionError(part.id)
AssertionError: <Id_t Glob_Caret 241>