spec test index / oilshell.org
case | dash | bash | mksh | ash | osh | osh_ALT | description |
0 | pass | pass | pass | pass | pass | pass | glob double quote escape |
1 | pass | pass | pass | pass | pass | pass | glob single quote escape |
2 | pass | pass | pass | pass | pass | pass | glob backslash escape |
3 | pass | pass | pass | pass | pass | pass | 1 char glob |
4 | pass | pass | pass | pass | pass | pass | 0 char glob -- does NOT work |
5 | pass | pass | pass | pass | pass | pass | looks like glob at the start, but isn't |
6 | pass | pass | pass | pass | pass | pass | looks like glob plus negation at the start, but isn't |
7 | pass | pass | pass | pass | pass | pass | glob can expand to command and arg |
8 | pass | pass | pass | pass | pass | pass | glob after var expansion |
9 | pass | pass | pass | pass | pass | pass | quoted var expansion with glob meta characters |
10 | pass | pass | pass | pass | pass | pass | glob after "$@" expansion |
11 | pass | pass | pass | pass | pass | pass | glob after $@ expansion |
12 | pass | pass | pass | pass | pass | pass | no glob after ~ expansion |
13 | N-I | pass | pass | N-I | pass | pass | store literal globs in array then expand |
details | details | ||||||
14 | N-I | pass | pass | N-I | pass | pass | glob inside array |
details | details | ||||||
15 | pass | pass | pass | pass | pass | pass | glob with escaped - in char class |
16 | pass | pass | BUG | pass | pass | pass | glob with char class expression |
details | |||||||
17 | pass | pass | pass | pass | pass | pass | glob double quotes |
18 | pass | pass | pass | pass | pass | pass | glob escaped |
19 | pass | pass | BUG | pass | pass | pass | : escaped |
details | |||||||
20 | pass | BUG | pass | pass | pass | pass | Redirect to glob, not evaluated |
details | |||||||
21 | pass | pass | pass | pass | pass | pass | Glob after var manipulation |
22 | pass | pass | pass | pass | pass | pass | Glob after part joining |
23 | pass | pass | pass | pass | pass | pass | Glob flags on file system |
24 | pass | pass | pass | pass | pass | pass | set -o noglob |
25 | N-I | pass | N-I | N-I | pass | pass | shopt -s nullglob |
details | details | details | |||||
26 | N-I | pass | N-I | N-I | FAIL | FAIL | shopt -s failglob |
details | details | details | details | details | |||
27 | N-I | pass | N-I | N-I | FAIL | FAIL | Don't glob flags on file system with GLOBIGNORE |
details | details | details | details | details | |||
28 | BUG | pass | pass | pass | pass | pass | Splitting/Globbing doesn't happen on local assignment |
details |
153 passed, 0 ok, 13 known unimplemented, 4 known bugs, 2 failed, 0 skipped
dash | 13 store literal globs in array then expand stdout: stderr: /bin/dash: 2: Syntax error: "(" unexpected |
ash | 13 store literal globs in array then expand stdout: stderr: _tmp/shells/ash: syntax error: unexpected "(" |
dash | 14 glob inside array stdout: stderr: /bin/dash: 2: Syntax error: "(" unexpected |
ash | 14 glob inside array stdout: stderr: _tmp/shells/ash: syntax error: unexpected "(" |
mksh | 16 glob with char class expression stdout: _tmp/*.[[:punct:]E]stderr: |
mksh | 19 : escaped stdout: _tmp/*.[[:punct:]] _tmp/*.[[:punct:]]stderr: |
bash | 20 Redirect to glob, not evaluated stdout: stderr: cat: '_tmp/*.F': No such file or directory |
dash | 25 shopt -s nullglob stdout: ['_tmp/spec-tmp/*.nonexistent'] ['_tmp/spec-tmp/*.nonexistent']stderr: /bin/dash: 2: shopt: not found |
mksh | 25 shopt -s nullglob stdout: ['_tmp/spec-tmp/*.nonexistent'] ['_tmp/spec-tmp/*.nonexistent']stderr: /bin/mksh: <stdin>[2]: shopt: not found |
ash | 25 shopt -s nullglob stdout: ['_tmp/spec-tmp/*.nonexistent'] ['_tmp/spec-tmp/*.nonexistent']stderr: _tmp/shells/ash: shopt: not found |
dash | 26 shopt -s failglob stdout: ['*.ZZ'] ['*.ZZ'] status=0stderr: /bin/dash: 2: shopt: not found |
mksh | 26 shopt -s failglob stdout: ['*.ZZ'] ['*.ZZ'] status=0stderr: /bin/mksh: <stdin>[2]: shopt: not found |
ash | 26 shopt -s failglob stdout: ['*.ZZ'] ['*.ZZ'] status=0stderr: _tmp/shells/ash: shopt: not found |
osh | 26 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 "bin/osh", line 475, in <module> main(sys.argv) File "bin/osh", line 458, in main sys.exit(OilMain(argv)) File "bin/osh", line 441, in OilMain status = OshMain(main_argv, login_shell) File "bin/osh", line 394, in OshMain status = ex.Execute(node) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 969, in Execute status = self._Execute(node, fork_external=fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 743, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 962, in _ExecuteList status = self._Execute(child) # last status wins File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 610, in _Dispatch argv = self.ev.EvalWordSequence(words) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 1106, in EvalWordSequence return self._EvalWordSequence(words) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 1092, in _EvalWordSequence results = self.globber.Expand(arg.s) File "/home/andy/git/oilshell/oil/bin/../core/glob_.py", line 220, in Expand raise NotImplementedError NotImplementedError |
osh_ALT | 26 shopt -s failglob [osh_ALT stdout] Expected u"['*.ZZ']\nstatus=1\n", got "['*.ZZ']\n" [osh_ALT status] Expected 0, got 1 stdout: ['*.ZZ']stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/home/andy/git/oilshell/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code exec code in run_globals File "/home/andy/git/oilshell/oil/bin/oil.py", line 475, in <module> main(sys.argv) File "/home/andy/git/oilshell/oil/bin/oil.py", line 458, in main sys.exit(OilMain(argv)) File "/home/andy/git/oilshell/oil/bin/oil.py", line 441, in OilMain status = OshMain(main_argv, login_shell) File "/home/andy/git/oilshell/oil/bin/oil.py", line 394, in OshMain status = ex.Execute(node) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 969, in Execute status = self._Execute(node, fork_external=fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 743, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 962, in _ExecuteList status = self._Execute(child) # last status wins File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 610, in _Dispatch argv = self.ev.EvalWordSequence(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 1106, in EvalWordSequence File "/home/andy/git/oil/bin/../core/word_eval.py", line 1092, in _EvalWordSequence File "/home/andy/git/oil/bin/../core/glob_.py", line 220, in Expand NotImplementedError FATAL: couldn't import from app bundle '_bin/osh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |
dash | 27 Don't glob flags on file system with GLOBIGNORE stdout: hello zzzzzstderr: |
mksh | 27 Don't glob flags on file system with GLOBIGNORE stdout: hello zzzzzstderr: |
ash | 27 Don't glob flags on file system with GLOBIGNORE stdout: hello zzzzzstderr: |
osh | 27 Don't glob flags on file system with GLOBIGNORE [osh stdout] Expected u'-* hello zzzz?\n', got '' [osh status] Expected 0, got 99 stdout: stderr: |
osh_ALT | 27 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: |
dash | 28 Splitting/Globbing doesn't happen on local assignment stdout: stderr: /bin/dash: 2: local: INSTALL.txt: bad variable name |