Source: python-cattrs
Version: 23.2.3-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-20240615 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> debian/rules build
> dh build --with python3 --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build"
> module
> I: pybuild base:311: python3.12 -m build --skip-dependency-check
> --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cattr
>
> * Building wheel...
> Successfully built cattrs-23.2.3-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with
> "installer" module
> I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build"
> module
> I: pybuild base:311: python3.11 -m build --skip-dependency-check
> --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cattr
>
> * Building wheel...
> Successfully built cattrs-23.2.3-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with
> "installer" module
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cattr/build;
> python3.12 -m pytest -v --ignore tests/test_unstructure_collections.py
> --ignore tests/test_preconf.py -k 'not test_orjson'
> ============================= test session starts
> ==============================
> platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0 --
> /usr/bin/python3.12
> cachedir: .pytest_cache
> hypothesis profile 'tests' -> deadline=None,
> suppress_health_check=[HealthCheck.too_slow],
> database=DirectoryBasedExampleDatabase(PosixPath('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cattr/build/.hypothesis/examples'))
> benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False
> min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10
> warmup=True warmup_iterations=5)
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cattr/build
> configfile: pyproject.toml
> plugins: hypothesis-6.103.1, benchmark-4.0.0
> collecting ... collected 573 items / 1 error
>
> ==================================== ERRORS
> ====================================
> __________________ ERROR collecting tests/test_typeddicts.py
> ___________________
> tests/test_typeddicts.py:333: in <module>
> class TypedDictA(ExtensionsTypedDict):
> E TypeError: NoneType takes no arguments
> BaseConverter = <class 'cattrs.converters.BaseConverter'>
> ClassValidationError = <class 'cattrs.errors.ClassValidationError'>
> Converter = <class 'cattrs.converters.Converter'>
> Dict = typing.Dict
> ExtensionsTypedDict = None
> ForbiddenExtraKeysError = <class
> 'cattrs.errors.ForbiddenExtraKeysError'>
> Set = typing.Set
> Tuple = typing.Tuple
> __builtins__ = <builtins>
> __cached__ =
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cattr/build/tests/__pycache__/test_typeddicts.cpython-312.pyc'
> __doc__ = 'Tests for TypedDict un/structuring.'
> __file__ =
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cattr/build/tests/test_typeddicts.py'
> __loader__ = <_pytest.assertion.rewrite.AssertionRewritingHook object
> at 0x7f6bdfb55dc0>
> __name__ = 'tests.test_typeddicts'
> __package__ = 'tests'
> __spec__ = ModuleSpec(name='tests.test_typeddicts',
> loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at
> 0x7f6bdfb5...
> origin='/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cattr/build/tests/test_typeddicts.py')
> already_generating = <_thread._local object at 0x7f6bdee20b80>
> assume = <function assume at 0x7f6bdefa3ba0>
> booleans = <function booleans at 0x7f6bdef268e0>
> datetime = <class 'datetime.datetime'>
> generate_mapping = <function generate_mapping at 0x7f6bdedf8e00>
> generic_typeddicts = <function accept.<locals>.generic_typeddicts at
> 0x7f6bde829620>
> get_annot = <function get_annot at 0x7f6bde72a3e0>
> get_annots = <function get_annots at 0x7f6bdedf9da0>
> given = <function given at 0x7f6bdedbfa60>
> is_generic = <function is_generic at 0x7f6bdedd63e0>
> is_py311_plus = True
> is_py38 = False
> make_dict_structure_fn = <function make_dict_structure_fn at
> 0x7f6bdedd7420>
> make_dict_unstructure_fn = <function make_dict_unstructure_fn at
> 0x7f6bdedd7560>
> mk_converter = <function mk_converter at 0x7f6bde72a8e0>
> override = <function override at 0x7f6bdedf89a0>
> pytest = <module 'pytest' from
> '/usr/lib/python3/dist-packages/pytest/__init__.py'>
> raises = <function raises at 0x7f6bdfe07380>
> simple_typeddicts = <function accept.<locals>.simple_typeddicts at
> 0x7f6bde828ea0>
> simple_typeddicts_with_extra_keys = <function
> accept.<locals>.simple_typeddicts_with_extra_keys at 0x7f6bde829260>
> test_extra_keys = <function accept.<locals>.test_extra_keys at
> 0x7f6bde82a0c0>
> test_forbid_extra_keys = <function
> accept.<locals>.test_forbid_extra_keys at 0x7f6bde82b380>
> test_generics = <function accept.<locals>.test_generics at
> 0x7f6bde82a3e0>
> test_int_override = <function accept.<locals>.test_int_override at
> 0x7f6bde829da0>
> test_not_required = <function accept.<locals>.test_not_required at
> 0x7f6bde82a700>
> test_omit = <function accept.<locals>.test_omit at 0x7f6bde82ad40>
> test_rename = <function accept.<locals>.test_rename at 0x7f6bde82b060>
> test_required = <function accept.<locals>.test_required at
> 0x7f6bde82aa20>
> test_simple_nontotal = <function accept.<locals>.test_simple_nontotal
> at 0x7f6bde829a80>
> test_simple_roundtrip = <function
> accept.<locals>.test_simple_roundtrip at 0x7f6bde829800>
> =============================== warnings summary
> ===============================
> tests/typed.py:417
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cattr/build/tests/typed.py:417:
> HypothesisWarning: Return-type annotation is
> `st.SearchStrategy[typing.Tuple[attr._make._CountingAttr,
> st.SearchStrategy]]`, but the decorated function should return a value (not a
> strategy)
> @composite
>
> tests/typed.py:826
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cattr/build/tests/typed.py:826:
> HypothesisWarning: Return-type annotation is
> `st.SearchStrategy[typing.Tuple[typing.Type,
> st.SearchStrategy[typing.Tuple[typing.Any]],
> st.SearchStrategy[typing.Dict[str, typing.Any]]]]`, but the decorated
> function should return a value (not a strategy)
> @composite
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> ERROR tests/test_typeddicts.py - TypeError: NoneType takes no arguments
> !!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection
> !!!!!!!!!!!!!!!!!!!!
> ========================= 2 warnings, 1 error in 0.90s
> =========================
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=2: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cattr/build; python3.12 -m pytest -v
> --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py
> -k 'not test_orjson'
> I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cattr/build;
> python3.11 -m pytest -v --ignore tests/test_unstructure_collections.py
> --ignore tests/test_preconf.py -k 'not test_orjson'
> ============================= test session starts
> ==============================
> platform linux -- Python 3.11.9, pytest-8.2.2, pluggy-1.5.0 --
> /usr/bin/python3.11
> cachedir: .pytest_cache
> hypothesis profile 'tests' -> deadline=None,
> suppress_health_check=[HealthCheck.too_slow],
> database=DirectoryBasedExampleDatabase(PosixPath('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cattr/build/.hypothesis/examples'))
> benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False
> min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10
> warmup=True warmup_iterations=5)
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cattr/build
> configfile: pyproject.toml
> plugins: hypothesis-6.103.1, benchmark-4.0.0
> collecting ... collected 573 items / 1 error
>
> ==================================== ERRORS
> ====================================
> __________________ ERROR collecting tests/test_typeddicts.py
> ___________________
> tests/test_typeddicts.py:333: in <module>
> class TypedDictA(ExtensionsTypedDict):
> E TypeError: NoneType takes no arguments
> BaseConverter = <class 'cattrs.converters.BaseConverter'>
> ClassValidationError = <class 'cattrs.errors.ClassValidationError'>
> Converter = <class 'cattrs.converters.Converter'>
> Dict = typing.Dict
> ExtensionsTypedDict = None
> ForbiddenExtraKeysError = <class
> 'cattrs.errors.ForbiddenExtraKeysError'>
> Set = typing.Set
> Tuple = typing.Tuple
> __builtins__ = <builtins>
> __cached__ =
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cattr/build/tests/__pycache__/test_typeddicts.cpython-311.pyc'
> __doc__ = 'Tests for TypedDict un/structuring.'
> __file__ =
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cattr/build/tests/test_typeddicts.py'
> __loader__ = <_pytest.assertion.rewrite.AssertionRewritingHook object
> at 0x7f0baf7da2d0>
> __name__ = 'tests.test_typeddicts'
> __package__ = 'tests'
> __spec__ = ModuleSpec(name='tests.test_typeddicts',
> loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at
> 0x7f0baf7d...
> origin='/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cattr/build/tests/test_typeddicts.py')
> already_generating = <_thread._local object at 0x7f0bae771c60>
> assume = <function assume at 0x7f0baebf2fc0>
> booleans = <function booleans at 0x7f0bae882980>
> datetime = <class 'datetime.datetime'>
> generate_mapping = <function generate_mapping at 0x7f0bae791080>
> generic_typeddicts = <function accept.<locals>.generic_typeddicts at
> 0x7f0bae2aa340>
> get_annot = <function get_annot at 0x7f0bae251ee0>
> get_annots = <function get_annots at 0x7f0bae791ee0>
> given = <function given at 0x7f0bae90f560>
> is_generic = <function is_generic at 0x7f0bae73e020>
> is_py311_plus = True
> is_py38 = False
> make_dict_structure_fn = <function make_dict_structure_fn at
> 0x7f0bae792020>
> make_dict_unstructure_fn = <function make_dict_unstructure_fn at
> 0x7f0bae791f80>
> mk_converter = <function mk_converter at 0x7f0bae253f60>
> override = <function override at 0x7f0bae7907c0>
> pytest = <module 'pytest' from
> '/usr/lib/python3/dist-packages/pytest/__init__.py'>
> raises = <function raises at 0x7f0baf896160>
> simple_typeddicts = <function accept.<locals>.simple_typeddicts at
> 0x7f0bae2a9bc0>
> simple_typeddicts_with_extra_keys = <function
> accept.<locals>.simple_typeddicts_with_extra_keys at 0x7f0bae2a9f80>
> test_extra_keys = <function accept.<locals>.test_extra_keys at
> 0x7f0bae2aade0>
> test_forbid_extra_keys = <function
> accept.<locals>.test_forbid_extra_keys at 0x7f0bae3c80e0>
> test_generics = <function accept.<locals>.test_generics at
> 0x7f0bae2ab100>
> test_int_override = <function accept.<locals>.test_int_override at
> 0x7f0bae2aaac0>
> test_not_required = <function accept.<locals>.test_not_required at
> 0x7f0bae2ab420>
> test_omit = <function accept.<locals>.test_omit at 0x7f0bae2aba60>
> test_rename = <function accept.<locals>.test_rename at 0x7f0bae2abd80>
> test_required = <function accept.<locals>.test_required at
> 0x7f0bae2ab740>
> test_simple_nontotal = <function accept.<locals>.test_simple_nontotal
> at 0x7f0bae2aa980>
> test_simple_roundtrip = <function
> accept.<locals>.test_simple_roundtrip at 0x7f0bae2aa700>
> =============================== warnings summary
> ===============================
> ../../../../../../usr/lib/python3/dist-packages/hypothesis/strategies/_internal/utils.py:84
> /usr/lib/python3/dist-packages/hypothesis/strategies/_internal/utils.py:84:
> HypothesisWarning: Return-type annotation is
> `st.SearchStrategy[typing.Tuple[attr._make._CountingAttr,
> st.SearchStrategy]]`, but the decorated function should return a value (not a
> strategy)
> result = fn(*args, **kwargs)
>
> ../../../../../../usr/lib/python3/dist-packages/hypothesis/strategies/_internal/utils.py:84
> /usr/lib/python3/dist-packages/hypothesis/strategies/_internal/utils.py:84:
> HypothesisWarning: Return-type annotation is
> `st.SearchStrategy[typing.Tuple[typing.Type,
> st.SearchStrategy[typing.Tuple[typing.Any]],
> st.SearchStrategy[typing.Dict[str, typing.Any]]]]`, but the decorated
> function should return a value (not a strategy)
> result = fn(*args, **kwargs)
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> ERROR tests/test_typeddicts.py - TypeError: NoneType takes no arguments
> !!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection
> !!!!!!!!!!!!!!!!!!!!
> ========================= 2 warnings, 1 error in 1.06s
> =========================
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=2: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cattr/build; python3.11 -m pytest -v
> --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py
> -k 'not test_orjson'
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12
> 3.11" returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2024/06/15/python-cattrs_23.2.3-1_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240615;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240615&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.