• Bug#1100289: python-sphobjinv: FTBFS: pytest.PytestAssertRewriteWarning

    From Santiago Vila@21:1/5 to All on Wed Mar 12 17:40:06 2025
    Package: src:python-sphobjinv
    Version: 2.3.1.2-1
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    debian/rules clean
    dh clean --buildsystem=pybuild
    debian/rules override_dh_auto_clean
    make[1]: Entering directory '/<<PKGBUILDDIR>>'
    dh_auto_clean
    rm -rf .mypy_cache .pytest_cache
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    dh_autoreconf_clean -O--buildsystem=pybuild
    dh_clean -O--buildsystem=pybuild
    debian/rules binary
    dh binary --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.13 with "build" module
    I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphobjinv
    * Building wheel...
    running bdist_wheel
    running build
    running build_py
    creating build/lib/sphobjinv
    copying src/sphobjinv/re.py -> build/lib/sphobjinv
    copying src/sphobjinv/data.py -> build/lib/sphobjinv
    copying src/sphobjinv/fileops.py -> build/lib/sphobjinv
    copying src/sphobjinv/__init__.py -> build/lib/sphobjinv
    copying src/sphobjinv/enum.py -> build/lib/sphobjinv
    copying src/sphobjinv/__main__.py -> build/lib/sphobjinv
    copying src/sphobjinv/version.py -> build/lib/sphobjinv
    copying src/sphobjinv/error.py -> build/lib/sphobjinv
    copying src/sphobjinv/schema.py -> build/lib/sphobjinv
    copying src/sphobjinv/inventory.py -> build/lib/sphobjinv
    copying src/sphobjinv/zlib.py -> build/lib/sphobjinv
    creating build/lib/sphobjinv/cli
    copying src/sphobjinv/cli/ui.py -> build/lib/sphobjinv/cli
    copying src/sphobjinv/cli/load.py -> build/lib/sphobjinv/cli
    copying src/sphobjinv/cli/core.py -> build/lib/sphobjinv/cli
    copying src/sphobjinv/cli/parser.py -> build/lib/sphobjinv/cli
    copying src/sphobjinv/cli/__init__.py -> build/lib/sphobjinv/cli
    copying src/sphobjinv/cli/write.py -> build/lib/sphobjinv/cli
    copying src/sphobjinv/cli/suggest.py -> build/lib/sphobjinv/cli
    copying src/sphobjinv/cli/convert.py -> build/lib/sphobjinv/cli
    copying src/sphobjinv/cli/paths.py -> build/lib/sphobjinv/cli
    creating build/lib/sphobjinv/_vendored
    copying src/sphobjinv/_vendored/__init__.py -> build/lib/sphobjinv/_vendored creating build/lib/sphobjinv/_vendored/fuzzywuzzy
    copying src/sphobjinv/_vendored/fuzzywuzzy/process.py -> build/lib/sphobjinv/_vendored/fuzzywuzzy
    copying src/sphobjinv/_vendored/fuzzywuzzy/utils.py -> build/lib/sphobjinv/_vendored/fuzzywuzzy
    copying src/sphobjinv/_vendored/fuzzywuzzy/fuzz.py -> build/lib/sphobjinv/_vendored/fuzzywuzzy
    copying src/sphobjinv/_vendored/fuzzywuzzy/__init__.py -> build/lib/sphobjinv/_vendored/fuzzywuzzy
    copying src/sphobjinv/_vendored/fuzzywuzzy/tests.py -> build/lib/sphobjinv/_vendored/fuzzywuzzy
    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/sphobjinv
    creating build/bdist.linux-x86_64/wheel/sphobjinv/cli
    copying build/lib/sphobjinv/cli/ui.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/cli
    copying build/lib/sphobjinv/cli/load.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/cli
    copying build/lib/sphobjinv/cli/core.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/cli
    copying build/lib/sphobjinv/cli/parser.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/cli
    copying build/lib/sphobjinv/cli/__init__.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/cli
    copying build/lib/sphobjinv/cli/write.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/cli
    copying build/lib/sphobjinv/cli/suggest.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/cli
    copying build/lib/sphobjinv/cli/convert.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/cli
    copying build/lib/sphobjinv/cli/paths.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/cli
    creating build/bdist.linux-x86_64/wheel/sphobjinv/_vendored
    creating build/bdist.linux-x86_64/wheel/sphobjinv/_vendored/fuzzywuzzy
    copying build/lib/sphobjinv/_vendored/fuzzywuzzy/process.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/_vendored/fuzzywuzzy
    copying build/lib/sphobjinv/_vendored/fuzzywuzzy/utils.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/_vendored/fuzzywuzzy
    copying build/lib/sphobjinv/_vendored/fuzzywuzzy/fuzz.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/_vendored/fuzzywuzzy
    copying build/lib/sphobjinv/_vendored/fuzzywuzzy/__init__.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/_vendored/fuzzywuzzy
    copying build/lib/sphobjinv/_vendored/fuzzywuzzy/tests.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/_vendored/fuzzywuzzy
    copying build/lib/sphobjinv/_vendored/__init__.py -> build/bdist.linux-x86_64/wheel/./sphobjinv/_vendored
    copying build/lib/sphobjinv/re.py -> build/bdist.linux-x86_64/wheel/./sphobjinv copying build/lib/sphobjinv/data.py -> build/bdist.linux-x86_64/wheel/./sphobjinv
    copying build/lib/sphobjinv/fileops.py -> build/bdist.linux-x86_64/wheel/./sphobjinv
    copying build/lib/sphobjinv/__init__.py -> build/bdist.linux-x86_64/wheel/./sphobjinv
    copying build/lib/sphobjinv/enum.py -> build/bdist.linux-x86_64/wheel/./sphobjinv
    copying build/lib/sphobjinv/__main__.py -> build/bdist.linux-x86_64/wheel/./sphobjinv
    copying build/lib/sphobjinv/version.py -> build/bdist.linux-x86_64/wheel/./sphobjinv
    copying build/lib/sphobjinv/error.py -> build/bdist.linux-x86_64/wheel/./sphobjinv
    copying build/lib/sphobjinv/schema.py -> build/bdist.linux-x86_64/wheel/./sphobjinv
    copying build/lib/sphobjinv/inventory.py -> build/bdist.linux-x86_64/wheel/./sphobjinv
    copying build/lib/sphobjinv/zlib.py -> build/bdist.linux-x86_64/wheel/./sphobjinv
    running install_egg_info
    running egg_info
    creating src/sphobjinv.egg-info
    writing src/sphobjinv.egg-info/PKG-INFO
    writing dependency_links to src/sphobjinv.egg-info/dependency_links.txt
    writing entry points to src/sphobjinv.egg-info/entry_points.txt
    writing requirements to src/sphobjinv.egg-info/requires.txt
    writing top-level names to src/sphobjinv.egg-info/top_level.txt
    writing manifest file 'src/sphobjinv.egg-info/SOURCES.txt'
    reading manifest file 'src/sphobjinv.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no previously-included files matching '__pycache__/*' found anywhere in distribution
    adding license file 'LICENSE.txt'
    writing manifest file 'src/sphobjinv.egg-info/SOURCES.txt'
    Copying src/sphobjinv.egg-info to build/bdist.linux-x86_64/wheel/./sphobjinv-2.3.1.2.egg-info
    running install_scripts
    creating build/bdist.linux-x86_64/wheel/sphobjinv-2.3.1.2.dist-info/WHEEL creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphobjinv/.tmp-_khoiwxu/sphobjinv-2.3.1.2-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
    adding 'sphobjinv/__init__.py'
    adding 'sphobjinv/__main__.py'
    adding 'sphobjinv/data.py'
    adding 'sphobjinv/enum.py'
    adding 'sphobjinv/error.py'
    adding 'sphobjinv/fileops.py'
    adding 'sphobjinv/inventory.py'
    adding 'sphobjinv/re.py'
    adding 'sphobjinv/schema.py'
    adding 'sphobjinv/version.py'
    adding 'sphobjinv/zlib.py'
    adding 'sphobjinv/_vendored/__init__.py'
    adding 'sphobjinv/_vendored/fuzzywuzzy/__init__.py'
    adding 'sphobjinv/_vendored/fuzzywuzzy/fuzz.py'
    adding 'sphobjinv/_vendored/fuzzywuzzy/process.py'
    adding 'sphobjinv/_vendored/fuzzywuzzy/tests.py'
    adding 'sphobjinv/_vendored/fuzzywuzzy/utils.py'
    adding 'sphobjinv/cli/__init__.py'
    adding 'sphobjinv/cli/convert.py'
    adding 'sphobjinv/cli/core.py'
    adding 'sphobjinv/cli/load.py'
    adding 'sphobjinv/cli/parser.py'
    adding 'sphobjinv/cli/paths.py'
    adding 'sphobjinv/cli/suggest.py'
    adding 'sphobjinv/cli/ui.py'
    adding 'sphobjinv/cli/write.py'
    adding 'sphobjinv-2.3.1.2.dist-info/LICENSE.txt'
    adding 'sphobjinv-2.3.1.2.dist-info/METADATA'
    adding 'sphobjinv-2.3.1.2.dist-info/WHEEL'
    adding 'sphobjinv-2.3.1.2.dist-info/entry_points.txt'
    adding 'sphobjinv-2.3.1.2.dist-info/top_level.txt'
    adding 'sphobjinv-2.3.1.2.dist-info/RECORD'
    removing build/bdist.linux-x86_64/wheel
    Successfully built sphobjinv-2.3.1.2-py3-none-any.whl
    I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module
    dh_auto_test -O--buildsystem=pybuild
    I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphobjinv/build; python3.13 -m pytest "-k not test_clifail_convert_badoutfilename "
    Traceback (most recent call last):
    File "<frozen runpy>", line 198, in _run_module_as_main
    File "<frozen runpy>", line 88, in _run_code
    File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module>
    raise SystemExit(pytest.console_main())
    ~~~~~~~~~~~~~~~~~~~^^
    File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201, in console_main
    code = main()
    File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 156, in main
    config = _prepareconfig(args, plugins)
    File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 341, in _prepareconfig
    config = pluginmanager.hook.pytest_cmdline_parse(
    pluginmanager=pluginmanager, args=args
    )
    File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
    raise exception.with_traceback(exception.__traceback__)
    File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 122, in _multicall
    teardown.throw(exception) # type: ignore[union-attr]
    ~~~~~~~~~~~~~~^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/_pytest/helpconfig.py", line 105, in pytest_cmdline_parse
    config = yield
    ^^^^^
    File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
    File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1140, in pytest_cmdline_parse
    self.parse(args)
    ~~~~~~~~~~^^^^^^
    File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1494, in parse
    self._preparse(args, addopts=addopts)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1381, in _preparse
    self.pluginmanager.load_setuptools_entrypoints("pytest11")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 421, in load_setuptools_entrypoints
    plugin = ep.load()
    File "/usr/lib/python3.13/importlib/metadata/__init__.py", line 179, in load
    module = import_module(match.group('module'))
    File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
    File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
    File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
    File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
    File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
    File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
    File "<frozen importlib._bootstrap_external>", line 1026, in exec_module
    File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
    File "/usr/lib/python3/dist-packages/pytest_check/__init__.py", line 5, in <module>
    pytest.register_assert_rewrite("pytest_check.check_functions")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/_pytest/assertion/__init__.py", line 81, in register_assert_rewrite
    importhook.mark_rewrite(*names)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
    File "/usr/lib/python3/dist-packages/_pytest/assertion/rewrite.py", line 274, in mark_rewrite
    self._warn_already_imported(name)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
    File "/usr/lib/python3/dist-packages/_pytest/assertion/rewrite.py", line 281, in _warn_already_imported
    self.config.issue_config_time_warning(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    PytestAssertRewriteWarning(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
    stacklevel=5,
    ^^^^^^^^^^^^^
    )
    ^
    File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1532, in issue_config_time_warning
    warnings.warn(warning, stacklevel=stacklevel)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pytest.PytestAssertRewriteWarning: Module already imported so cannot be rewritten: pytest_check.check_functions
    E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphobjinv/build; python3.13 -m pytest "-k not test_clifail_convert_badoutfilename "
    dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13
    make: *** [debian/rules:14: binary] Error 25
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

    The above is just how the build ends and not necessarily the most relevant part.
    If required, the full build log is available here:

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

    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 could not 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-sphobjinv, so that this is still visible in the BTS web page for this package.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)