--- Begin Message ---
Source: python-autodocsumm
Version: 0.2.13-3
Severity: normal
User: debian-pyt...@lists.debian.org
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:
[01mRunning Sphinx v7.4.7[39;49;00m
[01mloading translations [en]... [39;49;00mdone
[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
[01mbuilding [mo]: [39;49;00mtargets for 0 po files that are out of date
[01mwriting output... [39;49;00m
[01mbuilding [html]: [39;49;00mtargets for 22 source files that are out of
date
[01mupdating environment: [39;49;00m[new config] 22 added, 0 changed, 0
removed
[01mreading sources... [39;49;00m[ 5%] [35mindex[39;49;00m
[01mreading sources... [39;49;00m[ 9%] [35mtest_autoclasssumm[39;49;00m
[01mreading sources... [39;49;00m[ 14%]
[35mtest_autoclasssumm_inline[39;49;00m
[01mreading sources... [39;49;00m[ 18%]
[35mtest_autoclasssumm_no_titles[39;49;00m
[01mreading sources... [39;49;00m[ 23%]
[35mtest_autoclasssumm_nosignatures[39;49;00m
[01mreading sources... [39;49;00m[ 27%]
[35mtest_autoclasssumm_some_sections[39;49;00m
[01mreading sources... [39;49;00m[ 32%] [35mtest_automodulesumm[39;49;00m
[01mreading sources... [39;49;00m[ 36%]
[35mtest_automodulesumm_nosignatures[39;49;00m
[01mreading sources... [39;49;00m[ 41%]
[35mtest_automodulesumm_some_sections[39;49;00m
[01mreading sources... [39;49;00m[ 45%] [35mtest_class[39;49;00m
[01mreading sources... [39;49;00m[ 50%]
[35mtest_class_nosignatures[39;49;00m
[01mreading sources... [39;49;00m[ 55%] [35mtest_class_order[39;49;00m
[01mreading sources... [39;49;00m[ 59%] [35mtest_class_submodule[39;49;00m
[01mreading sources... [39;49;00m[ 64%]
[35mtest_class_summary_only[39;49;00m
[01mreading sources... [39;49;00m[ 68%] [35mtest_empty[39;49;00m
[01mreading sources... [39;49;00m[ 73%] [35mtest_inherited[39;49;00m
[01mreading sources... [39;49;00m[ 77%] [35mtest_module[39;49;00m
# warning:
[91mWARNING: Summarised items should not include the current module. Replace
'dummy.TestClassWithInlineAutoClassSumm.test_method_of_inline_test' with
'test_method_of_inline_test'.[39;49;00m
[91mWARNING: Summarised items should not include the current module. Replace
'dummy.TestClassWithInlineAutoClassSumm.test_method_of_inline_test' with
'TestClassWithInlineAutoClassSumm.test_method_of_inline_test'.[39;49;00m
[91m/<<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[39;49;00m
[91m/<<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[39;49;00m
[91m/<<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[39;49;00m
[91m/<<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[39;49;00m
[91m/<<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[39;49;00m
[91m/<<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[39;49;00m
[91m/<<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[39;49;00m
[91m/<<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[39;49;00m
[91m/<<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[39;49;00m
[91m/<<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[39;49;00m
[91m/<<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[39;49;00m
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
--- End Message ---