spec test index / oilshell.org
102 passed, 0 OK, 0 not implemented, 0 BUG, 8 failed, 0 timeouts, 0 cases skipped 8 failed under osh
osh | 17 Wrong sigil $range() shows representation of iterator? [osh stdout] Expected 'TODO\n', got 'xrange(10, 16, 2)\n' stdout: xrange(10, 16, 2)stderr: |
osh_ALT | 17 Wrong sigil $range() shows representation of iterator? [osh_ALT stdout] Expected 'TODO\n', got 'xrange(10, 16, 2)\n' stdout: xrange(10, 16, 2)stderr: |
osh | 18 Wrong sigil @max(3, 4) [osh stdout] Expected 'TODO\n', got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/oil.py", line 380, in <module> sys.exit(main(sys.argv)) File "/home/andy/git/oilshell/oil/bin/oil.py", line 324, in main return AppBundleMain(argv) File "/home/andy/git/oilshell/oil/bin/oil.py", line 283, in AppBundleMain loader, line_input) File "/home/andy/git/oilshell/oil/core/shell.py", line 640, 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 1440, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1320, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 540, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1925, in EvalWordSequence2 return self.StaticEvalWordSequence2(words, allow_assign) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1885, in StaticEvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1539, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1508, in _EvalWordPart a = [str(item) for item in func(*pos_args, **named_args)] TypeError: 'int' object is not iterable |
osh_ALT | 18 Wrong sigil @max(3, 4) [osh_ALT stdout] Expected 'TODO\n', got '' [osh_ALT status] Expected 0, got 1 [osh_ALT stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/oil.py", line 355, in _cpython_main_hook sys.exit(main(sys.argv)) File "/home/andy/git/oilshell/oil/bin/oil.py", line 324, in main return AppBundleMain(argv) File "/home/andy/git/oilshell/oil/bin/oil.py", line 316, in AppBundleMain return readlink.main(main_argv) File "/home/andy/git/oilshell/oil/core/shell.py", line 640, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 174, in Batch return status File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1440, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1320, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 583, in _Dispatch status = self._Execute(node.child) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1925, in EvalWordSequence2 return self.StaticEvalWordSequence2(words, allow_assign) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1885, in StaticEvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1539, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1521, in _EvalWordPart part_vals.append(part_val) TypeError: 'int' object is not iterable FATAL: couldn't import from app bundle '/home/andy/git/oilshell/oil/_tmp/oil-tar-test/oil-0.8.2/_bin/osh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |
osh | 19 nested expr contexts [osh stdout] Expected 'len\n3\n', got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/oil.py", line 380, in <module> sys.exit(main(sys.argv)) File "/home/andy/git/oilshell/oil/bin/oil.py", line 324, in main return AppBundleMain(argv) File "/home/andy/git/oilshell/oil/bin/oil.py", line 283, in AppBundleMain loader, line_input) File "/home/andy/git/oilshell/oil/core/shell.py", line 640, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 153, in Batch node = c_parser.ParseLogicalLine() # can raise ParseError File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 2054, in ParseLogicalLine node = self._ParseCommandLine() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1916, in _ParseCommandLine child = self.ParseAndOr() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1846, in ParseAndOr child = self.ParsePipeline() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1792, in ParsePipeline child = self.ParseCommand() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1709, in ParseCommand return self.ParseCompoundCommand() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1479, in ParseCompoundCommand return self.w_parser.ParseVarDecl(kw_token) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 901, in ParseVarDecl enode, last_token = self.parse_ctx.ParseVarDecl(kw_token, self.lexer) File "/home/andy/git/oilshell/oil/frontend/parse_lib.py", line 332, in ParseVarDecl pnode, last_token = self.e_parser.Parse(lexer, grammar_nt.oil_var_decl) File "/home/andy/git/oilshell/oil/oil_lang/expr_parse.py", line 310, in Parse lexer) File "/home/andy/git/oilshell/oil/oil_lang/expr_parse.py", line 214, in _PushOilTokens node = c_parser.ParseCommandSub() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 2092, in ParseCommandSub c_list = self._ParseCommandTerm() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1979, in _ParseCommandTerm child = self.ParseAndOr() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1846, in ParseAndOr child = self.ParsePipeline() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1792, in ParsePipeline child = self.ParseCommand() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1766, in ParseCommand return self.ParseSimpleCommand() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 826, in ParseSimpleCommand redirects, words, block = self._ScanSimpleCommand() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 564, in _ScanSimpleCommand self._Peek() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 425, in _Peek w = self.w_parser.ReadWord(self.next_lex_mode) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 1536, in ReadWord w, need_more = self._ReadWord(lex_mode) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 1496, in _ReadWord w = self._ReadCompoundWord(lex_mode) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 1228, in _ReadCompoundWord return self._ReadCompoundWord3(lex_mode, Id.Undefined_Tok, True) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 1326, in _ReadCompoundWord3 self._ParseCallArguments(arglist) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 1224, in _ParseCallArguments self.parse_ctx.ParseOilArgList(self.lexer, arglist) File "/home/andy/git/oilshell/oil/frontend/parse_lib.py", line 361, in ParseOilArgList raise AssertionError() AssertionError |
osh_ALT | 19 nested expr contexts [osh_ALT stdout] Expected 'len\n3\n', got '' [osh_ALT status] Expected 0, got 1 [osh_ALT stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/oil.py", line 355, in _cpython_main_hook sys.exit(main(sys.argv)) File "/home/andy/git/oilshell/oil/bin/oil.py", line 324, in main return AppBundleMain(argv) File "/home/andy/git/oilshell/oil/bin/oil.py", line 316, in AppBundleMain return readlink.main(main_argv) File "/home/andy/git/oilshell/oil/core/shell.py", line 640, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 153, in Batch node = c_parser.ParseLogicalLine() # can raise ParseError File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 2054, in ParseLogicalLine node = self._ParseCommandLine() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1916, in _ParseCommandLine child = self.ParseAndOr() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1846, in ParseAndOr child = self.ParsePipeline() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1792, in ParsePipeline child = self.ParseCommand() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1709, in ParseCommand return self.ParseCompoundCommand() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1479, in ParseCompoundCommand return self.w_parser.ParseVarDecl(kw_token) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 901, in ParseVarDecl enode, last_token = self.parse_ctx.ParseVarDecl(kw_token, self.lexer) File "/home/andy/git/oilshell/oil/frontend/parse_lib.py", line 332, in ParseVarDecl pnode, last_token = self.e_parser.Parse(lexer, grammar_nt.oil_var_decl) File "/home/andy/git/oilshell/oil/oil_lang/expr_parse.py", line 310, in Parse lexer) File "/home/andy/git/oilshell/oil/oil_lang/expr_parse.py", line 290, in _PushOilTokens raise parse.ParseError("incomplete input", tok.id, tok) File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 2092, in ParseCommandSub c_list = self._ParseCommandTerm() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 2022, in _ParseCommandTerm return command.CommandList(children) File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1846, in ParseAndOr child = self.ParsePipeline() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1792, in ParsePipeline child = self.ParseCommand() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1766, in ParseCommand return self.ParseSimpleCommand() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 826, in ParseSimpleCommand redirects, words, block = self._ScanSimpleCommand() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 564, in _ScanSimpleCommand self._Peek() File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 425, in _Peek w = self.w_parser.ReadWord(self.next_lex_mode) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 1549, in ReadWord return self.cursor File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 1496, in _ReadWord w = self._ReadCompoundWord(lex_mode) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 1228, in _ReadCompoundWord return self._ReadCompoundWord3(lex_mode, Id.Undefined_Tok, True) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 1401, in _ReadCompoundWord3 word=w) File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 1224, in _ParseCallArguments self.parse_ctx.ParseOilArgList(self.lexer, arglist) File "/home/andy/git/oilshell/oil/frontend/parse_lib.py", line 361, in ParseOilArgList raise AssertionError() AssertionError FATAL: couldn't import from app bundle '/home/andy/git/oilshell/oil/_tmp/oil-tar-test/oil-0.8.2/_bin/osh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |
osh | 33 Float Literals with _ (requires re2c refinement) [osh stdout] Expected 'less\ngreat\n', got '' [osh status] Expected 0, got 2 stdout: stderr: var x = 1.2 + 2_3.0e-1 # 3.5 ^~~~ [ stdin ]:2: Syntax error in expression (near Id.Expr_Float) |
osh_ALT | 33 Float Literals with _ (requires re2c refinement) [osh_ALT stdout] Expected 'less\ngreat\n', got '' [osh_ALT status] Expected 0, got 2 stdout: stderr: var x = 1.2 + 2_3.0e-1 # 3.5 ^~~~ [ stdin ]:2: Syntax error in expression (near Id.Expr_Float) |
osh | 52 s ~ regex and s !~ regex [osh stdout] Expected "matches\n['foo', 'oo']\ndoes not match\n['foo', 'oo']\n[]\n", got 'matches\n' [osh status] Expected 0, got 1 stdout: matchesstderr: argv.py $_match(0) $_match(1) ^~~~~~~ [ stdin ]:5: fatal: Expected function named '_match', got (value.Undef) |
osh_ALT | 52 s ~ regex and s !~ regex [osh_ALT stdout] Expected "matches\n['foo', 'oo']\ndoes not match\n['foo', 'oo']\n[]\n", got 'matches\n' [osh_ALT status] Expected 0, got 1 stdout: matchesstderr: argv.py $_match(0) $_match(1) ^~~~~~~ [ stdin ]:5: fatal: Expected function named '_match', got (value.Undef) |
osh | 53 s ~ regex sets a local, not a global [osh stdout] Expected "matches\n['foo', 'oo']\ndefault\n", got 'matches\n' [osh status] Expected 0, got 1 stdout: matchesstderr: argv.py $_match(0) $_match(1) ^~~~~~~ [ stdin ]:5: fatal: Expected function named '_match', got (value.Undef) |
osh_ALT | 53 s ~ regex sets a local, not a global [osh_ALT stdout] Expected "matches\n['foo', 'oo']\ndefault\n", got 'matches\n' [osh_ALT status] Expected 0, got 1 stdout: matchesstderr: argv.py $_match(0) $_match(1) ^~~~~~~ [ stdin ]:5: fatal: Expected function named '_match', got (value.Undef) |
osh | 55 obj.method does NOT give you a bound method [osh stdout] Expected '', got '<built-in method upper of str object at 0x7f88bdf033c8>\n' stdout: <built-in method upper of str object at 0x7f88bdf033c8>stderr: |
osh_ALT | 55 obj.method does NOT give you a bound method [osh_ALT stdout] Expected '', got '<built-in method upper of str object at 0x7f77df7c3170>\n' stdout: <built-in method upper of str object at 0x7f77df7c3170>stderr: |
osh | 58 s ~~ glob and s !~~ glob [osh stdout] Expected 'yes\nno\n', got '' [osh status] Expected 0, got 1 stdout: stderr: shopt -s oil:all ^~~~~ [ stdin ]:1: fatal: ~~ not implemented |
osh_ALT | 58 s ~~ glob and s !~~ glob [osh_ALT stdout] Expected 'yes\nno\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: shopt -s oil:all ^~~~~ [ stdin ]:1: fatal: ~~ not implemented |