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 148, in Batch
    node = c_parser.ParseLogicalLine()  # can raise ParseError
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 2011, in ParseLogicalLine
    node = self._ParseCommandLine()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1872, in _ParseCommandLine
    child = self.ParseAndOr()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1802, in ParseAndOr
    child = self.ParsePipeline()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1748, in ParsePipeline
    child = self.ParseCommand()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1663, in ParseCommand
    return self.ParseCompoundCommand()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1460, in ParseCompoundCommand
    return self.w_parser.ParsePlaceMutation(kw_token)
  File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 875, in ParsePlaceMutation
    enode, last_token = self.parse_ctx.ParsePlaceMutation(kw_token, self.lexer)
  File "/home/andy/git/oilshell/oil/frontend/parse_lib.py", line 375, in ParsePlaceMutation
    ast_node = self.tr.MakePlaceMutation(pnode)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 674, in MakePlaceMutation
    rhs = self.Expr(children[2])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 434, in Expr
    return self._Tuple(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 221, in _Tuple
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 439, in Expr
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 466, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 470, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, 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.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 482, in Expr
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 489, in Expr
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 501, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 505, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 509, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 513, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 517, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 521, in Expr
    return self._AssocBinary(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 527, in Expr
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 539, in Expr
    node = self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 430, in Expr
    return self._Atom(children)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 296, in _Atom
    r = self._Regex(children[1])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1228, in _Regex
    return self._Regex(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1244, in _Regex
    r = self._ReAtom(children[i])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1120, in _ReAtom
    return re.ClassLiteral(False, self._ClassLiteral(p_child))
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1061, in _ClassLiteral
    terms = [self._ClassLiteralTerm(c) for c in p_node.children[1:-1]]
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1041, in _ClassLiteralTerm
    start = self._RangeChar(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 955, 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 148, in Batch
    node = c_parser.ParseLogicalLine()  # can raise ParseError
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 2011, in ParseLogicalLine
    node = self._ParseCommandLine()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1872, in _ParseCommandLine
    child = self.ParseAndOr()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1802, in ParseAndOr
    child = self.ParsePipeline()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1748, in ParsePipeline
    child = self.ParseCommand()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1663, in ParseCommand
    return self.ParseCompoundCommand()
  File "/home/andy/git/oilshell/oil/osh/cmd_parse.py", line 1460, in ParseCompoundCommand
    return self.w_parser.ParsePlaceMutation(kw_token)
  File "/home/andy/git/oilshell/oil/osh/word_parse.py", line 875, in ParsePlaceMutation
    enode, last_token = self.parse_ctx.ParsePlaceMutation(kw_token, self.lexer)
  File "/home/andy/git/oilshell/oil/frontend/parse_lib.py", line 375, in ParsePlaceMutation
    ast_node = self.tr.MakePlaceMutation(pnode)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 674, in MakePlaceMutation
    rhs = self.Expr(children[2])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 221, in _Tuple
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 97, in _AssocBinary
    return self.Expr(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 597, in Expr
    return expr.Var(tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 296, in _Atom
    r = self._Regex(children[1])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1228, in _Regex
    return self._Regex(children[0])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1244, in _Regex
    r = self._ReAtom(children[i])
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1120, in _ReAtom
    return re.ClassLiteral(False, self._ClassLiteral(p_child))
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1061, in _ClassLiteral
    terms = [self._ClassLiteralTerm(c) for c in p_node.children[1:-1]]
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 1047, in _ClassLiteralTerm
    return self._NameInClass(children[0].tok, children[1].tok)
  File "/home/andy/git/oilshell/oil/oil_lang/expr_to_ast.py", line 971, in _RangeChar
    p_die(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.pre7/_bin/osh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47