case | dash | bash | mksh | osh | description |
0 | pass | pass | pass | FAIL | case |
details | |||||
1 | pass | pass | pass | FAIL | case in subshell |
details | |||||
2 | pass | pass | pass | pass | Command sub word part |
3 | pass | pass | pass | pass | Backtick |
4 | pass | pass | pass | FAIL | Backtick 2 |
details | |||||
5 | pass | pass | pass | FAIL | Nested backticks |
details | |||||
6 | pass | pass | pass | pass | Making command out of command sub should work |
7 | BUG | pass | ok | FAIL | Making keyword out of command sub should NOT work |
details | details | details | |||
8 | pass | pass | pass | pass | Command sub with here doc |
9 | pass | pass | pass | pass | Here doc with pipeline |
33 passed, 1 ok, 0 known unimplemented, 1 known bugs, 5 failed, 0 skipped
osh | 0 case [osh stdout] Expected b'letter\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 835, in Execute raise NotImplementedError NotImplementedError |
osh | 1 case in subshell [osh stdout] Expected b'letter\n', got b'\n' 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 701, in EvalWordPart return self.EvalCommandSub(part.command_list) File "/home/andy/git/oil/bin/../core/word_eval.py", line 853, in EvalCommandSub status = p.Run() File "/home/andy/git/oil/bin/../core/process.py", line 482, in Run self.Start() File "/home/andy/git/oil/bin/../core/process.py", line 468, in Start self.thunk.RunInChild() File "/home/andy/git/oil/bin/../core/process.py", line 273, in RunInChild self.RunInParent() File "/home/andy/git/oil/bin/../core/process.py", line 328, in RunInParent return self.ex.Execute(self.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 835, in Execute raise NotImplementedError NotImplementedError |
osh | 4 Backtick 2 [osh stdout] Expected b'ls\n', got b'-n l -n s\n' stdout: -n l -n sstderr: |
osh | 5 Nested backticks [osh stdout] Expected b'01-bad-func.sh\n', got b'\n' 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 701, in EvalWordPart return self.EvalCommandSub(part.command_list) File "/home/andy/git/oil/bin/../core/word_eval.py", line 853, in EvalCommandSub status = p.Run() File "/home/andy/git/oil/bin/../core/process.py", line 482, in Run self.Start() File "/home/andy/git/oil/bin/../core/process.py", line 468, in Start self.thunk.RunInChild() File "/home/andy/git/oil/bin/../core/process.py", line 273, in RunInChild self.RunInParent() File "/home/andy/git/oil/bin/../core/process.py", line 328, in RunInParent return self.ex.Execute(self.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 703, in Execute status, cflow = self.Execute(node.command) 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' |
dash | 7 Making keyword out of command sub should NOT work stdout: stderr: /bin/dash: 1: for: not found |
mksh | 7 Making keyword out of command sub should NOT work stdout: stderr: /bin/mksh: <stdin>[1]: syntax error: 'do' unexpected |
osh | 7 Making keyword out of command sub should NOT work [osh status] Expected 2, got 127 stdout: stderr: Unexpected error in execvpe('for', ['for', 'i', 'in', 'a', 'b', 'c'], ...): [Errno 2] No such file or directory: b'/home/andy/bin/for' |