[pypy-commit] pypy py3.5-async: Add test_astbuilder changes of branch py3.5
raffael_t
pypy.commits at gmail.com
Sat Jul 9 10:45:18 EDT 2016
Author: Raffael Tfirst <raffael.tfirst at gmail.com>
Branch: py3.5-async
Changeset: r85628:fe1d33bb7ba2
Date: 2016-07-09 16:44 +0200
http://bitbucket.org/pypy/pypy/changeset/fe1d33bb7ba2/
Log: Add test_astbuilder changes of branch py3.5
diff --git a/pypy/interpreter/astcompiler/test/test_astbuilder.py b/pypy/interpreter/astcompiler/test/test_astbuilder.py
--- a/pypy/interpreter/astcompiler/test/test_astbuilder.py
+++ b/pypy/interpreter/astcompiler/test/test_astbuilder.py
@@ -492,12 +492,12 @@
assert not args.args
assert not args.defaults
assert args.kwarg is None
- assert args.vararg == "a"
+ assert args.vararg.arg == "a"
args = self.get_first_stmt("def f(**a): pass").args
assert not args.args
assert not args.defaults
assert args.vararg is None
- assert args.kwarg == "a"
+ assert args.kwarg.arg == "a"
args = self.get_first_stmt("def f(a, b, c=d, *e, **f): pass").args
assert len(args.args) == 3
for arg in args.args:
@@ -505,8 +505,8 @@
assert len(args.defaults) == 1
assert isinstance(args.defaults[0], ast.Name)
assert args.defaults[0].ctx == ast.Load
- assert args.vararg == "e"
- assert args.kwarg == "f"
+ assert args.vararg.arg == "e"
+ assert args.kwarg.arg == "f"
input = "def f(a=b, c): pass"
exc = py.test.raises(SyntaxError, self.get_ast, input).value
assert exc.msg == "non-default argument follows default argument"
@@ -545,9 +545,9 @@
assert isinstance(func.args.args[0].annotation, ast.Num)
assert isinstance(func.args.defaults[0], ast.Name)
func = self.get_first_stmt("def f(*x : 42): pass")
- assert isinstance(func.args.varargannotation, ast.Num)
+ assert isinstance(func.args.vararg.annotation, ast.Num)
func = self.get_first_stmt("def f(**kw : 42): pass")
- assert isinstance(func.args.kwargannotation, ast.Num)
+ assert isinstance(func.args.kwarg.annotation, ast.Num)
func = self.get_first_stmt("def f(*, kw : 42=a): pass")
assert isinstance(func.args.kwonlyargs[0].annotation, ast.Num)
@@ -606,8 +606,6 @@
assert dec.func.id == "dec"
assert dec.args is None
assert dec.keywords is None
- assert dec.starargs is None
- assert dec.kwargs is None
definition = self.get_first_stmt("@dec(a, b)\n%s" % (stmt,))
assert len(definition.decorator_list) == 1
dec = definition.decorator_list[0]
@@ -615,8 +613,6 @@
assert dec.func.id == "dec"
assert len(dec.args) == 2
assert dec.keywords is None
- assert dec.starargs is None
- assert dec.kwargs is None
def test_augassign(self):
aug_assigns = (
@@ -625,7 +621,7 @@
("/=", ast.Div),
("//=", ast.FloorDiv),
("%=", ast.Mod),
- ("@=", ast.MatMul),
+ ("@=", ast.MatMult),
("<<=", ast.LShift),
(">>=", ast.RShift),
("&=", ast.BitAnd),
@@ -931,7 +927,7 @@
("*", ast.Mult),
("//", ast.FloorDiv),
("%", ast.Mod),
- ("@", ast.MatMul)
+ ("@", ast.MatMult)
)
for op, ast_type in binops:
bin = self.get_first_expr("a %s b" % (op,))
@@ -987,8 +983,6 @@
assert isinstance(call, ast.Call)
assert call.args is None
assert call.keywords is None
- assert call.starargs is None
- assert call.kwargs is None
assert isinstance(call.func, ast.Name)
assert call.func.ctx == ast.Load
call = self.get_first_expr("f(2, 3)")
@@ -996,8 +990,6 @@
assert isinstance(call.args[0], ast.Num)
assert isinstance(call.args[1], ast.Num)
assert call.keywords is None
- assert call.starargs is None
- assert call.kwargs is None
call = self.get_first_expr("f(a=3)")
assert call.args is None
assert len(call.keywords) == 1
@@ -1006,21 +998,20 @@
assert keyword.arg == "a"
assert isinstance(keyword.value, ast.Num)
call = self.get_first_expr("f(*a, **b)")
- assert call.args is None
- assert isinstance(call.starargs, ast.Name)
- assert call.starargs.id == "a"
- assert call.starargs.ctx == ast.Load
- assert isinstance(call.kwargs, ast.Name)
- assert call.kwargs.id == "b"
- assert call.kwargs.ctx == ast.Load
+ assert isinstance(call.args[0], ast.Starred)
+ assert isinstance(call.keywords[0], ast.keyword)
+ assert call.args[0].value.id == "a"
+ assert call.args[0].ctx == ast.Load
+ assert call.keywords[0].value.id == "b"
call = self.get_first_expr("f(a, b, x=4, *m, **f)")
- assert len(call.args) == 2
+ assert len(call.args) == 3
assert isinstance(call.args[0], ast.Name)
assert isinstance(call.args[1], ast.Name)
- assert len(call.keywords) == 1
+ assert isinstance(call.args[2], ast.Starred)
+ assert len(call.keywords) == 2
assert call.keywords[0].arg == "x"
- assert call.starargs.id == "m"
- assert call.kwargs.id == "f"
+ assert call.args[2].value.id == "m"
+ assert call.keywords[1].value.id == "f"
call = self.get_first_expr("f(x for x in y)")
assert len(call.args) == 1
assert isinstance(call.args[0], ast.GeneratorExp)
@@ -1036,8 +1027,6 @@
assert exc.msg == "keyword can't be an expression"
exc = py.test.raises(SyntaxError, self.get_ast, "f(a=c, a=d)").value
assert exc.msg == "keyword argument repeated"
- exc = py.test.raises(SyntaxError, self.get_ast, "f(x, *a, b)").value
- assert exc.msg == "only named arguments may follow *expression"
def test_attribute(self):
attr = self.get_first_expr("x.y")
@@ -1345,7 +1334,7 @@
body = mod.body
assert len(body) == 1
expr = body[0].value
- assert expr.op == ast.MatMul
+ assert expr.op == ast.MatMult
assert isinstance(expr.left, ast.Name)
assert isinstance(expr.right, ast.Name)
# imatmul is tested earlier search for @=
More information about the pypy-commit
mailing list