Source: python-autodocsumm
Version: 0.2.13-3
Severity: normal
User: [email protected]
Usertags: python3.13

This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.

To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.

Not sure if this was an issue in the test environment or a real upstream
issue. From the log, it's not immediately obvious why ignore stopped
getting defined.

What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html

Log snippet:

============================= test session starts ==============================
platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0 -- 
/usr/bin/python3.13
cachedir: .pytest_cache
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build
configfile: pyproject.toml
plugins: typeguard-4.3.0
collecting ... collected 23 items

tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_module FAILED [  4%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_module_no_nesting 
FAILED [  8%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_module_summary_only 
FAILED [ 13%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_module_with_title 
FAILED [ 17%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_module_nosignatures 
FAILED [ 21%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_class FAILED  [ 26%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_class_order FAILED [ 
30%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_class_summary_only 
FAILED [ 34%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_class_nosignatures 
FAILED [ 39%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_inherited FAILED [ 
43%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_warnings_depreciation
 XFAIL [ 47%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_autoclasssumm_inline 
FAILED [ 52%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_class_submodule 
FAILED [ 56%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_module_submodule 
FAILED [ 60%]
tests/test_autodocsumm.py::TestAutosummaryDocumenter::test_sorted_sections 
FAILED [ 65%]
tests/test_autodocsumm.py::TestAutoDocSummDirective::test_autoclasssumm FAILED 
[ 69%]
tests/test_autodocsumm.py::TestAutoDocSummDirective::test_autoclasssumm_no_titles
 FAILED [ 73%]
tests/test_autodocsumm.py::TestAutoDocSummDirective::test_autoclasssumm_some_sections
 FAILED [ 78%]
tests/test_autodocsumm.py::TestAutoDocSummDirective::test_autoclasssumm_nosignatures
 FAILED [ 82%]
tests/test_autodocsumm.py::TestAutoDocSummDirective::test_automodulesumm FAILED 
[ 86%]
tests/test_autodocsumm.py::TestAutoDocSummDirective::test_automodulesumm_some_sections
 FAILED [ 91%]
tests/test_autodocsumm.py::TestAutoDocSummDirective::test_automodulesumm_nosignatures
 FAILED [ 95%]
tests/test_autodocsumm.py::TestAutoDocSummDirective::test_empty FAILED   [100%]

=================================== FAILURES ===================================
____________________ TestAutosummaryDocumenter.test_module _____________________

self = <test_autodocsumm.TestAutosummaryDocumenter object at 0xffffba3ef610>
app = <SphinxTestApp buildername='html'>

    def test_module(self, app):
>       app.build()

tests/test_autodocsumm.py:55: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/sphinx/testing/util.py:205: in build
    super().build(force_all, filenames)
/usr/lib/python3/dist-packages/sphinx/application.py:377: in build
    self.builder.build_update()
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:297: in build_update
    self.build(to_build,
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:318: in build
    updated_docnames = set(self.read())
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:425: in read
    self._read_serial(docnames)
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:477: in _read_serial
    self.read_doc(docname)
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:536: in read_doc
    publisher.publish()
/usr/lib/python3/dist-packages/docutils/core.py:234: in publish
    self.document = self.reader.read(self.source, self.parser,
/usr/lib/python3/dist-packages/sphinx/io.py:106: in read
    self.parse()
/usr/lib/python3/dist-packages/docutils/readers/__init__.py:76: in parse
    self.parser.parse(self.input, document)
/usr/lib/python3/dist-packages/sphinx/parsers.py:83: in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
/usr/lib/python3/dist-packages/docutils/parsers/rst/states.py:170: in run
    results = StateMachineWS.run(self, input_lines, input_offset,
/usr/lib/python3/dist-packages/docutils/statemachine.py:233: in run
    context, next_state, result = self.check_line(
/usr/lib/python3/dist-packages/docutils/statemachine.py:445: in check_line
    return method(match, context, next_state)
/usr/lib/python3/dist-packages/docutils/parsers/rst/states.py:2791: in underline
    self.section(title, source, style, lineno - 1, messages)
/usr/lib/python3/dist-packages/docutils/parsers/rst/states.py:326: in section
    self.new_subsection(title, lineno, messages)
/usr/lib/python3/dist-packages/docutils/parsers/rst/states.py:392: in 
new_subsection
    newabsoffset = self.nested_parse(
/usr/lib/python3/dist-packages/docutils/parsers/rst/states.py:280: in 
nested_parse
    state_machine.run(block, input_offset, memo=self.memo,
/usr/lib/python3/dist-packages/docutils/parsers/rst/states.py:196: in run
    results = StateMachineWS.run(self, input_lines, input_offset)
/usr/lib/python3/dist-packages/docutils/statemachine.py:233: in run
    context, next_state, result = self.check_line(
/usr/lib/python3/dist-packages/docutils/statemachine.py:445: in check_line
    return method(match, context, next_state)
/usr/lib/python3/dist-packages/docutils/parsers/rst/states.py:2358: in 
explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
/usr/lib/python3/dist-packages/docutils/parsers/rst/states.py:2370: in 
explicit_construct
    return method(self, expmatch)
/usr/lib/python3/dist-packages/docutils/parsers/rst/states.py:2107: in directive
    return self.run_directive(
/usr/lib/python3/dist-packages/docutils/parsers/rst/states.py:2157: in 
run_directive
    result = directive_instance.run()
/usr/lib/python3/dist-packages/sphinx/ext/autodoc/directive.py:137: in run
    documenter.generate(more_content=self.content)
/usr/lib/python3/dist-packages/sphinx/ext/autodoc/__init__.py:971: in generate
    self.document_members(all_members)
/usr/lib/python3/dist-packages/sphinx/ext/autodoc/__init__.py:845: in 
document_members
    documenter.generate(
/usr/lib/python3/dist-packages/sphinx/ext/autodoc/__init__.py:935: in generate
    docstrings: list[str] = functools.reduce(operator.iadd, self.get_doc() or 
[], [])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <autodocsumm.NoDataDataDocumenter object at 0xffffb93ae890>, args = ()
kwargs = {}, content = 'both'
docstrings = ["str(object='') -> str\nstr(bytes_or_buffer[, encoding[, 
errors]]) -> str\n\nCreate a new string object from the give...ined)\nor 
repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\nThe 
type of the None singleton."]
docstring = "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) 
-> str\n\nCreate a new string object from the given...fined)\nor 
repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\nThe 
type of the None singleton."
calldocstring = 'The type of the None singleton.', doc = []

    def get_doc(self, *args, **kwargs):
        """Reimplemented  to include data from the call method"""
        content = self.env.config.autodata_content
        if content not in ('both', 'call') or not self.get_attr(
                self.get_attr(self.object, '__call__', None), '__doc__'):
            return super(CallableDataDocumenter, self).get_doc(
                *args, **kwargs
            )
    
        # for classes, what the "docstring" is can be controlled via a
        # config value; the default is both docstrings
        docstrings = []
        if content != 'call':
            docstring = self.get_attr(self.object, '__doc__', None)
            docstrings = [docstring + '\n'] if docstring else []
        calldocstring = self.get_attr(
            self.get_attr(self.object, '__call__', None), '__doc__')
        if docstrings:
            docstrings[0] += calldocstring
        else:
            docstrings.append(calldocstring + '\n')
    
        doc = []
        for docstring in docstrings:
            if not isinstance(docstring, str):
                docstring = force_decode(docstring, encoding)
>           doc.append(prepare_docstring(docstring, ignore))
E           NameError: name 'ignore' is not defined

autodocsumm/__init__.py:459: NameError
--------------------------- Captured stdout teardown ---------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-debusine-worker/pytest-0/root
# outdir: /tmp/pytest-of-debusine-worker/pytest-0/root/_build/html
# status: 
Running Sphinx v7.4.7
loading translations [en]... done
[autosummary] generating autosummary for: index.rst, test_autoclasssumm.rst, 
test_autoclasssumm_inline.rst, test_autoclasssumm_no_titles.rst, 
test_autoclasssumm_nosignatures.rst, test_autoclasssumm_some_sections.rst, 
test_automodulesumm.rst, test_automodulesumm_nosignatures.rst, 
test_automodulesumm_some_sections.rst, test_class.rst, ..., 
test_class_submodule.rst, test_class_summary_only.rst, test_empty.rst, 
test_inherited.rst, test_module.rst, test_module_no_nesting.rst, 
test_module_nosignatures.rst, test_module_submodule.rst, 
test_module_summary_only.rst, test_module_title.rst
building [mo]: targets for 0 po files that are out of date
writing output... 
building [html]: targets for 22 source files that are out of 
date
updating environment: [new config] 22 added, 0 changed, 0 
removed
reading sources... [  5%] index
reading sources... [  9%] test_autoclasssumm
reading sources... [ 14%] 
test_autoclasssumm_inline
reading sources... [ 18%] 
test_autoclasssumm_no_titles
reading sources... [ 23%] 
test_autoclasssumm_nosignatures
reading sources... [ 27%] 
test_autoclasssumm_some_sections
reading sources... [ 32%] test_automodulesumm
reading sources... [ 36%] 
test_automodulesumm_nosignatures
reading sources... [ 41%] 
test_automodulesumm_some_sections
reading sources... [ 45%] test_class
reading sources... [ 50%] 
test_class_nosignatures
reading sources... [ 55%] test_class_order
reading sources... [ 59%] test_class_submodule
reading sources... [ 64%] 
test_class_summary_only
reading sources... [ 68%] test_empty
reading sources... [ 73%] test_inherited
reading sources... [ 77%] test_module

# warning: 
WARNING: Summarised items should not include the current module. Replace 
'dummy.TestClassWithInlineAutoClassSumm.test_method_of_inline_test' with 
'test_method_of_inline_test'.
WARNING: Summarised items should not include the current module. Replace 
'dummy.TestClassWithInlineAutoClassSumm.test_method_of_inline_test' with 
'TestClassWithInlineAutoClassSumm.test_method_of_inline_test'.
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass:1: WARNING: duplicate object description of 
dummy.TestClass, other instance in test_class, use :no-index: for one of 
them
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass:1: WARNING: duplicate object description of 
dummy.TestClass, other instance in test_class_nosignatures, use :no-index: for 
one of them
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass.instance_attribute:1: WARNING: duplicate object description 
of dummy.TestClass.instance_attribute, other instance in test_class, use 
:no-index: for one of them
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass.test_method:1: WARNING: duplicate object description of 
dummy.TestClass.test_method, other instance in test_class, use :no-index: for 
one of them
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass.test_method_args_kwargs:1: WARNING: duplicate object 
description of dummy.TestClass.test_method_args_kwargs, other instance in 
test_class, use :no-index: for one of them
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass.InnerClass:1: WARNING: duplicate object description of 
dummy.TestClass.InnerClass, other instance in test_class, use :no-index: for 
one of them
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass.test_attr:1: WARNING: duplicate object description of 
dummy.TestClass.test_attr, other instance in test_class, use :no-index: for one 
of them
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass.class_caller:1: WARNING: duplicate object description of 
dummy.TestClass.class_caller, other instance in test_class, use :no-index: for 
one of them
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass.large_data:1: WARNING: duplicate object description of 
dummy.TestClass.large_data, other instance in test_class, use :no-index: for 
one of them
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass.small_data:1: WARNING: duplicate object description of 
dummy.TestClass.small_data, other instance in test_class, use :no-index: for 
one of them
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autodocsumm/build/tests/test-root/dummy.py:docstring
 of dummy.TestClass:1: WARNING: duplicate object description of 
dummy.TestClass, other instance in test_class_order, use :no-index: for one of 
them

etc.

If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/781073/

This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.

Thanks,

Stefano

Reply via email to