[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