| case | dash | bash | mksh | osh | description |
| 0 | pass | BUG | pass | pass | Braced block inside ${} |
| details | |||||
| 1 | ok | pass | pass | pass | Filename redirect with "$@" |
| details | |||||
| 2 | ok | pass | ok | FAIL | Filename redirect with split word |
| details | details | details | |||
| 3 | pass | ok | ok | FAIL | Descriptor redirect to bad "$@" |
| details | details | details | |||
| 4 | pass | pass | ok | pass | Here doc with bad "$@" delimiter |
| details |
11 passed, 6 ok, 0 known unimplemented, 1 known bugs, 2 failed, 0 skipped
| bash | 0 Braced block inside ${} stdout: stderr: /bin/bash: line 1: syntax error near unexpected token `)'
/bin/bash: line 1: `echo ${foo:-$({ which ls; })}'
|
| dash | 1 Filename redirect with "$@" stdout: stderr: /bin/dash: 2: cannot create _tmp/var-sub1 _tmp/var-sub2: Directory nonexistent |
| dash | 2 Filename redirect with split word stdout: histderr: |
| mksh | 2 Filename redirect with split word stdout: histderr: rm: cannot remove '_tmp/1 2': No such file or directory |
| osh | 2 Filename redirect with split word [osh status] Expected 1, got 0 stdout: histderr: |
| bash | 3 Descriptor redirect to bad "$@" stdout: stderr: /bin/bash: line 2: "$@": ambiguous redirect |
| mksh | 3 Descriptor redirect to bad "$@" stdout: stderr: /bin/mksh: <stdin>[2]: >&'2 3 c d' : illegal file descriptor name |
| osh | 3 Descriptor redirect to bad "$@" [osh status] Expected 2, got 1 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 = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 959, in Execute
status = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 824, in _Execute
status = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 716, in _Execute
redirects = self._EvalRedirects(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 621, in _EvalRedirects
ok, val = self.ev.EvalWordToString(n.arg_word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 904, in EvalWordToString
self._AddErrorContext("Only string parts are allowed", word=word)
TypeError: _AddErrorContext() got an unexpected keyword argument 'word'
|
| mksh | 4 Here doc with bad "$@" delimiter stdout: stderr: /bin/mksh: <stdin>[7]: here document '$@' unclosed |