Bug#1027590: ufolib2: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.11 3.10" returned exit code 13
Source: ufolib2
Version: 0.13.1+dfsg1-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas@debian.org
Usertags: ftbfs-20230101 ftbfs-bookworm
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:107: Building wheel for python3.11 with "build" module
> I: pybuild base:240: python3.11 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ufoLib2
> * Building wheel...
> /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
> warnings.warn(msg, warning_class)
> running bdist_wheel
> running build
> running build_py
> creating build
> creating build/lib
> creating build/lib/ufoLib2
> copying src/ufoLib2/__init__.py -> build/lib/ufoLib2
> copying src/ufoLib2/converters.py -> build/lib/ufoLib2
> copying src/ufoLib2/errors.py -> build/lib/ufoLib2
> copying src/ufoLib2/typing.py -> build/lib/ufoLib2
> copying src/ufoLib2/constants.py -> build/lib/ufoLib2
> copying src/ufoLib2/_version.py -> build/lib/ufoLib2
> creating build/lib/ufoLib2/pointPens
> copying src/ufoLib2/pointPens/__init__.py -> build/lib/ufoLib2/pointPens
> copying src/ufoLib2/pointPens/glyphPointPen.py -> build/lib/ufoLib2/pointPens
> creating build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/__init__.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/point.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/dataSet.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/layerSet.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/glyph.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/kerning.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/lib.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/imageSet.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/anchor.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/contour.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/font.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/image.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/misc.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/guideline.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/layer.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/features.py -> build/lib/ufoLib2/objects
> copying src/ufoLib2/objects/component.py -> build/lib/ufoLib2/objects
> creating build/lib/ufoLib2/objects/info
> copying src/ufoLib2/objects/info/__init__.py -> build/lib/ufoLib2/objects/info
> copying src/ufoLib2/objects/info/woff.py -> build/lib/ufoLib2/objects/info
> copying src/ufoLib2/py.typed -> build/lib/ufoLib2
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64
> creating build/bdist.linux-x86_64/wheel
> creating build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/__init__.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/converters.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/errors.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/py.typed -> build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/typing.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> creating build/bdist.linux-x86_64/wheel/ufoLib2/pointPens
> copying build/lib/ufoLib2/pointPens/__init__.py -> build/bdist.linux-x86_64/wheel/ufoLib2/pointPens
> copying build/lib/ufoLib2/pointPens/glyphPointPen.py -> build/bdist.linux-x86_64/wheel/ufoLib2/pointPens
> creating build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/__init__.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/point.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/dataSet.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/layerSet.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/glyph.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/kerning.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/lib.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/imageSet.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/anchor.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/contour.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> creating build/bdist.linux-x86_64/wheel/ufoLib2/objects/info
> copying build/lib/ufoLib2/objects/info/__init__.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects/info
> copying build/lib/ufoLib2/objects/info/woff.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects/info
> copying build/lib/ufoLib2/objects/font.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/image.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/misc.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/guideline.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/layer.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/features.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/component.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/constants.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/_version.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> running install_egg_info
> running egg_info
> creating src/ufoLib2.egg-info
> writing src/ufoLib2.egg-info/PKG-INFO
> writing dependency_links to src/ufoLib2.egg-info/dependency_links.txt
> writing requirements to src/ufoLib2.egg-info/requires.txt
> writing top-level names to src/ufoLib2.egg-info/top_level.txt
> writing manifest file 'src/ufoLib2.egg-info/SOURCES.txt'
> reading manifest file 'src/ufoLib2.egg-info/SOURCES.txt'
> adding license file 'LICENSE'
> writing manifest file 'src/ufoLib2.egg-info/SOURCES.txt'
> Copying src/ufoLib2.egg-info to build/bdist.linux-x86_64/wheel/ufoLib2-0.13.1.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/ufoLib2-0.13.1.dist-info/WHEEL
> creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ufoLib2/.tmp-t4lilnk7/ufoLib2-0.13.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'ufoLib2/__init__.py'
> adding 'ufoLib2/_version.py'
> adding 'ufoLib2/constants.py'
> adding 'ufoLib2/converters.py'
> adding 'ufoLib2/errors.py'
> adding 'ufoLib2/py.typed'
> adding 'ufoLib2/typing.py'
> adding 'ufoLib2/objects/__init__.py'
> adding 'ufoLib2/objects/anchor.py'
> adding 'ufoLib2/objects/component.py'
> adding 'ufoLib2/objects/contour.py'
> adding 'ufoLib2/objects/dataSet.py'
> adding 'ufoLib2/objects/features.py'
> adding 'ufoLib2/objects/font.py'
> adding 'ufoLib2/objects/glyph.py'
> adding 'ufoLib2/objects/guideline.py'
> adding 'ufoLib2/objects/image.py'
> adding 'ufoLib2/objects/imageSet.py'
> adding 'ufoLib2/objects/kerning.py'
> adding 'ufoLib2/objects/layer.py'
> adding 'ufoLib2/objects/layerSet.py'
> adding 'ufoLib2/objects/lib.py'
> adding 'ufoLib2/objects/misc.py'
> adding 'ufoLib2/objects/point.py'
> adding 'ufoLib2/objects/info/__init__.py'
> adding 'ufoLib2/objects/info/woff.py'
> adding 'ufoLib2/pointPens/__init__.py'
> adding 'ufoLib2/pointPens/glyphPointPen.py'
> adding 'ufoLib2-0.13.1.dist-info/LICENSE'
> adding 'ufoLib2-0.13.1.dist-info/METADATA'
> adding 'ufoLib2-0.13.1.dist-info/WHEEL'
> adding 'ufoLib2-0.13.1.dist-info/top_level.txt'
> adding 'ufoLib2-0.13.1.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built ufoLib2-0.13.1-py3-none-any.whl
> I: pybuild plugin_pyproject:119: Unpacking wheel built for python3.11 with "installer" module
> I: pybuild plugin_pyproject:107: Building wheel for python3.10 with "build" module
> I: pybuild base:240: python3.10 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_ufoLib2
> * Building wheel...
> /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
> warnings.warn(msg, warning_class)
> running bdist_wheel
> running build
> running build_py
> copying src/ufoLib2/_version.py -> build/lib/ufoLib2
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64/wheel
> creating build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/__init__.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/converters.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/errors.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/py.typed -> build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/typing.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> creating build/bdist.linux-x86_64/wheel/ufoLib2/pointPens
> copying build/lib/ufoLib2/pointPens/__init__.py -> build/bdist.linux-x86_64/wheel/ufoLib2/pointPens
> copying build/lib/ufoLib2/pointPens/glyphPointPen.py -> build/bdist.linux-x86_64/wheel/ufoLib2/pointPens
> creating build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/__init__.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/point.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/dataSet.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/layerSet.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/glyph.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/kerning.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/lib.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/imageSet.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/anchor.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/contour.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> creating build/bdist.linux-x86_64/wheel/ufoLib2/objects/info
> copying build/lib/ufoLib2/objects/info/__init__.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects/info
> copying build/lib/ufoLib2/objects/info/woff.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects/info
> copying build/lib/ufoLib2/objects/font.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/image.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/misc.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/guideline.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/layer.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/features.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/objects/component.py -> build/bdist.linux-x86_64/wheel/ufoLib2/objects
> copying build/lib/ufoLib2/constants.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> copying build/lib/ufoLib2/_version.py -> build/bdist.linux-x86_64/wheel/ufoLib2
> running install_egg_info
> running egg_info
> writing src/ufoLib2.egg-info/PKG-INFO
> writing dependency_links to src/ufoLib2.egg-info/dependency_links.txt
> writing requirements to src/ufoLib2.egg-info/requires.txt
> writing top-level names to src/ufoLib2.egg-info/top_level.txt
> reading manifest file 'src/ufoLib2.egg-info/SOURCES.txt'
> adding license file 'LICENSE'
> writing manifest file 'src/ufoLib2.egg-info/SOURCES.txt'
> Copying src/ufoLib2.egg-info to build/bdist.linux-x86_64/wheel/ufoLib2-0.13.1.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/ufoLib2-0.13.1.dist-info/WHEEL
> creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_ufoLib2/.tmp-g0vvzh8c/ufoLib2-0.13.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'ufoLib2/__init__.py'
> adding 'ufoLib2/_version.py'
> adding 'ufoLib2/constants.py'
> adding 'ufoLib2/converters.py'
> adding 'ufoLib2/errors.py'
> adding 'ufoLib2/py.typed'
> adding 'ufoLib2/typing.py'
> adding 'ufoLib2/objects/__init__.py'
> adding 'ufoLib2/objects/anchor.py'
> adding 'ufoLib2/objects/component.py'
> adding 'ufoLib2/objects/contour.py'
> adding 'ufoLib2/objects/dataSet.py'
> adding 'ufoLib2/objects/features.py'
> adding 'ufoLib2/objects/font.py'
> adding 'ufoLib2/objects/glyph.py'
> adding 'ufoLib2/objects/guideline.py'
> adding 'ufoLib2/objects/image.py'
> adding 'ufoLib2/objects/imageSet.py'
> adding 'ufoLib2/objects/kerning.py'
> adding 'ufoLib2/objects/layer.py'
> adding 'ufoLib2/objects/layerSet.py'
> adding 'ufoLib2/objects/lib.py'
> adding 'ufoLib2/objects/misc.py'
> adding 'ufoLib2/objects/point.py'
> adding 'ufoLib2/objects/info/__init__.py'
> adding 'ufoLib2/objects/info/woff.py'
> adding 'ufoLib2/pointPens/__init__.py'
> adding 'ufoLib2/pointPens/glyphPointPen.py'
> adding 'ufoLib2-0.13.1.dist-info/LICENSE'
> adding 'ufoLib2-0.13.1.dist-info/METADATA'
> adding 'ufoLib2-0.13.1.dist-info/WHEEL'
> adding 'ufoLib2-0.13.1.dist-info/top_level.txt'
> adding 'ufoLib2-0.13.1.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built ufoLib2-0.13.1-py3-none-any.whl
> I: pybuild plugin_pyproject:119: Unpacking wheel built for python3.10 with "installer" module
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ufoLib2/build; python3.11 -m pytest -k "not test_lazy_data_loading_ and not test_font_eq_and_ne and not test_copyDataFromGlyph and not test_appendContour and not test_font_mapping_behavior and not test_font_defcon_behavior and not test_nondefault_layer_name and not test_layer_order and not test_bounds and not test_deepcopy_lazy_object and not test_unlazify and not test_auto_unlazify_ and not test_font_equality and not test_unstructure_lazy_font"
> ============================= test session starts ==============================
> platform linux -- Python 3.11.1, pytest-7.2.0, pluggy-1.0.0+repack
> rootdir: /<<PKGBUILDDIR>>, configfile: tox.ini
> collected 129 items / 18 deselected / 111 selected
>
> tests/test_converters.py ....................................F.......... [ 42%]
> ................ [ 56%]
> tests/test_ufoLib2.py ............. [ 68%]
> tests/objects/test_component.py ... [ 71%]
> tests/objects/test_contour.py .. [ 72%]
> tests/objects/test_datastore.py .. [ 74%]
> tests/objects/test_font.py . [ 75%]
> tests/objects/test_glyph.py ............... [ 89%]
> tests/objects/test_layer.py ...... [ 94%]
> tests/objects/test_object_lib.py .. [ 96%]
> ufoLib2/objects/dataSet.py . [ 97%]
> ufoLib2/objects/font.py . [ 98%]
> ufoLib2/objects/glyph.py . [ 99%]
> ufoLib2/objects/imageSet.py . [100%]
>
> =================================== FAILURES ===================================
> ____________________ test_structure_forbid_extra_keys[True] ____________________
> + Exception Group Traceback (most recent call last):
> | File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ufoLib2/build/tests/test_converters.py", line 525, in test_structure_forbid_extra_keys
> | conv.structure(data, Glyph)
> | File "/usr/lib/python3/dist-packages/cattrs/converters.py", line 309, in structure
> | return self._structure_func.dispatch(cl)(obj, cl)
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> | File "<cattrs generated structure ufoLib2.objects.glyph.Glyph-3>", line 73, in structure_Glyph
> | if errors: raise __c_cve('While structuring ' + 'Glyph', errors, __cl)
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> | cattrs.errors.ClassValidationError: While structuring Glyph (1 sub-exception)
> +-+---------------- 1 ----------------
> | cattrs.errors.ForbiddenExtraKeysError: Extra fields in constructor for Glyph: foo
> +------------------------------------
>
> During handling of the above exception, another exception occurred:
>
> forbid_extra_keys = True
>
> @pytest.mark.parametrize("forbid_extra_keys", [True, False])
> def test_structure_forbid_extra_keys(forbid_extra_keys: bool) -> None:
> conv = cattr.GenConverter(forbid_extra_keys=forbid_extra_keys)
> register_hooks(conv)
> data = {"name": "a", "foo": "bar"}
> if forbid_extra_keys:
> > with pytest.raises(Exception, match="Extra fields in constructor for .*: foo"):
> E AssertionError: Regex pattern did not match.
> E Regex: 'Extra fields in constructor for .*: foo'
> E Input: 'While structuring Glyph (1 sub-exception)'
>
> tests/test_converters.py:524: AssertionError
> =============================== warnings summary ===============================
> ufoLib2/objects/layerSet.py:115
> .pybuild/cpython3_3.11_ufoLib2/build/tests/test_ufoLib2.py::test_custom_layerset
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ufoLib2/build/ufoLib2/objects/layerSet.py:115: DeprecationWarning: 'defaultLayerName' parameter is deprecated; use Layer.default attribute instead
> warnings.warn(
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED tests/test_converters.py::test_structure_forbid_extra_keys[True] - Ass...
> =========== 1 failed, 110 passed, 18 deselected, 2 warnings in 0.72s ===========
> E: pybuild pybuild:388: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ufoLib2/build; python3.11 -m pytest -k "not test_lazy_data_loading_ and not test_font_eq_and_ne and not test_copyDataFromGlyph and not test_appendContour and not test_font_mapping_behavior and not test_font_defcon_behavior and not test_nondefault_layer_name and not test_layer_order and not test_bounds and not test_deepcopy_lazy_object and not test_unlazify and not test_auto_unlazify_ and not test_font_equality and not test_unstructure_lazy_font"
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_ufoLib2/build; python3.10 -m pytest -k "not test_lazy_data_loading_ and not test_font_eq_and_ne and not test_copyDataFromGlyph and not test_appendContour and not test_font_mapping_behavior and not test_font_defcon_behavior and not test_nondefault_layer_name and not test_layer_order and not test_bounds and not test_deepcopy_lazy_object and not test_unlazify and not test_auto_unlazify_ and not test_font_equality and not test_unstructure_lazy_font"
> ============================= test session starts ==============================
> platform linux -- Python 3.10.9, pytest-7.2.0, pluggy-1.0.0+repack
> rootdir: /<<PKGBUILDDIR>>, configfile: tox.ini
> collected 129 items / 18 deselected / 111 selected
>
> tests/test_converters.py ....................................F.......... [ 42%]
> ................ [ 56%]
> tests/test_ufoLib2.py ............. [ 68%]
> tests/objects/test_component.py ... [ 71%]
> tests/objects/test_contour.py .. [ 72%]
> tests/objects/test_datastore.py .. [ 74%]
> tests/objects/test_font.py . [ 75%]
> tests/objects/test_glyph.py ............... [ 89%]
> tests/objects/test_layer.py ...... [ 94%]
> tests/objects/test_object_lib.py .. [ 96%]
> ufoLib2/objects/dataSet.py . [ 97%]
> ufoLib2/objects/font.py . [ 98%]
> ufoLib2/objects/glyph.py . [ 99%]
> ufoLib2/objects/imageSet.py . [100%]
>
> =================================== FAILURES ===================================
> ____________________ test_structure_forbid_extra_keys[True] ____________________
> + Exception Group Traceback (most recent call last):
> | File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_ufoLib2/build/tests/test_converters.py", line 525, in test_structure_forbid_extra_keys
> | conv.structure(data, Glyph)
> | File "/usr/lib/python3/dist-packages/cattrs/converters.py", line 309, in structure
> | return self._structure_func.dispatch(cl)(obj, cl)
> | File "<cattrs generated structure ufoLib2.objects.glyph.Glyph-3>", line 73, in structure_Glyph
> | if errors: raise __c_cve('While structuring ' + 'Glyph', errors, __cl)
> | cattrs.errors.ClassValidationError: While structuring Glyph (1 sub-exception)
> +-+---------------- 1 ----------------
> | cattrs.errors.ForbiddenExtraKeysError: Extra fields in constructor for Glyph: foo
> +------------------------------------
>
> During handling of the above exception, another exception occurred:
>
> forbid_extra_keys = True
>
> @pytest.mark.parametrize("forbid_extra_keys", [True, False])
> def test_structure_forbid_extra_keys(forbid_extra_keys: bool) -> None:
> conv = cattr.GenConverter(forbid_extra_keys=forbid_extra_keys)
> register_hooks(conv)
> data = {"name": "a", "foo": "bar"}
> if forbid_extra_keys:
> > with pytest.raises(Exception, match="Extra fields in constructor for .*: foo"):
> E AssertionError: Regex pattern did not match.
> E Regex: 'Extra fields in constructor for .*: foo'
> E Input: 'While structuring Glyph (1 sub-exception)'
>
> tests/test_converters.py:524: AssertionError
> =============================== warnings summary ===============================
> ufoLib2/objects/layerSet.py:115
> .pybuild/cpython3_3.10_ufoLib2/build/tests/test_ufoLib2.py::test_custom_layerset
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_ufoLib2/build/ufoLib2/objects/layerSet.py:115: DeprecationWarning: 'defaultLayerName' parameter is deprecated; use Layer.default attribute instead
> warnings.warn(
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED tests/test_converters.py::test_structure_forbid_extra_keys[True] - Ass...
> =========== 1 failed, 110 passed, 18 deselected, 2 warnings in 0.79s ===========
> E: pybuild pybuild:388: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_ufoLib2/build; python3.10 -m pytest -k "not test_lazy_data_loading_ and not test_font_eq_and_ne and not test_copyDataFromGlyph and not test_appendContour and not test_font_mapping_behavior and not test_font_defcon_behavior and not test_nondefault_layer_name and not test_layer_order and not test_bounds and not test_deepcopy_lazy_object and not test_unlazify and not test_auto_unlazify_ and not test_font_equality and not test_unstructure_lazy_font"
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.11 3.10" returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2023/01/01/ufolib2_0.13.1+dfsg1-1_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230101;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230101&fusertaguser=lucas@debian.org&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.
Reply to: