spec test index / oilshell.org
63 passed, 0 OK, 0 not implemented, 0 BUG, 27 failed, 0 timeouts, 0 cases skipped
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 '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 1 command sub with inherit_errexit only [osh_.cc stdout] Expected 'zero\none\nparent status=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 3 strict_errexit and command sub in export / readonly [osh_.cc stdout] Expected 'a\nstatus=1\na\nstatus=1\na\nb\nstatus=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/pylib_path_stat.h:10: bool path_stat::exists(Str*): Assertion `0' failed. |
osh_.cc | 4 strict_errexit allows pipeline because you can set -o pipefail [osh_.cc stdout] Expected '1\none\n5\nstatus 5 0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 5 strict_errexit does NOT affect inside of function [osh_.cc stdout] Expected 'before\nx=\nok\nbefore\n', got '' [osh_.cc status] Expected 1, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.py | 6 strict_errexit does NOT affect inside of proc [osh_.py stdout] Expected 'before\nx=\nok\nbefore\n', got '' [osh_.py stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/travis/build/oilshell/oil/bin/osh_eval.py", line 68, in <module> sys.exit(main(sys.argv)) File "/home/travis/build/oilshell/oil/bin/osh_eval.py", line 36, in main None) File "/home/travis/build/oilshell/oil/core/shell_native.py", line 476, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/travis/build/oilshell/oil/core/main_loop.py", line 309, in Batch node = c_parser.ParseLogicalLine() # can raise ParseError File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2227, in ParseLogicalLine node = self._ParseCommandLine() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2089, in _ParseCommandLine child = self.ParseAndOr() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2008, in ParseAndOr return self._ParseAndOr() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2019, in _ParseAndOr child = self.ParsePipeline() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 1951, in ParsePipeline child = self.ParseCommand() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 1841, in ParseCommand return self.ParseOilProc() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 1738, in ParseOilProc self.w_parser.ParseProc(node) File "/home/travis/build/oilshell/oil/osh/word_parse.py", line 1111, in ParseProc last_token = self.parse_ctx.ParseProc(self.lexer, node) File "/home/travis/build/oilshell/oil/frontend/parse_lib.py", line 396, in ParseProc pnode, last_token = self.e_parser.Parse(lexer, grammar_nt.oil_proc) File "/home/travis/build/oilshell/oil/oil_lang/expr_parse.py", line 311, in Parse self.push_parser.setup(start_symbol) File "/home/travis/build/oilshell/oil/pgen2/parse.py", line 111, in setup self.stack = [_StackItem(self.grammar.dfas[start], 0, newnode)] AttributeError: 'NoneType' object has no attribute 'dfas' |
osh_.cc | 6 strict_errexit does NOT affect inside of proc [osh_.cc stdout] Expected 'before\nx=\nok\nbefore\n', got '' [osh_.cc status] Expected 1, got -6 stdout: stderr: osh_eval.opt: cpp/pgen2_parse.cc:8: void parse::Parser::setup(int): Assertion `0' failed. |
osh_.cc | 7 command sub with command_sub_errexit only [osh_.cc stdout] Expected 'zero\none two\nparent status=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 8 command sub with inherit_errexit and command_sub_errexit [osh_.cc stdout] Expected 'zero\n', got '' [osh_.cc status] Expected 1, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 9 command sub: last command fails but keeps going and exit code is 0 [osh_.cc stdout] Expected 'one\nstatus=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 10 global assignment with command sub: middle command fails [osh_.cc stdout] Expected 'one\ntwo\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 11 global assignment with command sub: last command fails and it aborts [osh_.cc status] Expected 1, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 12 local: middle command fails and keeps going [osh_.cc stdout] Expected 'good\nstatus=0\none two\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 13 local: last command fails and also keeps going [osh_.cc stdout] Expected 'good\nstatus=0\none\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 14 local and inherit_errexit / command_sub_errexit [osh_.cc stdout] Expected 'good\n', got '' [osh_.cc status] Expected 1, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 15 global assignment when last status is failure [osh_.cc stdout] Expected 'status=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 16 strict_errexit prevents errexit from being disabled in function [osh_.cc 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 ]:11: errexit was disabled for this construct fun || true # this fails ^~~ [ stdin ]:11: fatal: Can't run a proc while errexit is disabled. Use 'try' or wrap it in a process with $0 myproc dumb_alloc: gNumNew = 2687 gNumDelete = 259 gMemPos = 88768 gNumMalloc = 325 gNumFree = 0 gMemPos2 = 14448 |
osh_.cc | 19 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 '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/pylib_path_stat.h:10: bool path_stat::exists(Str*): Assertion `0' failed. |
osh_.cc | 20 if pipeline doesn't fail fatally [osh_.cc stdout] Expected 'done\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: rmdir: failed to remove '/home/travis/build/oilshell/oil/_tmp/spec-tmp/errexit-oil.test.sh/_tmp': No such file or directory osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 21 errexit is silent (verbose_errexit for Oil) [osh_.cc stderr] Expected u'', got "osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.\n" [osh_.cc status] Expected 1, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed. |
osh_.cc | 22 command sub errexit preserves exit code [osh_.cc stdout] Expected 'before\n', got '' [osh_.cc status] Expected 42, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 25 command_sub_errexit causes local d=$(date %x) to fail [osh_.cc status] Expected 1, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 26 command_sub_errexit and command sub in array [osh_.cc status] Expected 1, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 27 OLD: command sub in conditional, with inherit_errexit [osh_.cc stdout] Expected '1 2\nA\ndone\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.cc | 28 OLD: command sub in redirect in conditional [osh_.cc stdout] Expected '2\ntmp_contents\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
osh_.py | 29 Regression [osh_.py stdout] Expected 'hi\np\n', got 'hi\n' [osh_.py status] Expected 0, got 1 [osh_.py stderr] Found 'Traceback (most recent' stdout: histderr: Traceback (most recent call last): File "/home/travis/build/oilshell/oil/bin/osh_eval.py", line 68, in <module> sys.exit(main(sys.argv)) File "/home/travis/build/oilshell/oil/bin/osh_eval.py", line 36, in main None) File "/home/travis/build/oilshell/oil/core/shell_native.py", line 476, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/travis/build/oilshell/oil/core/main_loop.py", line 309, in Batch node = c_parser.ParseLogicalLine() # can raise ParseError File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2227, in ParseLogicalLine node = self._ParseCommandLine() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2089, in _ParseCommandLine child = self.ParseAndOr() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2008, in ParseAndOr return self._ParseAndOr() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2019, in _ParseAndOr child = self.ParsePipeline() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 1951, in ParsePipeline child = self.ParseCommand() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 1841, in ParseCommand return self.ParseOilProc() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 1738, in ParseOilProc self.w_parser.ParseProc(node) File "/home/travis/build/oilshell/oil/osh/word_parse.py", line 1111, in ParseProc last_token = self.parse_ctx.ParseProc(self.lexer, node) File "/home/travis/build/oilshell/oil/frontend/parse_lib.py", line 396, in ParseProc pnode, last_token = self.e_parser.Parse(lexer, grammar_nt.oil_proc) File "/home/travis/build/oilshell/oil/oil_lang/expr_parse.py", line 311, in Parse self.push_parser.setup(start_symbol) File "/home/travis/build/oilshell/oil/pgen2/parse.py", line 111, in setup self.stack = [_StackItem(self.grammar.dfas[start], 0, newnode)] AttributeError: 'NoneType' object has no attribute 'dfas' |
osh_.cc | 29 Regression [osh_.cc stdout] Expected 'hi\np\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/pgen2_parse.cc:8: void parse::Parser::setup(int): Assertion `0' failed. |