Results for command-sub.test.sh

casedashbashmkshoshdescription
0pass pass pass FAIL case
details
1pass pass pass FAIL case in subshell
details
2pass pass pass pass Command sub word part
3pass pass pass pass Backtick
4pass pass pass FAIL Backtick 2
details
5pass pass pass FAIL Nested backticks
details
6pass pass pass pass Making command out of command sub should work
7BUG pass ok FAIL Making keyword out of command sub should NOT work
detailsdetailsdetails
8pass pass pass pass Command sub with here doc
9pass pass pass pass Here doc with pipeline

33 passed, 1 ok, 0 known unimplemented, 1 known bugs, 5 failed, 0 skipped

Details on runs that didn't PASS

osh0 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
osh1 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
osh4 Backtick 2

[osh stdout] Expected b'ls\n', got b'-n l -n s\n'

stdout:
-n l -n s
stderr:
osh5 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'
dash7 Making keyword out of command sub should NOT work

stdout:
stderr: 
/bin/dash: 1: for: not found
mksh7 Making keyword out of command sub should NOT work

stdout:
stderr: 
/bin/mksh: <stdin>[1]: syntax error: 'do' unexpected
osh7 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'