spec test index / oilshell.org
54 passed, 0 OK, 0 not implemented, 0 BUG, 5 failed, 0 timeouts, 0 cases skipped 5 failed under osh
osh | 13 Wrong sigil $range() shows representation of iterator? [osh stdout] Expected 'TODO\n', got '' [osh status] Expected 0, got 1 stdout: stderr: echo $range(10, 15, 2) ^~~~ [ stdin ]:2: fatal: Expected function to return a bool, int, float, or string. Got <type 'xrange'> |
osh | 14 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/travis/build/oilshell/oil/bin/oil.py", line 358, in <module> sys.exit(main(sys.argv)) File "/home/travis/build/oilshell/oil/bin/oil.py", line 301, in main return AppBundleMain(argv) File "/home/travis/build/oilshell/oil/bin/oil.py", line 261, in AppBundleMain loader, line_input) File "/home/travis/build/oilshell/oil/core/shell.py", line 675, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/travis/build/oilshell/oil/core/main_loop.py", line 324, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/travis/build/oilshell/oil/osh/cmd_eval.py", line 1498, in ExecuteAndCatch status = self._Execute(node) File "/home/travis/build/oilshell/oil/osh/cmd_eval.py", line 1345, in _Execute status, check_errexit = self._Dispatch(node, pipeline_st) File "/home/travis/build/oilshell/oil/osh/cmd_eval.py", line 599, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/travis/build/oilshell/oil/osh/word_eval.py", line 1946, in EvalWordSequence2 return self.SimpleEvalWordSequence2(words, allow_assign) File "/home/travis/build/oilshell/oil/osh/word_eval.py", line 1906, in SimpleEvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/travis/build/oilshell/oil/osh/word_eval.py", line 1560, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/travis/build/oilshell/oil/osh/word_eval.py", line 1529, in _EvalWordPart a = [_Stringify(item) for item in func(*pos_args, **named_args)] TypeError: 'int' object is not iterable |
osh | 15 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/travis/build/oilshell/oil/bin/oil.py", line 358, in <module> sys.exit(main(sys.argv)) File "/home/travis/build/oilshell/oil/bin/oil.py", line 301, in main return AppBundleMain(argv) File "/home/travis/build/oilshell/oil/bin/oil.py", line 261, in AppBundleMain loader, line_input) File "/home/travis/build/oilshell/oil/core/shell.py", line 675, 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 1878, in ParseCommand return self.ParseCompoundCommand() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 1615, in ParseCompoundCommand n8 = self.w_parser.ParseVarDecl(kw_token) File "/home/travis/build/oilshell/oil/osh/word_parse.py", line 1034, in ParseVarDecl enode, last_token = self.parse_ctx.ParseVarDecl(kw_token, self.lexer) File "/home/travis/build/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/travis/build/oilshell/oil/oil_lang/expr_parse.py", line 314, in Parse lexer) File "/home/travis/build/oilshell/oil/oil_lang/expr_parse.py", line 214, in _PushOilTokens node = c_parser.ParseCommandSub() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2263, in ParseCommandSub c_list = self._ParseCommandTerm() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2152, in _ParseCommandTerm 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 1925, in ParseCommand return self.ParseSimpleCommand() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 939, in ParseSimpleCommand redirects, words, block = self._ScanSimpleCommand() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 672, in _ScanSimpleCommand self._Peek() File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 531, in _Peek w = self.w_parser.ReadWord(self.next_lex_mode) File "/home/travis/build/oilshell/oil/osh/word_parse.py", line 1773, in ReadWord w, need_more = self._ReadWord(lex_mode) File "/home/travis/build/oilshell/oil/osh/word_parse.py", line 1713, in _ReadWord w = self._ReadCompoundWord(lex_mode) File "/home/travis/build/oilshell/oil/osh/word_parse.py", line 1446, in _ReadCompoundWord return self._ReadCompoundWord3(lex_mode, Id.Undefined_Tok, True) File "/home/travis/build/oilshell/oil/osh/word_parse.py", line 1506, in _ReadCompoundWord3 self._ParseCallArguments(arglist) File "/home/travis/build/oilshell/oil/osh/word_parse.py", line 1367, in _ParseCallArguments self.parse_ctx.ParseOilArgList(self.lexer, arglist) File "/home/travis/build/oilshell/oil/frontend/parse_lib.py", line 361, in ParseOilArgList raise AssertionError() AssertionError |
osh | 31 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 | 58 Equality of ~== with Float (deferred) [osh status] Expected 0, got 1 stdout: stderr: if (42 ~== 42.0) { ^~~ [ stdin ]:3: fatal: ~== expects a string on the left |