spec test index / oilshell.org
28 passed, 0 OK, 0 not implemented, 0 BUG, 35 failed, 0 timeouts, 0 cases skipped 2 failed under osh
osh_.py | 0 command sub: errexit is NOT inherited and outer shell keeps going [osh_.py stdout] Expected 'one two\nparent status=0\n', got '' [osh_.py status] Expected 0, got 1 [osh_.py stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 0 command sub: errexit is NOT inherited and outer shell keeps going [osh_.cc stdout] Expected 'one two\nparent status=0\n', got '\nparent status=0\n' stdout: parent status=0stderr: |
osh_.py | 1 command sub with inherit_errexit only [osh_.py stdout] Expected 'zero\none\nparent status=0\n', got 'zero\n' [osh_.py status] Expected 0, got 1 [osh_.py stderr] Found 'Traceback (most recent' stdout: zerostderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 1 command sub with inherit_errexit only [osh_.cc stdout] Expected 'zero\none\nparent status=0\n', got 'zero\n\nparent status=0\n' stdout: zero parent status=0stderr: |
osh | 2 strict_errexit with command sub stops program [osh stdout] Expected u'', got '\nA\ndone\n' [osh status] Expected 1, got 0 stdout: A donestderr: if echo $( echo 1; false; echo 2); then ^~ [ stdin ]:4: fatal: errexit is disabled here, but strict_errexit disallows it with a compound command (command.CommandList) |
osh_.py | 2 strict_errexit with command sub stops program [osh_.py stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1218, in _Dispatch status = self._ExecuteList(if_arm.cond) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1364, in _ExecuteList status = self._Execute(child) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 604, in _Dispatch status = self._Execute(node.child) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh | 3 {inherit,strict}_errexit: command sub with a single command [osh stdout] Expected u'', got '\nA\ndone\n' [osh status] Expected 1, got 0 stdout: A donestderr: |
osh_.py | 3 {inherit,strict}_errexit: command sub with a single command [osh_.py stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1218, in _Dispatch status = self._ExecuteList(if_arm.cond) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1364, in _ExecuteList status = self._Execute(child) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 604, in _Dispatch status = self._Execute(node.child) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.py | 4 command sub with more_errexit only [osh_.py stdout] Expected 'zero\none two\nparent status=0\n', got 'zero\n' [osh_.py status] Expected 0, got 1 [osh_.py stderr] Found 'Traceback (most recent' stdout: zerostderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 4 command sub with more_errexit only [osh_.cc stdout] Expected 'zero\none two\nparent status=0\n', got 'zero\n\nparent status=0\n' stdout: zero parent status=0stderr: |
osh_.py | 5 command sub with inherit_errexit and more_errexit [osh_.py stderr] Found 'Traceback (most recent' stdout: zerostderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 5 command sub with inherit_errexit and more_errexit [osh_.cc stdout] Expected 'zero\n', got 'zero\n\nparent status=0\n' [osh_.cc status] Expected 1, got 0 stdout: zero parent status=0stderr: |
osh_.py | 6 command sub: last command fails but keeps going and exit code is 0 [osh_.py stdout] Expected 'one\nstatus=0\n', got '' [osh_.py status] Expected 0, got 1 [osh_.py stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 6 command sub: last command fails but keeps going and exit code is 0 [osh_.cc stdout] Expected 'one\nstatus=0\n', got '\nstatus=0\n' stdout: status=0stderr: |
osh_.py | 7 global assignment with command sub: middle command fails [osh_.py stdout] Expected 'one\ntwo\n', got '' [osh_.py status] Expected 0, got 1 [osh_.py stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 837, in _Dispatch val = self.word_ev.EvalRhsWord(pair.rhs) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord return self.EvalWordToString(w) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString self._EvalWordPart(p, part_vals, quoted=False) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 7 global assignment with command sub: middle command fails [osh_.cc stdout] Expected 'one\ntwo\n', got '' [osh_.cc status] Expected 0, got -11 stdout: stderr: |
osh_.py | 8 global assignment with command sub: last command fails and it aborts [osh_.py stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 837, in _Dispatch val = self.word_ev.EvalRhsWord(pair.rhs) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord return self.EvalWordToString(w) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString self._EvalWordPart(p, part_vals, quoted=False) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 8 global assignment with command sub: last command fails and it aborts [osh_.cc stdout] Expected u'', got 'status=0\n' [osh_.cc status] Expected 1, got 0 stdout: status=0stderr: |
osh_.py | 9 local: middle command fails and keeps going [osh_.py stdout] Expected 'good\nstatus=0\none two\n', got 'good\n' [osh_.py status] Expected 0, got 1 [osh_.py stderr] Found 'Traceback (most recent' stdout: goodstderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 580, in _Dispatch status = self._RunSimpleCommand(cmd_val, node.do_fork) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 488, in _RunSimpleCommand return self.shell_ex.RunSimpleCommand(cmd_val, do_fork) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 383, in RunSimpleCommand status = self.cmd_ev.RunProc(func_node, argv[1:]) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1539, in RunProc status = self._Execute(func_node.body) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 968, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1364, in _ExecuteList status = self._Execute(child) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1888, in EvalWordSequence2 return self._EvalAssignBuiltin(builtin_id, val0.s, words) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1739, in _EvalAssignBuiltin right = self.EvalRhsWord(rhs_word) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord return self.EvalWordToString(w) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString self._EvalWordPart(p, part_vals, quoted=False) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 9 local: middle command fails and keeps going [osh_.cc stdout] Expected 'good\nstatus=0\none two\n', got 'good\nstatus=0\n\n' stdout: good status=0stderr: |
osh_.py | 10 local: last command fails and also keeps going [osh_.py stdout] Expected 'good\nstatus=0\none\n', got 'good\n' [osh_.py status] Expected 0, got 1 [osh_.py stderr] Found 'Traceback (most recent' stdout: goodstderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 580, in _Dispatch status = self._RunSimpleCommand(cmd_val, node.do_fork) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 488, in _RunSimpleCommand return self.shell_ex.RunSimpleCommand(cmd_val, do_fork) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 383, in RunSimpleCommand status = self.cmd_ev.RunProc(func_node, argv[1:]) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1539, in RunProc status = self._Execute(func_node.body) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 968, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1364, in _ExecuteList status = self._Execute(child) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1888, in EvalWordSequence2 return self._EvalAssignBuiltin(builtin_id, val0.s, words) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1739, in _EvalAssignBuiltin right = self.EvalRhsWord(rhs_word) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord return self.EvalWordToString(w) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString self._EvalWordPart(p, part_vals, quoted=False) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 10 local: last command fails and also keeps going [osh_.cc stdout] Expected 'good\nstatus=0\none\n', got 'good\nstatus=0\n\n' stdout: good status=0stderr: |
osh_.py | 11 local and inherit_errexit / more_errexit [osh_.py stderr] Found 'Traceback (most recent' stdout: goodstderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 580, in _Dispatch status = self._RunSimpleCommand(cmd_val, node.do_fork) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 488, in _RunSimpleCommand return self.shell_ex.RunSimpleCommand(cmd_val, do_fork) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 383, in RunSimpleCommand status = self.cmd_ev.RunProc(func_node, argv[1:]) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1539, in RunProc status = self._Execute(func_node.body) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 968, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1364, in _ExecuteList status = self._Execute(child) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1888, in EvalWordSequence2 return self._EvalAssignBuiltin(builtin_id, val0.s, words) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1739, in _EvalAssignBuiltin right = self.EvalRhsWord(rhs_word) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord return self.EvalWordToString(w) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString self._EvalWordPart(p, part_vals, quoted=False) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 11 local and inherit_errexit / more_errexit [osh_.cc stdout] Expected 'good\n', got 'good\nstatus=0\n\n' [osh_.cc status] Expected 1, got 0 stdout: good status=0stderr: |
osh_.py | 13 global assignment when last status is failure [osh_.py stdout] Expected 'status=0\n', got '' [osh_.py status] Expected 0, got 1 [osh_.py stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 981, in _Dispatch status = self._Execute(left) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 837, in _Dispatch val = self.word_ev.EvalRhsWord(pair.rhs) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord return self.EvalWordToString(w) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString self._EvalWordPart(p, part_vals, quoted=False) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.py | 14 strict_errexit prevents errexit from being disabled in function [osh_.py stdout] Expected 'fun\nbuiltin ok\nexternal ok\n', got 'external ok\nfun\nbuiltin ok\n' stdout: external ok fun builtin okstderr: fun || true # this fails ^~~ [ stdin ]:7: fatal: can't disable errexit running a function. Maybe wrap the function in a process with the at-splice pattern. |
osh_.cc | 14 strict_errexit prevents errexit from being disabled in function [osh_.cc stdout] Expected 'fun\nbuiltin ok\nexternal ok\n', got "fun\nbuiltin ok\n(cmd_value.Argv argv:[env echo 'external ok'] arg_spids:[48 50 52])\n" stdout: fun builtin ok (cmd_value.Argv argv:[env echo 'external ok'] arg_spids:[48 50 52])stderr: Unhandled SimpleCommand fun || true # this fails ^~~ [ stdin ]:7: fatal: can't disable errexit running a function. Maybe wrap the function in a process with the at-splice pattern. |
osh_.py | 16 strict_errexit prevents errexit from being disabled in subshell [osh_.py stdout] Expected 'foo\nbar\n', got '' stdout: stderr: ( echo foo; false; echo bar; ) || echo "failed" ^~ [ stdin ]:5: fatal: errexit is disabled here, but strict_errexit disallows it with a compound command (command.Subshell) |
osh_.cc | 16 strict_errexit prevents errexit from being disabled in subshell [osh_.cc stdout] Expected 'foo\nbar\n', got '' stdout: stderr: shopt -s strict_errexit || true ^~~~~ [ stdin ]:4: fatal: errexit is disabled here, but strict_errexit disallows it with a compound command (command.Subshell) |
osh_.cc | 17 strict_errexit and ! && || if while until [osh_.cc stdout] Expected 'bang=1\n--\nor=1\n--\nand=1\n--\nif=1\n--\nwhile=1\n--\nuntil=1\n--\n', got "(cmd_value.Argv\n argv: [\n -c\n'set -o errexit\\nshopt -s strict_errexit || true\\nfun() { echo fun; }; ! fun; echo \\'should not get here\\''\n ]\n arg_spids: [9 11]\n)\nbang=0\n--\n(cmd_value.Argv\n argv: [-c 'set -o errexit\\nshopt -s strict_errexit || true\\nfun() { echo fun; }; fun || true']\n arg_spids: [27 29]\n)\nor=0\n--\n(cmd_value.Argv\n argv: [-c 'set -o errexit\\nshopt -s strict_errexit || true\\nfun() { echo fun; }; fun && true']\n arg_spids: [45 47]\n)\nand=0\n--\n(cmd_value.Argv\n argv: [\n -c\n'set -o errexit\\nshopt -s strict_errexit || true\\nfun() { echo fun; }; if fun; then true; fi'\n ]\n arg_spids: [63 65]\n)\nif=0\n--\n(cmd_value.Argv\n argv: [\n -c\n'set -o errexit\\nshopt -s strict_errexit || true\\nfun() { echo fun; }; while fun; do echo while; exit; done'\n ]\n arg_spids: [81 83]\n)\nwhile=0\n--\n(cmd_value.Argv\n argv: [\n -c\n'set -o errexit\\nshopt -s strict_errexit || true\\nfun() { echo fun; }; until fun; do echo until; exit; done'\n ]\n arg_spids: [99 101]\n)\nuntil=0\n--\n" stdout: (cmd_value.Argv argv: [ -c 'set -o errexit\nshopt -s strict_errexit || true\nfun() { echo fun; }; ! fun; echo \'should not get here\'' ] arg_spids: [9 11] ) bang=0 -- (cmd_value.Argv argv: [-c 'set -o errexit\nshopt -s strict_errexit || true\nfun() { echo fun; }; fun || true'] arg_spids: [27 29] ) or=0 -- (cmd_value.Argv argv: [-c 'set -o errexit\nshopt -s strict_errexit || true\nfun() { echo fun; }; fun && true'] arg_spids: [45 47] ) and=0 -- (cmd_value.Argv argv: [ -c 'set -o errexit\nshopt -s strict_errexit || true\nfun() { echo fun; }; if fun; then true; fi' ] arg_spids: [63 65] ) if=0 -- (cmd_value.Argv argv: [ -c 'set -o errexit\nshopt -s strict_errexit || true\nfun() { echo fun; }; while fun; do echo while; exit; done' ] arg_spids: [81 83] ) while=0 -- (cmd_value.Argv argv: [ -c 'set -o errexit\nshopt -s strict_errexit || true\nfun() { echo fun; }; until fun; do echo until; exit; done' ] arg_spids: [99 101] ) until=0 --stderr: Unhandled SimpleCommand Unhandled SimpleCommand Unhandled SimpleCommand Unhandled SimpleCommand Unhandled SimpleCommand Unhandled SimpleCommand |
osh_.py | 18 if pipeline doesn't fail fatally [osh_.py stdout] Expected 'done\n', got '' [osh_.py status] Expected 0, got 1 stdout: stderr: rmdir: failed to remove '/_tmp': No such file or directory rm: cannot remove '/alpine': Is a directory rm: cannot remove '/bin': Is a directory rm: cannot remove '/boot': Is a directory rm: cannot remove '/cdrom': Is a directory rm: cannot remove '/dev': Is a directory rm: cannot remove '/etc': Is a directory rm: cannot remove '/home': Is a directory rm: cannot remove '/initrd.img': Permission denied rm: cannot remove '/initrd.img.old': Permission denied rm: cannot remove '/lib': Is a directory rm: cannot remove '/lib32': Is a directory rm: cannot remove '/lib64': Is a directory rm: cannot remove '/libx32': Is a directory rm: cannot remove '/lost+found': Is a directory rm: cannot remove '/media': Is a directory rm: cannot remove '/mnt': Is a directory rm: cannot remove '/nix': Is a directory rm: cannot remove '/opt': Is a directory rm: cannot remove '/proc': Is a directory rm: cannot remove '/root': Is a directory rm: cannot remove '/run': Is a directory rm: cannot remove '/sbin': Is a directory rm: cannot remove '/snap': Is a directory rm: cannot remove '/srv': Is a directory rm: cannot remove '/sys': Is a directory rm: cannot remove '/tmp': Is a directory rm: cannot remove '/usr': Is a directory rm: cannot remove '/var': Is a directory rm: cannot remove '/vmlinuz': Permission denied rm: cannot remove '/vmlinuz.old': Permission denied rm -f $TMP/* ^~ [ stdin ]:11: fatal: Exiting with status 1 (command in PID 26803) |
osh_.cc | 18 if pipeline doesn't fail fatally [osh_.cc stdout] Expected 'done\n', got '' [osh_.cc status] Expected 0, got -11 stdout: stderr: Unhandled SimpleCommand Unhandled SimpleCommand |
osh_.py | 19 if pipeline DOES fail fatally with strict_errexit [osh_.py stdout] Expected '! false ok\n', got '' stdout: stderr: rmdir: failed to remove '/_tmp': No such file or directory rm: cannot remove '/alpine': Is a directory rm: cannot remove '/bin': Is a directory rm: cannot remove '/boot': Is a directory rm: cannot remove '/cdrom': Is a directory rm: cannot remove '/dev': Is a directory rm: cannot remove '/etc': Is a directory rm: cannot remove '/home': Is a directory rm: cannot remove '/initrd.img': Permission denied rm: cannot remove '/initrd.img.old': Permission denied rm: cannot remove '/lib': Is a directory rm: cannot remove '/lib32': Is a directory rm: cannot remove '/lib64': Is a directory rm: cannot remove '/libx32': Is a directory rm: cannot remove '/lost+found': Is a directory rm: cannot remove '/media': Is a directory rm: cannot remove '/mnt': Is a directory rm: cannot remove '/nix': Is a directory rm: cannot remove '/opt': Is a directory rm: cannot remove '/proc': Is a directory rm: cannot remove '/root': Is a directory rm: cannot remove '/run': Is a directory rm: cannot remove '/sbin': Is a directory rm: cannot remove '/snap': Is a directory rm: cannot remove '/srv': Is a directory rm: cannot remove '/sys': Is a directory rm: cannot remove '/tmp': Is a directory rm: cannot remove '/usr': Is a directory rm: cannot remove '/var': Is a directory rm: cannot remove '/vmlinuz': Permission denied rm: cannot remove '/vmlinuz.old': Permission denied rm -f $TMP/* ^~ [ stdin ]:14: fatal: Exiting with status 1 (command in PID 26939) |
osh_.cc | 19 if pipeline DOES fail fatally with strict_errexit [osh_.cc stdout] Expected '! false ok\n', got '' stdout: stderr: shopt -s strict_errexit || true ^~~~~ [ stdin ]:3: fatal: errexit is disabled here, but strict_errexit disallows it with a compound command (command.If) |
osh_.cc | 20 errexit is silent (verbose_errexit for Oil) [osh_.cc stderr] Expected u'', got 'set 2\n' stdout: stderr: set 2 |