Your message dated Thu, 02 Jul 2026 12:18:36 +0000
with message-id <[email protected]>
and subject line Bug#1140283: fixed in sphinx-autodoc-typehints 3.12.0-1
has caused the Debian Bug report #1140283,
regarding sphinx-autodoc-typehints: FTBFS: E           AssertionError: assert 
'data' == 'class'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1140283: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1140283
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:sphinx-autodoc-typehints
Version: 3.8.0-1
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/202606/

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:sphinx-autodoc-typehints, so that this is 
still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with python3 --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --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:142: Building wheel for python3.14 with "build" 
module
I: pybuild base:385: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_sphinx-autodoc-typehints  
* Building wheel...
Successfully built sphinx_autodoc_typehints-3.8.0-py3-none-any.whl
I: pybuild plugin_pyproject:168: Unpacking wheel built for python3.14 with 
"installer" module
I: pybuild plugin_pyproject:142: Building wheel for python3.13 with "build" 
module
I: pybuild base:385: python3.13 -m build --skip-dependency-check --no-isolation 
--wheel --outdir 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinx-autodoc-typehints  
* Building wheel...
Successfully built sphinx_autodoc_typehints-3.8.0-py3-none-any.whl
I: pybuild plugin_pyproject:168: Unpacking wheel built for python3.13 with 
"installer" module
   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:385: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_sphinx-autodoc-typehints/build; 
python3.14 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.14.6, pytest-9.0.3, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_sphinx-autodoc-typehints/build
configfile: pyproject.toml
plugins: cov-5.0.0, typeguard-4.4.4
collected 502 items / 2 skipped

tests/test_annotations.py ....................................ssssssssss [  9%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.. [ 23%]
..................................                                       [ 30%]
tests/test_attributes_patch.py .....                                     [ 31%]
tests/test_formats_numpydoc.py .............................             [ 37%]
tests/test_formats_sphinx.py .......                                     [ 38%]
tests/test_generator_yields.py ..                                        [ 38%]
tests/test_guarded_import.py .                                           [ 39%]
tests/test_init.py .........                                             [ 40%]
tests/test_integration.py .............................................. [ 50%]
........................................................................ [ 64%]
..............................................................           [ 76%]
tests/test_integration_autodoc_type_aliases.py ...                       [ 77%]
tests/test_integration_issue_384.py .                                    [ 77%]
tests/test_integration_issue_572.py ..s                                  [ 78%]
tests/test_integration_issue_599.py ....                                 [ 78%]
tests/test_method_lookup.py .                                            [ 79%]
tests/test_pep695.py ...                                                 [ 79%]
tests/test_resolver/test_attrs.py .......                                [ 81%]
tests/test_resolver/test_stubs.py ..............................         [ 87%]
tests/test_resolver/test_type_comments.py ...................            [ 90%]
tests/test_resolver/test_type_hints.py ...........                       [ 93%]
tests/test_resolver/test_util.py ....                                    [ 93%]
tests/test_safe_parse.py .                                               [ 94%]
tests/test_sphinx_autodoc_typehints.py .............................     [ 99%]
tests/test_version.py .                                                  [100%]

=============================== warnings summary ===============================
tests/test_generator_yields.py: 24 warnings
tests/test_guarded_import.py: 2 warnings
tests/test_integration.py: 464 warnings
tests/test_integration_autodoc_type_aliases.py: 6 warnings
tests/test_integration_issue_384.py: 2 warnings
tests/test_integration_issue_572.py: 4 warnings
tests/test_integration_issue_599.py: 6 warnings
tests/test_method_lookup.py: 6 warnings
tests/test_pep695.py: 10 warnings
tests/test_resolver/test_attrs.py: 10 warnings
tests/test_resolver/test_stubs.py: 6 warnings
tests/test_safe_parse.py: 2 warnings
tests/test_sphinx_autodoc_typehints.py: 382 warnings
  /usr/lib/python3/dist-packages/sphinx/ext/napoleon/docstring.py:361: 
RemovedInSphinx11Warning: The mapping interface for autodoc options objects is 
deprecated, and will be removed in Sphinx 11. Use attribute access instead.
    if options:

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================ 421 passed, 83 skipped, 924 warnings in 9.71s =================
I: pybuild base:385: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinx-autodoc-typehints/build; 
python3.13 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.13.14, pytest-9.0.3, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinx-autodoc-typehints/build
configfile: pyproject.toml
plugins: cov-5.0.0, typeguard-4.4.4
collected 502 items / 2 skipped

tests/test_annotations.py .......................................F...F.. [  9%]
........................................................................ [ 23%]
..................................                                       [ 30%]
tests/test_attributes_patch.py .....                                     [ 31%]
tests/test_formats_numpydoc.py .............................             [ 37%]
tests/test_formats_sphinx.py .......                                     [ 38%]
tests/test_generator_yields.py ..                                        [ 38%]
tests/test_guarded_import.py .                                           [ 39%]
tests/test_init.py .........                                             [ 40%]
tests/test_integration.py .............................................. [ 50%]
........................................................................ [ 64%]
..............................................................           [ 76%]
tests/test_integration_autodoc_type_aliases.py ...                       [ 77%]
tests/test_integration_issue_384.py .                                    [ 77%]
tests/test_integration_issue_572.py ss.                                  [ 78%]
tests/test_integration_issue_599.py ....                                 [ 78%]
tests/test_method_lookup.py .                                            [ 79%]
tests/test_pep695.py ...                                                 [ 79%]
tests/test_resolver/test_attrs.py .......                                [ 81%]
tests/test_resolver/test_stubs.py ..............................         [ 87%]
tests/test_resolver/test_type_comments.py ...................            [ 90%]
tests/test_resolver/test_type_hints.py ...........                       [ 93%]
tests/test_resolver/test_util.py ....                                    [ 93%]
tests/test_safe_parse.py .                                               [ 94%]
tests/test_sphinx_autodoc_typehints.py .............................     [ 99%]
tests/test_version.py .                                                  [100%]

=================================== FAILURES ===================================
_____________________ test_format_annotation[EllipsisType] _____________________

inv = Inventory(project='Python', version='3.13', 
source_type=<SourceTypes.FnameZlib: 'fname_zlib'>)
annotation = <class 'ellipsis'>
expected_result = ':py:data:`~types.EllipsisType`'

    @pytest.mark.parametrize(("annotation", "expected_result"), _CASES)
    def test_format_annotation(inv: Inventory, annotation: Any, 
expected_result: str) -> None:
        conf = create_autospec(Config, _annotation_globals=globals(), 
always_use_bars_union=False)
        result = format_annotation(annotation, conf)
        assert result == expected_result
    
        if re.match(r"^:py:data:`~typing\.Union`\\\[.*``None``.*]", 
expected_result):  # pragma: <3.14 cover
            expected_result_not_simplified = expected_result.replace(", 
``None``", "")
            expected_result_not_simplified += ":py:data:`~typing.Optional`\\ 
\\["
            expected_result_not_simplified += "]"
            conf = create_autospec(
                Config,
                simplify_optional_unions=False,
                _annotation_globals=globals(),
                always_use_bars_union=False,
            )
            assert format_annotation(annotation, conf) == 
expected_result_not_simplified
    
            if "typing" in expected_result_not_simplified:
                expected_result_not_simplified = 
expected_result_not_simplified.replace("~typing", "typing")
                conf = create_autospec(
                    Config,
                    typehints_fully_qualified=True,
                    simplify_optional_unions=False,
                    _annotation_globals=globals(),
                )
                assert format_annotation(annotation, conf) == 
expected_result_not_simplified
    
        if "typing" in expected_result or __name__ in expected_result:
            expected_result = expected_result.replace("~typing", "typing")
            expected_result = expected_result.replace("~collections.abc", 
"collections.abc")
            expected_result = expected_result.replace("~numpy", "numpy")
            expected_result = expected_result.replace("~" + __name__, __name__)
            conf = create_autospec(
                Config,
                typehints_fully_qualified=True,
                _annotation_globals=globals(),
                always_use_bars_union=False,
            )
            assert format_annotation(annotation, conf) == expected_result
    
        if (
            result.count(":py:") == 1
            and ("typing" in result or "types" in result)
            and (match := 
re.match(r"^:py:(?P<role>class|data|func):`~(?P<name>[^`]+)`", result))
        ):
            name = match.group("name")
            expected_role = next((o.role for o in inv.objects if o.name == 
name), None)
            if expected_role and expected_role == "function":  # pragma: no 
cover
                expected_role = "func"
>           assert match.group("role") == expected_role
E           AssertionError: assert 'data' == 'class'
E             
E             - class
E             + data

tests/test_annotations.py:439: AssertionError
__________________ test_format_annotation[NotImplementedType] __________________

inv = Inventory(project='Python', version='3.13', 
source_type=<SourceTypes.FnameZlib: 'fname_zlib'>)
annotation = <class 'NotImplementedType'>
expected_result = ':py:data:`~types.NotImplementedType`'

    @pytest.mark.parametrize(("annotation", "expected_result"), _CASES)
    def test_format_annotation(inv: Inventory, annotation: Any, 
expected_result: str) -> None:
        conf = create_autospec(Config, _annotation_globals=globals(), 
always_use_bars_union=False)
        result = format_annotation(annotation, conf)
        assert result == expected_result
    
        if re.match(r"^:py:data:`~typing\.Union`\\\[.*``None``.*]", 
expected_result):  # pragma: <3.14 cover
            expected_result_not_simplified = expected_result.replace(", 
``None``", "")
            expected_result_not_simplified += ":py:data:`~typing.Optional`\\ 
\\["
            expected_result_not_simplified += "]"
            conf = create_autospec(
                Config,
                simplify_optional_unions=False,
                _annotation_globals=globals(),
                always_use_bars_union=False,
            )
            assert format_annotation(annotation, conf) == 
expected_result_not_simplified
    
            if "typing" in expected_result_not_simplified:
                expected_result_not_simplified = 
expected_result_not_simplified.replace("~typing", "typing")
                conf = create_autospec(
                    Config,
                    typehints_fully_qualified=True,
                    simplify_optional_unions=False,
                    _annotation_globals=globals(),
                )
                assert format_annotation(annotation, conf) == 
expected_result_not_simplified
    
        if "typing" in expected_result or __name__ in expected_result:
            expected_result = expected_result.replace("~typing", "typing")
            expected_result = expected_result.replace("~collections.abc", 
"collections.abc")
            expected_result = expected_result.replace("~numpy", "numpy")
            expected_result = expected_result.replace("~" + __name__, __name__)
            conf = create_autospec(
                Config,
                typehints_fully_qualified=True,
                _annotation_globals=globals(),
                always_use_bars_union=False,
            )
            assert format_annotation(annotation, conf) == expected_result
    
        if (
            result.count(":py:") == 1
            and ("typing" in result or "types" in result)
            and (match := 
re.match(r"^:py:(?P<role>class|data|func):`~(?P<name>[^`]+)`", result))
        ):
            name = match.group("name")
            expected_role = next((o.role for o in inv.objects if o.name == 
name), None)
            if expected_role and expected_role == "function":  # pragma: no 
cover
                expected_role = "func"
>           assert match.group("role") == expected_role
E           AssertionError: assert 'data' == 'class'
E             
E             - class
E             + data

tests/test_annotations.py:439: AssertionError
=============================== warnings summary ===============================
tests/test_generator_yields.py: 24 warnings
tests/test_guarded_import.py: 2 warnings
tests/test_integration.py: 464 warnings
tests/test_integration_autodoc_type_aliases.py: 6 warnings
tests/test_integration_issue_384.py: 2 warnings
tests/test_integration_issue_599.py: 6 warnings
tests/test_method_lookup.py: 6 warnings
tests/test_pep695.py: 10 warnings
tests/test_resolver/test_attrs.py: 10 warnings
tests/test_resolver/test_stubs.py: 6 warnings
tests/test_safe_parse.py: 2 warnings
tests/test_sphinx_autodoc_typehints.py: 382 warnings
  /usr/lib/python3/dist-packages/sphinx/ext/napoleon/docstring.py:361: 
RemovedInSphinx11Warning: The mapping interface for autodoc options objects is 
deprecated, and will be removed in Sphinx 11. Use attribute access instead.
    if options:

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_annotations.py::test_format_annotation[EllipsisType] - Asse...
FAILED tests/test_annotations.py::test_format_annotation[NotImplementedType]
=========== 2 failed, 498 passed, 4 skipped, 920 warnings in 10.51s ============
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinx-autodoc-typehints/build; 
python3.13 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" --parallel=2 returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit 
status 2
--------------------------------------------------------------------------------

--- End Message ---
--- Begin Message ---
Source: sphinx-autodoc-typehints
Source-Version: 3.12.0-1
Done: Colin Watson <[email protected]>

We believe that the bug you reported is fixed in the latest version of
sphinx-autodoc-typehints, which is due to be installed in the Debian FTP 
archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Colin Watson <[email protected]> (supplier of updated 
sphinx-autodoc-typehints package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 02 Jul 2026 12:58:58 +0100
Source: sphinx-autodoc-typehints
Architecture: source
Version: 3.12.0-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Colin Watson <[email protected]>
Closes: 1140283
Changes:
 sphinx-autodoc-typehints (3.12.0-1) unstable; urgency=medium
 .
   * Team upload.
   * New upstream release:
     - Use class role for Ellipsis/NotImplementedType on 3.13+ (closes:
       #1140283).
   * Remove redundant `dh --with python3`.
   * Skip a test that fails without internet access.
   * Standards-Version: 4.7.4.
Checksums-Sha1:
 176d21003961c7c1f6891553d5ed508474451693 2591 
sphinx-autodoc-typehints_3.12.0-1.dsc
 5f5a83fd90460d10d09552e5358c602db291931b 83874 
sphinx-autodoc-typehints_3.12.0.orig.tar.gz
 032038c113360cf59fba824f464dc968357aa95e 4440 
sphinx-autodoc-typehints_3.12.0-1.debian.tar.xz
Checksums-Sha256:
 5adaac591bfe77f06e1dd554f546d06e6cb2ca1ba3f591deea8fc64df5f7fdcd 2591 
sphinx-autodoc-typehints_3.12.0-1.dsc
 6571eb33c72cdc616a9945730fcb43c5bcf3685e79f1e8aea144735e43d5230d 83874 
sphinx-autodoc-typehints_3.12.0.orig.tar.gz
 e5eaafa14d6ab4e60d375a8066f995d1d1f7910ea39ee8c3fff87b814db3ba0a 4440 
sphinx-autodoc-typehints_3.12.0-1.debian.tar.xz
Files:
 ce54490a43949e9382e0ea2ac9f1e932 2591 python optional 
sphinx-autodoc-typehints_3.12.0-1.dsc
 72f8d987428e19edad61ccb0ed0ae27a 83874 python optional 
sphinx-autodoc-typehints_3.12.0.orig.tar.gz
 c24ccb366d20556d7519a103c76aec8b 4440 python optional 
sphinx-autodoc-typehints_3.12.0-1.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEErApP8SYRtvzPAcEROTWH2X2GUAsFAmpGUukACgkQOTWH2X2G
UAuYjA//ehKwvn3IllA1TvRmdEIgVksXzQVJm/sCmw9vDa4nYIh886bDRJTcUtpb
yd3V6ajrxvAI5OWIXHkX7FWnO6NsTuNohuogwX5F03UuvFLp9a9Iuj691ZEw2HYn
doz+m94kH3T+upEyhjtaktfrvPL3fR4YrXLPii8C8itCqtRKhRnzGdoSZtEyngsW
J1tWS7nb6xcvNIjdCcQARIwiL3dD8x2mZAK/lI5OasjYFfjj9L0otvCs9Dl9rtcQ
etQ0lvmwgOL5zSiDCnmykcOIr5264nogr1Ykh8tN+QOnJr9m/hoc/vKLxzM1O27P
4sH3XXKoed9aWINHPFt08R5szcvayiLwlC6lfW159GBtltjP+Zy15qEFwBNgUN3f
o914sLmKMA0GIWKfx9VGumu3Ehtb8uYRC1mT3zkfu5yImCOR0e2PEfd57TB+cJtJ
KjIGlvckZqViGLTLLKNOsurc0kz/fKtuSexbYfnRyLha8m9LbFeE2EbVwobDWYi3
B6u6T+VS/Okg+ovLE2c0MFb1A3vl00OGAcLAX74Iv2F9OVp1XKTUih6fr4iCGvZw
VZ0Wzmb9bQsRWPADK57bGuAyoX4g36Qke+z2fpjGBXOaL2zCs/Upop+scKrKvmCi
RcmfYAvjd2tF/wIXuJgz+H3/vUT5mAQXHJG5ZHwDss3w4uRGqWU=
=JJTL
-----END PGP SIGNATURE-----

Attachment: pgpURwnY8xWOi.pgp
Description: PGP signature


--- End Message ---

Reply via email to