Package: src:python-astor
Version: 0.8.1-4
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-astor, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem pybuild
   dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:317: python3.14 setup.py clean 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: BSD License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************


[... snipped ...]

astor/code_gen.py:178: in write
    visit(item)
astor/node_util.py:143: in visit
    return visitor(node)
           ^^^^^^^^^^^^^
astor/code_gen.py:293: in visit_Assign
    self.visit(node.value)
astor/node_util.py:143: in visit
    return visitor(node)
           ^^^^^^^^^^^^^
astor/code_gen.py:565: in visit_JoinedStr
    self._handle_string_constant(node, None, is_joined=True)
astor/code_gen.py:622: in _handle_string_constant
    recurse(node)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

node = JoinedStr(values=[FormattedValue(value=Name(id='host', ctx=Load(...)), 
conversion=-1, format_spec=None), ..., Constant(value='\n', kind=None)])

    def recurse(node):
        for value in node.values:
>           if isinstance(value, ast.Str):
                                 ^^^^^^^
E           AttributeError: module 'ast' has no attribute 'Str'

astor/code_gen.py:599: AttributeError
________________________ CodegenTestCase.test_fstrings _________________________

self = <tests.test_code_gen.CodegenTestCase testMethod=test_fstrings>

    def test_fstrings(self):
        source = """
        x = f'{x}'
        x = f'{x.y}'
        x = f'{int(x)}'
        x = f'a{b:c}d'
        x = f'a{b!s:c{d}e}f'
        x = f'{x + y}'
        x = f'""'
        x = f'"\\''
        """
>       self.assertSrcRoundtripsGtVer(source, (3, 6))

tests/test_code_gen.py:465: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_code_gen.py:84: in assertSrcRoundtripsGtVer
    self.assertSrcRoundtrips(source)
tests/test_code_gen.py:72: in assertSrcRoundtrips
    self.assertEqual(self.to_source(ast.parse(srctxt)).rstrip(), srctxt)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
astor/code_gen.py:63: in to_source
    generator.visit(node)
astor/node_util.py:143: in visit
    return visitor(node)
           ^^^^^^^^^^^^^
astor/code_gen.py:878: in visit_Module
    self.write(*node.body)
astor/code_gen.py:178: in write
    visit(item)
astor/node_util.py:143: in visit
    return visitor(node)
           ^^^^^^^^^^^^^
astor/code_gen.py:293: in visit_Assign
    self.visit(node.value)
astor/node_util.py:143: in visit
    return visitor(node)
           ^^^^^^^^^^^^^
astor/code_gen.py:565: in visit_JoinedStr
    self._handle_string_constant(node, None, is_joined=True)
astor/code_gen.py:622: in _handle_string_constant
    recurse(node)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

node = JoinedStr(values=[FormattedValue(value=Name(id='x', ctx=Load(...)), 
conversion=-1, format_spec=None)])

    def recurse(node):
        for value in node.values:
>           if isinstance(value, ast.Str):
                                 ^^^^^^^
E           AttributeError: module 'ast' has no attribute 'Str'

astor/code_gen.py:599: AttributeError
________________________ CodegenTestCase.test_huge_int _________________________

self = <tests.test_code_gen.CodegenTestCase testMethod=test_huge_int>

    def test_huge_int(self):
        for n in (10**1000,
                  
0xdfa21cd2a530ccc8c870aa60d9feb3b35deeab81c3215a96557abbd683d21f4600f38e475d87100da9a4404220eeb3bb5584e5a2b5b48ffda58530ea19104a32577d7459d91e76aa711b241050f4cc6d5327ccee254f371bcad3be56d46eb5919b73f20dbdb1177b700f00891c5bf4ed128bb90ed541b778288285bcfa28432ab5cbcb8321b6e24760e998e0daa519f093a631e44276d7dd252ce0c08c75e2ab28a7349ead779f97d0f20a6d413bf3623cd216dc35375f6366690bcc41e3b2d5465840ec7ee0dc7e3f1c101d674a0c7dbccbc3942788b111396add2f8153b46a0e4b50d66e57ee92958f1c860dd97cc0e40e32febff915343ed53573142bdf4b):
>           self.assertEqual(astornum(n), n)
                             ^^^^^^^^^^^

tests/test_code_gen.py:290: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

x = 100000000000000000...0000000000000000000

    def astornum(x):
>       return astorexpr(ast.Num(n=x))
                         ^^^^^^^
E       AttributeError: module 'ast' has no attribute 'Num'

tests/test_code_gen.py:31: AttributeError
___________________________ CodegenTestCase.test_inf ___________________________

self = <tests.test_code_gen.CodegenTestCase testMethod=test_inf>

    def test_inf(self):
        source = """
            (1e1000) + (-1e1000) + (1e1000j) + (-1e1000j)
        """
        self.assertAstRoundtrips(source)
        # We special case infinities in code_gen. So we will
        # return the same AST construction but it won't
        # roundtrip to 'source'. See the SourceGenerator.visit_Num
        # method for details. (#82)
        source = 'a = 1e400'
        self.assertAstRoundtrips(source)
        # Returns 'a = 1e1000'.
        self.assertSrcDoesNotRoundtrip(source)
    
>       self.assertIsInstance(astornum((1e1000+1e1000)+0j), complex)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/test_code_gen.py:314: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

x = (inf+0j)

    def astornum(x):
>       return astorexpr(ast.Num(n=x))
                         ^^^^^^^
E       AttributeError: module 'ast' has no attribute 'Num'

tests/test_code_gen.py:31: AttributeError
___________________________ CodegenTestCase.test_nan ___________________________

self = <tests.test_code_gen.CodegenTestCase testMethod=test_nan>

    def test_nan(self):
>       self.assertTrue(math.isnan(astornum(float('nan'))))
                                   ^^^^^^^^^^^^^^^^^^^^^^

tests/test_code_gen.py:317: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

x = nan

    def astornum(x):
>       return astorexpr(ast.Num(n=x))
                         ^^^^^^^
E       AttributeError: module 'ast' has no attribute 'Num'

tests/test_code_gen.py:31: AttributeError
=========================== short test summary info ============================
FAILED tests/test_code_gen.py::CodegenTestCase::test_complex - AttributeError...
FAILED tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
FAILED tests/test_code_gen.py::CodegenTestCase::test_deprecated_name_constants
FAILED tests/test_code_gen.py::CodegenTestCase::test_fstring_debugging - Attr...
FAILED tests/test_code_gen.py::CodegenTestCase::test_fstring_escaped_braces
FAILED tests/test_code_gen.py::CodegenTestCase::test_fstring_trailing_newline
FAILED tests/test_code_gen.py::CodegenTestCase::test_fstrings - AttributeErro...
FAILED tests/test_code_gen.py::CodegenTestCase::test_huge_int - AttributeErro...
FAILED tests/test_code_gen.py::CodegenTestCase::test_inf - AttributeError: mo...
FAILED tests/test_code_gen.py::CodegenTestCase::test_nan - AttributeError: mo...
============ 10 failed, 42 passed, 2 skipped, 1 deselected in 0.29s ============
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_astor/build; python3.14 -m pytest -k 
'not test_convert_stdlib'
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build; 
python3.13 -m pytest -k 'not test_convert_stdlib'
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>
plugins: typeguard-4.4.4
collected 55 items / 1 deselected / 54 selected

tests/test_code_gen.py .............s................................    [ 85%]
tests/test_misc.py .......s                                              [100%]

=============================== warnings summary ===============================
astor/op_util.py:92
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/astor/op_util.py:92: 
DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; 
use ast.Constant instead
    precedence_data = dict((getattr(ast, x, None), z) for x, y, z in op_data)

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_complex
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_huge_int
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_huge_int
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_inf
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:31: 
DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; 
use ast.Constant instead
    return astorexpr(ast.Num(n=x))

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_complex
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_huge_int
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_huge_int
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_inf
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
  /usr/lib/python3.13/ast.py:602: DeprecationWarning: Constant.__init__ got an 
unexpected keyword argument 'n'. Support for arbitrary keyword arguments is 
deprecated and will be removed in Python 3.15.
    return Constant(*args, **kwargs)

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_complex
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_huge_int
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_huge_int
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_inf
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
  /usr/lib/python3.13/ast.py:602: DeprecationWarning: Attribute n is deprecated 
and will be removed in Python 3.14; use value instead
    return Constant(*args, **kwargs)

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_complex
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_huge_int
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_huge_int
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_inf
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_nan
  /usr/lib/python3.13/ast.py:602: DeprecationWarning: Constant.__init__ missing 
1 required positional argument: 'value'. This will become an error in Python 
3.15.
    return Constant(*args, **kwargs)

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:529: 
DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; 
use ast.Constant instead
    ast.Assign(targets=[ast.Name(id='spam')], value=ast.Num(3)),

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:533: 
DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; 
use ast.Constant instead
    ast.Assign(targets=[ast.Name(id='spam')], value=ast.Num(-93)),

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:537: 
DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; 
use ast.Constant instead
    ast.Assign(targets=[ast.Name(id='spam')], value=ast.Num(837.3888)),

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:541: 
DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; 
use ast.Constant instead
    ast.Assign(targets=[ast.Name(id='spam')], value=ast.Num(-0.9877)),

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:544: 
DeprecationWarning: ast.Ellipsis is deprecated and will be removed in Python 
3.14; use ast.Constant instead
    self.assertAstEqualsSource(ast.Ellipsis(), "...")

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:548: 
DeprecationWarning: ast.Bytes is deprecated and will be removed in Python 3.14; 
use ast.Constant instead
    ast.Assign(targets=[ast.Name(id='spam')], value=ast.Bytes(b"Bytes")),

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:552: 
DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; 
use ast.Constant instead
    ast.Assign(targets=[ast.Name(id='spam')], value=ast.Str("String")),

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_name_constants
.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_name_constants
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:516: 
DeprecationWarning: ast.NameConstant is deprecated and will be removed in 
Python 3.14; use ast.Constant instead
    ast.Assign(targets=[ast.Name(id='spam')], 
value=ast.NameConstant(value=True)),

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_name_constants
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:520: 
DeprecationWarning: ast.NameConstant is deprecated and will be removed in 
Python 3.14; use ast.Constant instead
    ast.Assign(targets=[ast.Name(id='spam')], 
value=ast.NameConstant(value=False)),

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py::CodegenTestCase::test_deprecated_name_constants
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py:524: 
DeprecationWarning: ast.NameConstant is deprecated and will be removed in 
Python 3.14; use ast.Constant instead
    ast.Assign(targets=[ast.Name(id='spam')], 
value=ast.NameConstant(value=None)),

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py: 68 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/astor/code_gen.py:599: 
DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; 
use ast.Constant instead
    if isinstance(value, ast.Str):

.pybuild/cpython3_3.13_astor/build/tests/test_code_gen.py: 39 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_astor/build/astor/code_gen.py:601: 
DeprecationWarning: Attribute s is deprecated and will be removed in Python 
3.14; use value instead
    self.write(value.s.replace('{', '{{').replace('}', '}}'))

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========== 52 passed, 2 skipped, 1 deselected, 150 warnings in 0.07s ===========
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to