Your message dated Mon, 18 Nov 2024 21:07:03 +0000
with message-id <zzusdzuuisgva...@riva.ucam.org>
and subject line Re: Bug#1082197: python-autodocsumm FTBFS with Python 3.13
has caused the Debian Bug report #1082197,
regarding python-autodocsumm FTBFS with Python 3.13
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 ow...@bugs.debian.org
immediately.)


-- 
1082197: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1082197
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- 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: 
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

--- End Message ---
--- Begin Message ---
Source: python-autodocsumm
Source-Version: 0.2.14-1

On Wed, Nov 13, 2024 at 07:10:12PM +0100, Carsten Schoenert wrote:
> Control: tags -1 patch
> 
> Am Thu, Sep 19, 2024 at 11:53:15AM +0200 schrieb Stefano Rivera:
> ... 
> > 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.
> 
> I've looked into the issues and the root seems simply that Python 3.13 is
> more picky about unused variables. The variable 'ignore' isn't getting
> an assignment in the function get_doc() in the class
> CallableDataDocumenter().
> 
> Removing the variable is letting the test suite pass again also with
> 3.13.
> 
> See attached patch.

Upstream version 0.2.14 fixed this differently.  I tested 0.2.14-1 and
it built cleanly.

-- 
Colin Watson (he/him)                              [cjwat...@debian.org]

--- End Message ---

Reply via email to