Results for oil-regex.test.sh

statusoshosh_ALT
pass 2626
FAIL 11
total2727
caseoshosh_ALTdescription
0pass pass /^.$/
1pass pass /.+/
2pass pass Repeat {1,3} etc.
3pass pass d+ digit+ ~d+ ~digit+
4pass pass Alternation and sequence
5pass pass Char Class Ranges
6pass pass Char Class Set
7FAIL FAIL Range with escaped characters
detailsdetails
8pass pass Group ()
9pass pass literal ''
10pass pass double quoted, $x, and ${x}
11pass pass @splice
12pass pass Matching escaped tab character
13pass pass Match non-ASCII byte denoted using c'\xff'
14pass pass Match non-ASCII byte denoted using \xff
15pass pass ERE can express Unicode escapes that are in the ASCII range
16pass pass ERE can't express higher Unicode escapes
17pass pass non-ASCII bytes must be singleton terms, e.g. '\x7f\xff' is disallowed
18pass pass Matching escaped tab character
19pass pass Matching ] and \ and ' and " in character classes
20pass pass Matching literal hyphen in character classes
21pass pass Repeated String Literal With Single Char
22pass pass Error when unparenthesized string of more than one character is repeated
23pass pass Instead of c'foo\\bar' use 'foo' \\ 'bar'
24pass pass Negation of Character Class
25pass pass Posix and Perl class in class literals
26pass pass Individual Perl and POSIX Classes In Literals Can't Be Negated
52 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

osh7 Range with escaped characters

[osh stdout] Expected ' 5b 00 2d 0f 5d 0a\n', got ''
[osh status] Expected 0, got 1

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 918, in <module>
    sys.exit(main(sys.argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 876, in main
    return AppBundleMain(argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 846, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 656, in ShellMain
    status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 147, in Batch
    node = c_parser.ParseLogicalLine()  # can raise ParseError
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1989, in ParseLogicalLine
    node = self._ParseCommandLine()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1850, in _ParseCommandLine
    child = self.ParseAndOr()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1780, in ParseAndOr
    child = self.ParsePipeline()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1727, in ParsePipeline
    child = self.ParseCommand()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1630, in ParseCommand
    node = self.ParseCompoundCommand()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1412, in ParseCompoundCommand
    return self.w_parser.ParsePlaceMutation(kw_token)
  File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 844, in ParsePlaceMutation
    enode, last_token = self.parse_ctx.ParsePlaceMutation(kw_token, self.lexer)
  File "/home/andy/git/oilshell/oil/frontend/parse_lib.py", line 351, in ParsePlaceMutation
    ast_node = self.tr.PlaceMutation(pnode)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 645, in PlaceMutation
    rhs = self.Expr(children[2])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 405, in Expr
    return self._Tuple(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 200, in _Tuple
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 410, in Expr
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 437, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 441, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 446, in Expr
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 453, in Expr
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 459, in Expr
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 471, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 475, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 479, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 483, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 487, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 491, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 497, in Expr
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 505, in Expr
    node = self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 400, in Expr
    return self._Atom(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 269, in _Atom
    r = self._Regex(children[1])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1214, in _Regex
    return self._Regex(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1226, in _Regex
    r = self._ReAtom(children[i])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1105, in _ReAtom
    return re.ClassLiteral(False, self._ClassLiteral(p_child))
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1033, in _ClassLiteral
    return [self._ClassLiteralTerm(c) for c in p_node.children[1:-1]]
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1013, in _ClassLiteralTerm
    start = self._RangeChar(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 927, in _RangeChar
    raise AssertionError('TODO')
AssertionError: TODO
osh_ALT7 Range with escaped characters

[osh_ALT stdout] Expected ' 5b 00 2d 0f 5d 0a\n', got ''
[osh_ALT status] Expected 0, got 1

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 905, in _cpython_main_hook
    sys.exit(main(sys.argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 876, in main
    return AppBundleMain(argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 846, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 656, in ShellMain
    status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 147, in Batch
    node = c_parser.ParseLogicalLine()  # can raise ParseError
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1989, in ParseLogicalLine
    node = self._ParseCommandLine()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1850, in _ParseCommandLine
    child = self.ParseAndOr()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1780, in ParseAndOr
    child = self.ParsePipeline()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1727, in ParsePipeline
    child = self.ParseCommand()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1630, in ParseCommand
    node = self.ParseCompoundCommand()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1412, in ParseCompoundCommand
    return self.w_parser.ParsePlaceMutation(kw_token)
  File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 844, in ParsePlaceMutation
    enode, last_token = self.parse_ctx.ParsePlaceMutation(kw_token, self.lexer)
  File "/home/andy/git/oilshell/oil/frontend/parse_lib.py", line 351, in ParsePlaceMutation
    ast_node = self.tr.PlaceMutation(pnode)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 645, in PlaceMutation
    rhs = self.Expr(children[2])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 200, in _Tuple
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 82, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 571, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 269, in _Atom
    r = self._Regex(children[1])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1214, in _Regex
    return self._Regex(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1226, in _Regex
    r = self._ReAtom(children[i])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1105, in _ReAtom
    return re.ClassLiteral(False, self._ClassLiteral(p_child))
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1033, in _ClassLiteral
    return [self._ClassLiteralTerm(c) for c in p_node.children[1:-1]]
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1019, in _ClassLiteralTerm
    return self._NameInClass(children[0].tok, children[1].tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 943, in _RangeChar
    p_die(self.RANGE_POINT_TOO_LONG, token=tok)
AssertionError: TODO
FATAL: couldn't import from app bundle '/home/andy/git/oilshell/oil/_tmp/oil-tar-test/oil-0.7.pre5/_bin/osh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47