Discussion:
Bug#1082217: python-gast FTBFS with Python 3.13
Add Reply
Stefano Rivera
2024-09-19 12:10:02 UTC
Reply
Permalink
Source: python-gast
Version: 0.5.2-2
Severity: normal
User: debian-***@lists.debian.org
Usertags: python3.13

This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.

To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.

What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html

Log snippet:

dh_auto_test -O--buildsystem=pybuild
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build; python3.13 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>
plugins: typeguard-4.3.0
collected 36 items

tests/test_api.py ....F........F [ 38%]
tests/test_compat.py FFFFFFFFFFFFFFFFFFFF [ 94%]
tests/test_self.py .. [100%]

=================================== FAILURES ===================================
____________________________ APITestCase.test_dump _____________________________

self = <tests.test_api.APITestCase testMethod=test_dump>

def test_dump(self):
code = 'lambda x: x'
tree = gast.parse(code, mode='eval')
dump = gast.dump(tree)
norm = ("Expression(body=Lambda(args=arguments(args=[Name("
"id='x', ctx=Param(), "
"annotation=None, type_comment=None)], posonlyargs=[], "
"vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, "
"defaults=[]), body=Name(id='x', ctx=Load(), "
"annotation=None, type_comment=None)"
"))")
self.assertEqual(dump, norm)
E AssertionError: "Expr[59 chars]ram())]), body=Name(id='x', ctx=Load())))" != "Expr[59 chars]ram(), annotation=None, type_comment=None)], p[148 chars]e)))"
E - Expression(body=Lambda(args=arguments(args=[Name(id='x', ctx=Param())]), body=Name(id='x', ctx=Load())))
E + Expression(body=Lambda(args=arguments(args=[Name(id='x', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=Name(id='x', ctx=Load(), annotation=None, type_comment=None)))

tests/test_api.py:39: AssertionError
____________________________ APITestCase.test_walk _____________________________

self = <tests.test_api.APITestCase testMethod=test_walk>

def test_walk(self):
code = 'x + 1'
tree = gast.parse(code, mode='eval')
dump = gast.dump(tree)
norm = ("Expression(body=BinOp(left=Name(id='x', ctx=Load(), "
"annotation=None, type_comment=None), op=Add(), "
"right=Constant(value=1, kind=None)))")
self.assertEqual(dump, norm)
E AssertionError: "Expr[41 chars]oad()), op=Add(), right=Constant(value=1)))" != "Expr[41 chars]oad(), annotation=None, type_comment=None), op[40 chars]e)))"
E - Expression(body=BinOp(left=Name(id='x', ctx=Load()), op=Add(), right=Constant(value=1)))
E + Expression(body=BinOp(left=Name(id='x', ctx=Load(), annotation=None, type_comment=None), op=Add(), right=Constant(value=1, kind=None)))
E ? ++++++++++++++++++++++++++++++++++++ +++++++++++

tests/test_api.py:48: AssertionError
______________________ CompatTestCase.test_ArgAnnotation _______________________

self = <tests.test_compat.CompatTestCase testMethod=test_ArgAnnotation>

def test_ArgAnnotation(self):
code = 'def foo(x:int): pass'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments(args="
"[Name(id='x', ctx=Param(), annotation=Name"
"(id='int', ctx=Load(), annotation=None, type_comment=None"
"), type_comment=None)], posonlyargs="
"[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg="
"None, defaults=[]), body=[Pass()], decorator_list=[], "
"returns=None, type_comment=None)], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[111 chars]oad()))]), body=[Pass()])])" != "Modu[111 chars]oad(), annotation=None, type_comment=None), ty[186 chars]=[])"
E - Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='x', ctx=Param(), annotation=Name(id='int', ctx=Load()))]), body=[Pass()])])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='x', ctx=Param(), annotation=Name(id='int', ctx=Load(), annotation=None, type_comment=None), type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Pass()], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])

tests/test_compat.py:42: AssertionError
___________________________ CompatTestCase.test_Call ___________________________

self = <tests.test_compat.CompatTestCase testMethod=test_Call>

def test_Call(self):
self.maxDiff = None
code = 'foo(x, y=1, *args, **kwargs)'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[Expr(value=Call(func=Name(id='foo', ctx=Load"
"(), annotation=None, type_comment=None"
"), args=[Name(id='x', ctx=Load(), "
"annotation=None, type_comment=None), Starred(value=Name("
"id='args', ctx=Load(), annotation=None, type_comment=None)"
", ctx=Load())], keywords=[keyword("
"arg='y', value=Constant(value=1, kind=None)), keyword(arg"
"=None, value=Name(id='kwargs', ctx=Load(), annotation=None, "
"type_comment=None))]))], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[50 chars]oad()), args=[Name(id='x', ctx=Load()), Starre[149 chars]))])" != "Modu[50 chars]oad(), annotation=None, type_comment=None), ar[331 chars]=[])"
E - Module(body=[Expr(value=Call(func=Name(id='foo', ctx=Load()), args=[Name(id='x', ctx=Load()), Starred(value=Name(id='args', ctx=Load()), ctx=Load())], keywords=[keyword(arg='y', value=Constant(value=1)), keyword(value=Name(id='kwargs', ctx=Load()))]))])
E + Module(body=[Expr(value=Call(func=Name(id='foo', ctx=Load(), annotation=None, type_comment=None), args=[Name(id='x', ctx=Load(), annotation=None, type_comment=None), Starred(value=Name(id='args', ctx=Load(), annotation=None, type_comment=None), ctx=Load())], keywords=[keyword(arg='y', value=Constant(value=1, kind=None)), keyword(arg=None, value=Name(id='kwargs', ctx=Load(), annotation=None, type_comment=None))]))], type_ignores=[])

tests/test_compat.py:213: AssertionError
_________________________ CompatTestCase.test_Ellipsis _________________________

self = <tests.test_compat.CompatTestCase testMethod=test_Ellipsis>

def test_Ellipsis(self):
self.maxDiff = None
code = 'def foo(a): a[...]'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments(args=["
"Name(id='a', ctx=Param(), annotation=None, type_comment=None)"
"], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[]"
", kwarg=None, defaults=[]), body=[Expr(value=Subscript(value="
"Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
", slice=Constant(value=Ellipsis, kind=None), ctx=Load()))], "
"decorator_list=[], returns=None, type_comment="
"None)], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[73 chars]ram())]), body=[Expr(value=Subscript(value=Nam[67 chars]])])" != "Modu[73 chars]ram(), annotation=None, type_comment=None)], p[304 chars]=[])"
E - Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='a', ctx=Param())]), body=[Expr(value=Subscript(value=Name(id='a', ctx=Load()), slice=Constant(value=Ellipsis), ctx=Load()))])])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='a', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Expr(value=Subscript(value=Name(id='a', ctx=Load(), annotation=None, type_comment=None), slice=Constant(value=Ellipsis, kind=None), ctx=Load()))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])

tests/test_compat.py:317: AssertionError
_________________________ CompatTestCase.test_ExtSlice _________________________

self = <tests.test_compat.CompatTestCase testMethod=test_ExtSlice>

def test_ExtSlice(self):
self.maxDiff = None
code = 'def foo(a): a[:,:]'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments(args=["
"Name(id='a', ctx=Param(), annotation=None, type_comment=None)"
"], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[]"
", kwarg=None, defaults=[]), body=[Expr(value=Subscript(value="
"Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
", slice=Tuple(elts=[Slice(lower=None, upper=None, step="
"None), Slice(lower=None, upper=None, step=None)], ctx=Load())"
", ctx=Load()))], decorator_list=[], returns=None, "
"type_comment=None)], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[73 chars]ram())]), body=[Expr(value=Subscript(value=Nam[85 chars]])])" != "Modu[73 chars]ram(), annotation=None, type_comment=None)], p[377 chars]=[])"
E - Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='a', ctx=Param())]), body=[Expr(value=Subscript(value=Name(id='a', ctx=Load()), slice=Tuple(elts=[Slice(), Slice()], ctx=Load()), ctx=Load()))])])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='a', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Expr(value=Subscript(value=Name(id='a', ctx=Load(), annotation=None, type_comment=None), slice=Tuple(elts=[Slice(lower=None, upper=None, step=None), Slice(lower=None, upper=None, step=None)], ctx=Load()), ctx=Load()))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])

tests/test_compat.py:286: AssertionError
_____________________ CompatTestCase.test_ExtSliceEllipsis _____________________

self = <tests.test_compat.CompatTestCase testMethod=test_ExtSliceEllipsis>

def test_ExtSliceEllipsis(self):
self.maxDiff = None
code = 'def foo(a): a[1, ...]'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments(args=["
"Name(id='a', ctx=Param(), annotation=None, type_comment=None)"
"], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[]"
", kwarg=None, defaults=[]), body=[Expr(value=Subscript(value="
"Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
", slice=Tuple(elts=[Constant(value=1, kind=None)"
", Constant(value=Ellipsis, kind=None)], ctx=Load()), ctx="
"Load()))], decorator_list=[], returns=None, type_comment="
"None)], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[73 chars]ram())]), body=[Expr(value=Subscript(value=Nam[112 chars]])])" != "Modu[73 chars]ram(), annotation=None, type_comment=None)], p[360 chars]=[])"
E - Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='a', ctx=Param())]), body=[Expr(value=Subscript(value=Name(id='a', ctx=Load()), slice=Tuple(elts=[Constant(value=1), Constant(value=Ellipsis)], ctx=Load()), ctx=Load()))])])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='a', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Expr(value=Subscript(value=Name(id='a', ctx=Load(), annotation=None, type_comment=None), slice=Tuple(elts=[Constant(value=1, kind=None), Constant(value=Ellipsis, kind=None)], ctx=Load()), ctx=Load()))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])

tests/test_compat.py:333: AssertionError
________________________ CompatTestCase.test_ExtSlices _________________________

self = <tests.test_compat.CompatTestCase testMethod=test_ExtSlices>

def test_ExtSlices(self):
self.maxDiff = None
code = 'def foo(a): a[1,:]'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments(args=["
"Name(id='a', ctx=Param(), annotation=None, type_comment=None)"
"], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[]"
", kwarg=None, defaults=[]), body=[Expr(value=Subscript(value="
"Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
", slice=Tuple(elts=[Constant(value=1, kind="
"None), Slice(lower=None, upper=None, step=None)], ctx=Load())"
", ctx=Load()))], decorator_list=[], returns=None, "
"type_comment=None)], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[73 chars]ram())]), body=[Expr(value=Subscript(value=Nam[95 chars]])])" != "Modu[73 chars]ram(), annotation=None, type_comment=None)], p[365 chars]=[])"
E - Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='a', ctx=Param())]), body=[Expr(value=Subscript(value=Name(id='a', ctx=Load()), slice=Tuple(elts=[Constant(value=1), Slice()], ctx=Load()), ctx=Load()))])])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='a', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Expr(value=Subscript(value=Name(id='a', ctx=Load(), annotation=None, type_comment=None), slice=Tuple(elts=[Constant(value=1, kind=None), Slice(lower=None, upper=None, step=None)], ctx=Load()), ctx=Load()))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])

tests/test_compat.py:302: AssertionError
______________________ CompatTestCase.test_FormattedValue ______________________

self = <tests.test_compat.CompatTestCase testMethod=test_FormattedValue>

def test_FormattedValue(self):
code = 'e = 1; f"{e}"'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[Assign(targets=[Name(id='e', ctx=Store()"
", annotation=None, type_comment=None"
")], value=Constant(value=1, kind=None), "
"type_comment=None), Expr(value="
"JoinedStr(values=[FormattedValue(value=Name(id='e', "
"ctx=Load(), annotation=None, type_comment=None), "
"conversion=-1, format_spec=None)]))], "
"type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[44 chars]ore())], value=Constant(value=1)), Expr(value=[80 chars]))])" != "Modu[44 chars]ore(), annotation=None, type_comment=None)], v[217 chars]=[])"
E - Module(body=[Assign(targets=[Name(id='e', ctx=Store())], value=Constant(value=1)), Expr(value=JoinedStr(values=[FormattedValue(value=Name(id='e', ctx=Load()), conversion=-1)]))])
E + Module(body=[Assign(targets=[Name(id='e', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None), Expr(value=JoinedStr(values=[FormattedValue(value=Name(id='e', ctx=Load(), annotation=None, type_comment=None), conversion=-1, format_spec=None)]))], type_ignores=[])

tests/test_compat.py:70: AssertionError
__________________________ CompatTestCase.test_Index ___________________________

self = <tests.test_compat.CompatTestCase testMethod=test_Index>

def test_Index(self):
code = 'def foo(a): a[1]'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments(args=["
"Name(id='a', ctx=Param(), annotation=None, type_comment=None)"
"], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[]"
", kwarg=None, defaults=[]), body=[Expr(value=Subscript(value="
"Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
", slice=Constant(value=1, kind=None), ctx=Load()"
"))], decorator_list=[], returns=None, type_comment=None)]"
", type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[73 chars]ram())]), body=[Expr(value=Subscript(value=Nam[60 chars]])])" != "Modu[73 chars]ram(), annotation=None, type_comment=None)], p[297 chars]=[])"
E - Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='a', ctx=Param())]), body=[Expr(value=Subscript(value=Name(id='a', ctx=Load()), slice=Constant(value=1), ctx=Load()))])])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='a', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Expr(value=Subscript(value=Name(id='a', ctx=Load(), annotation=None, type_comment=None), slice=Constant(value=1, kind=None), ctx=Load()))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])

tests/test_compat.py:270: AssertionError
________________________ CompatTestCase.test_JoinedStr _________________________

self = <tests.test_compat.CompatTestCase testMethod=test_JoinedStr>

def test_JoinedStr(self):
code = 'e = 1; f"e = {e}"'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[Assign(targets=[Name(id='e', ctx=Store()"
", annotation=None, type_comment=None"
")], value=Constant(value=1, kind=None), "
"type_comment=None), Expr(value="
"JoinedStr(values=[Constant(value='e = ', kind=None), "
"FormattedValue(value=Name(id='e', ctx=Load(), "
"annotation=None, type_comment=None), "
"conversion=-1, format_spec=None)]))], "
"type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[44 chars]ore())], value=Constant(value=1)), Expr(value=[104 chars]))])" != "Modu[44 chars]ore(), annotation=None, type_comment=None)], v[252 chars]=[])"
E - Module(body=[Assign(targets=[Name(id='e', ctx=Store())], value=Constant(value=1)), Expr(value=JoinedStr(values=[Constant(value='e = '), FormattedValue(value=Name(id='e', ctx=Load()), conversion=-1)]))])
E + Module(body=[Assign(targets=[Name(id='e', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None), Expr(value=JoinedStr(values=[Constant(value='e = ', kind=None), FormattedValue(value=Name(id='e', ctx=Load(), annotation=None, type_comment=None), conversion=-1, format_spec=None)]))], type_ignores=[])

tests/test_compat.py:85: AssertionError
___________________ CompatTestCase.test_KeywordOnlyArgument ____________________

self = <tests.test_compat.CompatTestCase testMethod=test_KeywordOnlyArgument>

def test_KeywordOnlyArgument(self):
code = 'def foo(*, x=1): pass'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments(args="
"[], posonlyargs=[], vararg=None, kwonlyargs=[Name"
"(id='x', ctx=Param(), annotation=None, type_comment=None"
")], kw_defaults=[Constant(value=1, kind=None)], kwarg="
"None, defaults=[]), body=[Pass()], decorator_list=[], "
"returns=None, type_comment=None)], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[43 chars]ents(kwonlyargs=[Name(id='x', ctx=Param())], k[45 chars]])])" != "Modu[43 chars]ents(args=[], posonlyargs=[], vararg=None, kwo[224 chars]=[])"
E - Module(body=[FunctionDef(name='foo', args=arguments(kwonlyargs=[Name(id='x', ctx=Param())], kw_defaults=[Constant(value=1)]), body=[Pass()])])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[], posonlyargs=[], vararg=None, kwonlyargs=[Name(id='x', ctx=Param(), annotation=None, type_comment=None)], kw_defaults=[Constant(value=1, kind=None)], kwarg=None, defaults=[]), body=[Pass()], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])

tests/test_compat.py:54: AssertionError
________________________ CompatTestCase.test_NamedExpr _________________________

self = <tests.test_compat.CompatTestCase testMethod=test_NamedExpr>

def test_NamedExpr(self):
code = '(x := 1) '
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[Expr(value=NamedExpr(target=Name(id='x',"
" ctx=Store(), annotation=None, type_comment=None), "
"value=Constant(value=1, kind=None)))], type_ignores="
"[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[56 chars]ore()), value=Constant(value=1)))])" != "Modu[56 chars]ore(), annotation=None, type_comment=None), va[49 chars]=[])"
E - Module(body=[Expr(value=NamedExpr(target=Name(id='x', ctx=Store()), value=Constant(value=1)))])
E + Module(body=[Expr(value=NamedExpr(target=Name(id='x', ctx=Store(), annotation=None, type_comment=None), value=Constant(value=1, kind=None)))], type_ignores=[])
E ? ++++++++++++++++++++++++++++++++++++ +++++++++++ +++++++++++++++++

tests/test_compat.py:123: AssertionError
_______________________ CompatTestCase.test_PosonlyArgs ________________________

self = <tests.test_compat.CompatTestCase testMethod=test_PosonlyArgs>

def test_PosonlyArgs(self):
code = 'def foo(a, /, b): pass'
tree = gast.parse(code, type_comments=True)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments("
"args=[Name(id='b', ctx=Param(), annotation=None, "
"type_comment=None)], posonlyargs=[Name(id='a', "
"ctx=Param(), annotation=None, type_comment=None)], "
"vararg=None, kwonlyargs=[], kw_defaults=[], "
"kwarg=None, defaults=[]), body=[Pass()], "
"decorator_list=[], returns=None, type_comment=None)"
"], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[73 chars]ram())], posonlyargs=[Name(id='a', ctx=Param()[17 chars]])])" != "Modu[73 chars]ram(), annotation=None, type_comment=None)], p[227 chars]=[])"
E - Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='b', ctx=Param())], posonlyargs=[Name(id='a', ctx=Param())]), body=[Pass()])])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[Name(id='b', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[Name(id='a', ctx=Param(), annotation=None, type_comment=None)], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Pass()], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])

tests/test_compat.py:113: AssertionError
__________________________ CompatTestCase.test_Raise ___________________________

self = <tests.test_compat.CompatTestCase testMethod=test_Raise>

def test_Raise(self):
codes = ('raise Exception',
'raise "Exception"',
'raise Exception, "err"',
'raise Exception("err")',
'raise E, V, T',)
norms = ("Module(body=[Raise(exc=Name(id='Exception', ctx=Load(), "
"annotation=None, type_comment=None),"
" cause=None)], type_ignores=[])",

"Module(body=[Raise(exc=Constant(value='Exception', kind="
"None), cause=None)], type_ignores=[])",

"Module(body=[Raise(exc=Call(func=Name(id='Exception', "
"ctx=Load(), annotation=None, type_comment=None), "
"args=[Constant(value='err', kind=None)], "
"keywords=[]), cause=None)], type_ignores=[])",

"Module(body=[Raise(exc=Call(func=Name(id='Exception', "
"ctx=Load(), annotation=None, type_comment=None), "
"args=[Constant(value='err', kind=None)], "
"keywords=[]), cause=None)], type_ignores=[])",

"Module(body=[Raise(exc=Call(func=Attribute(value=Call("
"func=Name(id='E', ctx=Load(), annotation=None, "
"type_comment=None), args=[Name(id='V', ctx="
"Load(), annotation=None, type_comment=None)], keywords=[]), "
"attr='with_traceback', ctx=Load"
"()), args=[Name(id='T', ctx=Load(), annotation=None, "
"type_comment=None)], keywords=[]), "
"cause=None)], type_ignores=[])",)

if sys.version_info.major == 3:
codes = codes[0], codes[1], codes[3]
norms = norms[0], norms[1], norms[3]

for code, norm in zip(codes, norms):
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[45 chars]oad()))])" != "Modu[45 chars]oad(), annotation=None, type_comment=None), ca[24 chars]=[])"
E - Module(body=[Raise(exc=Name(id='Exception', ctx=Load()))])
E + Module(body=[Raise(exc=Name(id='Exception', ctx=Load(), annotation=None, type_comment=None), cause=None)], type_ignores=[])

tests/test_compat.py:197: AssertionError
________________________ CompatTestCase.test_TryExcept _________________________

self = <tests.test_compat.CompatTestCase testMethod=test_TryExcept>

def test_TryExcept(self):
code = 'try:pass\nexcept e:pass\nelse:pass'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[Try(body=[Pass()], handlers=[ExceptHandler("
"type=Name(id='e', ctx=Load(), annotation=None, "
"type_comment=None), name=None, body=[Pass()])]"
", orelse=[Pass()], finalbody=[])], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[75 chars]oad()), body=[Pass()])], orelse=[Pass()])])" != "Modu[75 chars]oad(), annotation=None, type_comment=None), na[71 chars]=[])"
E - Module(body=[Try(body=[Pass()], handlers=[ExceptHandler(type=Name(id='e', ctx=Load()), body=[Pass()])], orelse=[Pass()])])
E + Module(body=[Try(body=[Pass()], handlers=[ExceptHandler(type=Name(id='e', ctx=Load(), annotation=None, type_comment=None), name=None, body=[Pass()])], orelse=[Pass()], finalbody=[])], type_ignores=[])

tests/test_compat.py:145: AssertionError
______________________ CompatTestCase.test_TryExceptNamed ______________________

self = <tests.test_compat.CompatTestCase testMethod=test_TryExceptNamed>

def test_TryExceptNamed(self):
code = 'try:pass\nexcept e as f:pass\nelse:pass'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[Try(body=[Pass()], handlers=[ExceptHandler("
"type=Name(id='e', ctx=Load(), annotation=None, "
"type_comment=None), name=Name(id='f', ctx="
"Store(), annotation=None, type_comment=None), body=[Pass()])]"
", orelse=[Pass()], finalbody=[])], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[75 chars]oad()), name=Name(id='f', ctx=Store()), body=[[25 chars]])])" != "Modu[75 chars]oad(), annotation=None, type_comment=None), na[128 chars]=[])"
E - Module(body=[Try(body=[Pass()], handlers=[ExceptHandler(type=Name(id='e', ctx=Load()), name=Name(id='f', ctx=Store()), body=[Pass()])], orelse=[Pass()])])
E + Module(body=[Try(body=[Pass()], handlers=[ExceptHandler(type=Name(id='e', ctx=Load(), annotation=None, type_comment=None), name=Name(id='f', ctx=Store(), annotation=None, type_comment=None), body=[Pass()])], orelse=[Pass()], finalbody=[])], type_ignores=[])

tests/test_compat.py:156: AssertionError
________________________ CompatTestCase.test_TryFinally ________________________

self = <tests.test_compat.CompatTestCase testMethod=test_TryFinally>

def test_TryFinally(self):
code = 'try:pass\nfinally:pass'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[Try(body=[Pass()], handlers=[], orelse=[], "
"finalbody=[Pass()])], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: 'Modu[23 chars]()], finalbody=[Pass()])])' != 'Modu[23 chars]()], handlers=[], orelse=[], finalbody=[Pass()[17 chars]=[])'
E - Module(body=[Try(body=[Pass()], finalbody=[Pass()])])
E + Module(body=[Try(body=[Pass()], handlers=[], orelse=[], finalbody=[Pass()])], type_ignores=[])

tests/test_compat.py:232: AssertionError
________________________ CompatTestCase.test_TypeIgnore ________________________

self = <tests.test_compat.CompatTestCase testMethod=test_TypeIgnore>

def test_TypeIgnore(self):
code = 'def foo(): pass # type: ignore[excuse]'
tree = gast.parse(code, type_comments=True)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments("
"args=[], posonlyargs=[], vararg=None, kwonlyargs=[], "
"kw_defaults=[], kwarg=None, defaults=[]), body=["
"Pass()], decorator_list=[], returns=None, "
"type_comment=None)], type_ignores="
"[TypeIgnore(lineno=1, tag='[excuse]')])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[43 chars]ents(), body=[Pass()])], type_ignores=[TypeIgn[27 chars]')])" != "Modu[43 chars]ents(args=[], posonlyargs=[], vararg=None, kwo[171 chars]')])"
E - Module(body=[FunctionDef(name='foo', args=arguments(), body=[Pass()])], type_ignores=[TypeIgnore(lineno=1, tag='[excuse]')])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Pass()], decorator_list=[], returns=None, type_comment=None)], type_ignores=[TypeIgnore(lineno=1, tag='[excuse]')])

tests/test_compat.py:99: AssertionError
___________________________ CompatTestCase.test_With ___________________________

self = <tests.test_compat.CompatTestCase testMethod=test_With>

def test_With(self):
code = 'with open("any"): pass'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[With(items=[withitem(context_expr=Call(func="
"Name(id='open', ctx=Load(), annotation=None, "
"type_comment=None), args=[Constant(value='any', "
"kind=None)], keywords=[]), optional_vars=None)], body=["
"Pass()], type_comment=None)], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[74 chars]oad()), args=[Constant(value='any')]))], body=[Pass()])])" != "Modu[74 chars]oad(), annotation=None, type_comment=None), ar[123 chars]=[])"
E - Module(body=[With(items=[withitem(context_expr=Call(func=Name(id='open', ctx=Load()), args=[Constant(value='any')]))], body=[Pass()])])
E + Module(body=[With(items=[withitem(context_expr=Call(func=Name(id='open', ctx=Load(), annotation=None, type_comment=None), args=[Constant(value='any', kind=None)], keywords=[]), optional_vars=None)], body=[Pass()], type_comment=None)], type_ignores=[])

tests/test_compat.py:224: AssertionError
_____________________ CompatTestCase.test_keyword_argument _____________________

self = <tests.test_compat.CompatTestCase testMethod=test_keyword_argument>

def test_keyword_argument(self):
code = 'def foo(**a): pass'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments(args=[], "
"posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], "
"kwarg=Name(id='a', ctx=Param(), annotation=None, "
"type_comment=None), defaults=[]), body=[Pass()], "
"decorator_list=[], returns=None, type_comment=None)], "
"type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[43 chars]ents(kwarg=Name(id='a', ctx=Param())), body=[Pass()])])" != "Modu[43 chars]ents(args=[], posonlyargs=[], vararg=None, kwo[192 chars]=[])"
E - Module(body=[FunctionDef(name='foo', args=arguments(kwarg=Name(id='a', ctx=Param())), body=[Pass()])])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=Name(id='a', ctx=Param(), annotation=None, type_comment=None), defaults=[]), body=[Pass()], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])

tests/test_compat.py:256: AssertionError
______________________ CompatTestCase.test_star_argument _______________________

self = <tests.test_compat.CompatTestCase testMethod=test_star_argument>

def test_star_argument(self):
code = 'def foo(*a): pass'
tree = gast.parse(code)
compile(gast.gast_to_ast(tree), '<test>', 'exec')
norm = ("Module(body=[FunctionDef(name='foo', args=arguments(args=[], "
"posonlyargs=[], vararg=Name(id='a', ctx=Param(), "
"annotation=None, type_comment=None), "
"kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), "
"body=[Pass()], decorator_list=[], returns=None, "
"type_comment=None)], type_ignores=[])")
self.assertEqual(gast.dump(tree), norm)
E AssertionError: "Modu[43 chars]ents(vararg=Name(id='a', ctx=Param())), body=[Pass()])])" != "Modu[43 chars]ents(args=[], posonlyargs=[], vararg=Name(id='[192 chars]=[])"
E - Module(body=[FunctionDef(name='foo', args=arguments(vararg=Name(id='a', ctx=Param())), body=[Pass()])])
E + Module(body=[FunctionDef(name='foo', args=arguments(args=[], posonlyargs=[], vararg=Name(id='a', ctx=Param(), annotation=None, type_comment=None), kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Pass()], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])

tests/test_compat.py:244: AssertionError
=============================== warnings summary ===============================
.pybuild/cpython3_3.13_python-gast/build/tests/test_api.py::APITestCase::test_literal_eval_code
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: Expression.__init__ missing 1 required positional argument: 'body'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_api.py: 2 warnings
.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py: 12 warnings
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 652 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: Constant.__init__ missing 1 required positional argument: 'value'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py: 11 warnings
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 93 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: FunctionDef.__init__ missing 1 required positional argument: 'args'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py: 11 warnings
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 93 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: FunctionDef.__init__ missing 1 required positional argument: 'name'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py: 9 warnings
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 54 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: Expr.__init__ missing 1 required positional argument: 'value'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py: 2 warnings
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 465 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: Call.__init__ missing 1 required positional argument: 'func'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_Call
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: Starred.__init__ missing 1 required positional argument: 'value'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py: 2 warnings
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 16 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: keyword.__init__ missing 1 required positional argument: 'value'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py: 5 warnings
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 21 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: Subscript.__init__ missing 1 required positional argument: 'value'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py: 5 warnings
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 21 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: Subscript.__init__ missing 1 required positional argument: 'slice'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_FormattedValue
.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_JoinedStr
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: FormattedValue.__init__ missing 1 required positional argument: 'value'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_FormattedValue
.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_JoinedStr
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: FormattedValue.__init__ missing 1 required positional argument: 'conversion'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_NamedExpr
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: NamedExpr.__init__ missing 1 required positional argument: 'value'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_NamedExpr
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: NamedExpr.__init__ missing 1 required positional argument: 'target'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_TypeIgnore
.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_TypeIgnore
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: TypeIgnore.__init__ missing 1 required positional argument: 'tag'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_TypeIgnore
.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_TypeIgnore
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: TypeIgnore.__init__ missing 1 required positional argument: 'lineno'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_compat.py::CompatTestCase::test_With
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: withitem.__init__ missing 1 required positional argument: 'context_expr'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 37 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: alias.__init__ missing 1 required positional argument: 'name'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: ClassDef.__init__ missing 1 required positional argument: 'name'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 819 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: Attribute.__init__ missing 1 required positional argument: 'value'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 819 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: Attribute.__init__ missing 1 required positional argument: 'attr'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 70 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: If.__init__ missing 1 required positional argument: 'test'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: ListComp.__init__ missing 1 required positional argument: 'elt'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: comprehension.__init__ missing 1 required positional argument: 'is_async'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: comprehension.__init__ missing 1 required positional argument: 'target'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: comprehension.__init__ missing 1 required positional argument: 'iter'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: For.__init__ missing 1 required positional argument: 'iter'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: For.__init__ missing 1 required positional argument: 'target'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 37 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: Compare.__init__ missing 1 required positional argument: 'left'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: BinOp.__init__ missing 1 required positional argument: 'right'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: BinOp.__init__ missing 1 required positional argument: 'left'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: BinOp.__init__ missing 1 required positional argument: 'op'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 11 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: BoolOp.__init__ missing 1 required positional argument: 'op'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 17 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: UnaryOp.__init__ missing 1 required positional argument: 'operand'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py: 17 warnings
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: UnaryOp.__init__ missing 1 required positional argument: 'op'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

.pybuild/cpython3_3.13_python-gast/build/tests/test_self.py::SelfTestCase::testCompile
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build/gast/astn.py:20: DeprecationWarning: GeneratorExp.__init__ missing 1 required positional argument: 'elt'. This will become an error in Python 3.15.
new_node = getattr(to, cls)()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_api.py::APITestCase::test_dump - AssertionError: "Expr[59 c...
FAILED tests/test_api.py::APITestCase::test_walk - AssertionError: "Expr[41 c...
FAILED tests/test_compat.py::CompatTestCase::test_ArgAnnotation - AssertionEr...
FAILED tests/test_compat.py::CompatTestCase::test_Call - AssertionError: "Mod...
FAILED tests/test_compat.py::CompatTestCase::test_Ellipsis - AssertionError: ...
FAILED tests/test_compat.py::CompatTestCase::test_ExtSlice - AssertionError: ...
FAILED tests/test_compat.py::CompatTestCase::test_ExtSliceEllipsis - Assertio...
FAILED tests/test_compat.py::CompatTestCase::test_ExtSlices - AssertionError:...
FAILED tests/test_compat.py::CompatTestCase::test_FormattedValue - AssertionE...
FAILED tests/test_compat.py::CompatTestCase::test_Index - AssertionError: "Mo...
FAILED tests/test_compat.py::CompatTestCase::test_JoinedStr - AssertionError:...
FAILED tests/test_compat.py::CompatTestCase::test_KeywordOnlyArgument - Asser...
FAILED tests/test_compat.py::CompatTestCase::test_NamedExpr - AssertionError:...
FAILED tests/test_compat.py::CompatTestCase::test_PosonlyArgs - AssertionErro...
FAILED tests/test_compat.py::CompatTestCase::test_Raise - AssertionError: "Mo...
FAILED tests/test_compat.py::CompatTestCase::test_TryExcept - AssertionError:...
FAILED tests/test_compat.py::CompatTestCase::test_TryExceptNamed - AssertionE...
FAILED tests/test_compat.py::CompatTestCase::test_TryFinally - AssertionError...
FAILED tests/test_compat.py::CompatTestCase::test_TypeIgnore - AssertionError...
FAILED tests/test_compat.py::CompatTestCase::test_With - AssertionError: "Mod...
FAILED tests/test_compat.py::CompatTestCase::test_keyword_argument - Assertio...
FAILED tests/test_compat.py::CompatTestCase::test_star_argument - AssertionEr...
================= 22 failed, 14 passed, 3401 warnings in 0.28s =================
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_python-gast/build; python3.13 -m pytest tests
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-gast/build; python3.12 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>
plugins: typeguard-4.3.0
collected 36 items

tests/test_api.py .............. [ 38%]
tests/test_compat.py .................... [ 94%]
tests/test_self.py .. [100%]

============================== 36 passed in 0.16s ==============================
dh_auto_test: error: pybuild --test -i python{version} -p "3.13 3.12" returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-19T01:57:39Z

If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/783684/

This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.

Thanks,

Stefano
Andrey Rakhmatullin
2024-11-06 17:50:01 UTC
Reply
Permalink
Control: tags -1 - patch
forwarded 1082217 https://github.com/serge-sans-paille/gast/issues/85
tags 1082217 + upstream fixed-upstream patch
The patch unfortunately doesn't apply directly, because the upstream
version in Debian is 3 years old.
--
WBR, wRAR
Loading...