Results for glob.test.sh

casedashbashmkshashoshdescription
0pass pass pass pass pass glob double quote escape
1pass pass pass pass pass glob single quote escape
2pass pass pass pass FAIL glob backslash escape
details
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 FAIL glob inside array
detailsdetailsdetails
15pass pass pass pass FAIL glob with escaped - in char class
details
16pass pass BUG pass pass glob with char class expression
details
17pass pass pass pass FAIL glob double quotes
details
18pass pass pass pass FAIL glob escaped
details
19pass pass BUG pass FAIL : escaped
detailsdetails
20pass pass pass pass pass Redirect to glob, not evaluated

93 passed, 0 ok, 4 known unimplemented, 2 known bugs, 6 failed, 0 skipped

Details on runs that didn't PASS

osh2 glob backslash escape

[osh stdout] Expected b'*.sh\n', got b''

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 659, in Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 791, in EvalWords
    ok, val = self.EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 580, in EvalCompoundWord
    ok, val = self.EvalWordPart(p, quoted=False)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 685, in EvalWordPart
    val = self.token.val
AttributeError: 'NormalEvaluator' object has no attribute 'token'
dash13 store literal globs in array then expand

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

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

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

stdout:
stderr: 
_tmp/shells/ash: syntax error: unexpected "("
osh14 glob inside array

[osh stdout] Expected b'_tmp/a.A _tmp/aa.A _tmp/b.B\n', got b'_tmp/*.A _tmp/*.B\n'

stdout:
_tmp/*.A _tmp/*.B
stderr:
osh15 glob with escaped - in char class

[osh stdout] Expected b'_tmp/c.C _tmp/c.C _tmp/foo.-\n', got b''

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 659, in Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 791, in EvalWords
    ok, val = self.EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 580, in EvalCompoundWord
    ok, val = self.EvalWordPart(p, quoted=False)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 685, in EvalWordPart
    val = self.token.val
AttributeError: 'NormalEvaluator' object has no attribute 'token'
mksh16 glob with char class expression

stdout:
_tmp/*.[[:punct:]E]
stderr:
osh17 glob double quotes

[osh stdout] Expected b'_tmp/"quoted.py"\n', got b''

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 659, in Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 791, in EvalWords
    ok, val = self.EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 580, in EvalCompoundWord
    ok, val = self.EvalWordPart(p, quoted=False)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 685, in EvalWordPart
    val = self.token.val
AttributeError: 'NormalEvaluator' object has no attribute 'token'
osh18 glob escaped

[osh stdout] Expected b'_tmp/[abc] _tmp/?\n', got b''

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 659, in Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 791, in EvalWords
    ok, val = self.EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 580, in EvalCompoundWord
    ok, val = self.EvalWordPart(p, quoted=False)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 685, in EvalWordPart
    val = self.token.val
AttributeError: 'NormalEvaluator' object has no attribute 'token'
mksh19 : escaped

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

[osh stdout] Expected b'_tmp/foo.- _tmp/*.[[:punct:]]\n', got b''

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 659, in Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 791, in EvalWords
    ok, val = self.EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 580, in EvalCompoundWord
    ok, val = self.EvalWordPart(p, quoted=False)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 685, in EvalWordPart
    val = self.token.val
AttributeError: 'NormalEvaluator' object has no attribute 'token'