Package: src:sphinxcontrib-openapi
Version: 0.8.4-3
Severity: serious
Tags: ftbfs

Dear maintainer:

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

--------------------------------------------------------------------------------
[...]
 debian/rules binary
dh binary --with=sphinxdoc --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   debian/rules execute_before_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# tests/OpenAPI-Specification may already exist
mkdir -p tests/OpenAPI-Specification
cp -r /usr/share/doc/openapi-specification/examples tests/OpenAPI-Specification
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_configure -O--buildsystem=pybuild
I: pybuild base:311: python3.13 setup.py config 
/usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: 
setuptools.installer and fetch_build_eggs are deprecated.
!!

        
********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.
        
********************************************************************************

!!
  dist.fetch_build_eggs(dist.setup_requires)
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml 
does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
  File 
"/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py",
 line 36, in read_pyproject
    section = defn.get("tool", {})[tool_name]
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
running config
I: pybuild base:311: python3.12 setup.py config 
/usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: 
setuptools.installer and fetch_build_eggs are deprecated.
!!

        
********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.
        
********************************************************************************

!!
  dist.fetch_build_eggs(dist.setup_requires)
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml 
does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
  File 
"/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py",
 line 36, in read_pyproject
    section = defn.get("tool", {})[tool_name]
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
running config
   dh_auto_build -O--buildsystem=pybuild
I: pybuild base:311: /usr/bin/python3.13 setup.py build 
/usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: 
setuptools.installer and fetch_build_eggs are deprecated.
!!

        
********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.
        
********************************************************************************

!!
  dist.fetch_build_eggs(dist.setup_requires)
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml 
does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
  File 
"/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py",
 line 36, in read_pyproject
    section = defn.get("tool", {})[tool_name]
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
running build
running build_py
creating 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/_lib2to3.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/schema_utils.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/utils.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/openapi20.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/directive.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/__init__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/__main__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/openapi30.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/openapi31.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi
creating 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi/renderers
copying sphinxcontrib/openapi/renderers/__init__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi/renderers
copying sphinxcontrib/openapi/renderers/abc.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi/renderers
copying sphinxcontrib/openapi/renderers/_httpdomain.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi/renderers
copying sphinxcontrib/openapi/renderers/_httpdomain_old.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi/renderers
running egg_info
creating sphinxcontrib_openapi.egg-info
writing sphinxcontrib_openapi.egg-info/PKG-INFO
writing dependency_links to sphinxcontrib_openapi.egg-info/dependency_links.txt
writing requirements to sphinxcontrib_openapi.egg-info/requires.txt
writing top-level names to sphinxcontrib_openapi.egg-info/top_level.txt
writing manifest file 'sphinxcontrib_openapi.egg-info/SOURCES.txt'
reading manifest file 'sphinxcontrib_openapi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files matching '__pycache__' found under 
directory '*'
warning: no previously-included files matching '*.py[co]' found under directory 
'*'
warning: no previously-included files matching '.DS_Store' found under 
directory '*'
adding license file 'LICENSE'
writing manifest file 'sphinxcontrib_openapi.egg-info/SOURCES.txt'
I: pybuild base:311: /usr/bin/python3 setup.py build 
/usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: 
setuptools.installer and fetch_build_eggs are deprecated.
!!

        
********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.
        
********************************************************************************

!!
  dist.fetch_build_eggs(dist.setup_requires)
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml 
does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
  File 
"/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py",
 line 36, in read_pyproject
    section = defn.get("tool", {})[tool_name]
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
running build
running build_py
creating 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/_lib2to3.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/schema_utils.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/utils.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/openapi20.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/directive.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/__init__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/__main__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/openapi30.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi
copying sphinxcontrib/openapi/openapi31.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi
creating 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi/renderers
copying sphinxcontrib/openapi/renderers/__init__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi/renderers
copying sphinxcontrib/openapi/renderers/abc.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi/renderers
copying sphinxcontrib/openapi/renderers/_httpdomain.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi/renderers
copying sphinxcontrib/openapi/renderers/_httpdomain_old.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi/renderers
running egg_info
writing sphinxcontrib_openapi.egg-info/PKG-INFO
writing dependency_links to sphinxcontrib_openapi.egg-info/dependency_links.txt
writing requirements to sphinxcontrib_openapi.egg-info/requires.txt
writing top-level names to sphinxcontrib_openapi.egg-info/top_level.txt
reading manifest file 'sphinxcontrib_openapi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files matching '__pycache__' found under 
directory '*'
warning: no previously-included files matching '*.py[co]' found under directory 
'*'
warning: no previously-included files matching '.DS_Store' found under 
directory '*'
adding license file 'LICENSE'
writing manifest file 'sphinxcontrib_openapi.egg-info/SOURCES.txt'
   debian/rules execute_after_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
export PYTHONPATH=$(pybuild --print build_dir | grep "^$(py3versions -d)" | sed 
-e 's/^.*: //'); \
    sphinx-build -W -b html docs docs/_build/html
Running Sphinx v8.1.3
loading translations [en]... done
making output directory... done
Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 
'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [html]: targets for 1 source files that are out of date
updating environment: [new config] 1 added, 0 changed, 0 removed
reading sources... [100%] index

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... 
copying static files... 
Writing evaluated template result to 
/<<PKGBUILDDIR>>/docs/_build/html/_static/documentation_options.js
Writing evaluated template result to 
/<<PKGBUILDDIR>>/docs/_build/html/_static/basic.css
Writing evaluated template result to 
/<<PKGBUILDDIR>>/docs/_build/html/_static/language_data.js
Writing evaluated template result to 
/<<PKGBUILDDIR>>/docs/_build/html/_static/js/versions.js
copying static files: done
copying extra files... 
copying extra files: done
copying assets: done
writing output... [100%] index

generating indices... genindex http-routingtable done
writing additional pages... search done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded.

The HTML pages are in docs/_build/html.
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:311: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build; python3.13 
-m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build
configfile: tox.ini
plugins: typeguard-4.4.1
collected 509 items

tests/lib2to3/test_convert.py ............                               [  2%]
tests/lib2to3/test_convert_operation.py ......                           [  3%]
tests/lib2to3/test_convert_parameter.py ................                 [  6%]
tests/lib2to3/test_convert_parameters.py ...                             [  7%]
tests/lib2to3/test_convert_path.py ...........                           [  9%]
tests/lib2to3/test_convert_paths.py ....                                 [ 10%]
tests/lib2to3/test_convert_request_body.py .....                         [ 11%]
tests/lib2to3/test_convert_request_body_formdata.py ............         [ 13%]
tests/lib2to3/test_convert_response.py .............                     [ 16%]
tests/lib2to3/test_convert_responses.py ....                             [ 17%]
tests/renderers/httpdomain/test_render.py ...........                    [ 19%]
tests/renderers/httpdomain/test_render_json_schema_description.py ...... [ 20%]
........................................................................ [ 35%]
....................                                                     [ 39%]
tests/renderers/httpdomain/test_render_operation.py .............        [ 41%]
tests/renderers/httpdomain/test_render_parameter.py .................... [ 45%]
......................                                                   [ 50%]
tests/renderers/httpdomain/test_render_parameters.py .............       [ 52%]
tests/renderers/httpdomain/test_render_paths.py .........                [ 54%]
tests/renderers/httpdomain/test_render_request_body.py ....              [ 55%]
tests/renderers/httpdomain/test_render_request_body_example.py ......... [ 57%]
................                                                         [ 60%]
tests/renderers/httpdomain/test_render_response.py ..................... [ 64%]
...............                                                          [ 67%]
tests/renderers/httpdomain/test_render_response_example.py ............. [ 70%]
.................                                                        [ 73%]
tests/renderers/httpdomain/test_render_responses.py ........             [ 75%]
tests/renderers/httpdomain/test_render_restructuredtext_markup.py ...... [ 76%]
....                                                                     [ 77%]
tests/test_openapi.py ..................................                 [ 84%]
tests/test_schema_utils.py .........                                     [ 85%]
tests/test_spec_examples.py ............................................ [ 94%]
.....................F....                                               [100%]

=================================== FAILURES ===================================
_ 
test_openapi31_success[/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/tests/OpenAPI-Specification/examples/v3.1/non-oauth-scopes.yaml-True-True]
 _

tmpdir = local('/tmp/pytest-of-buildd/pytest-0/test_openapi31_success__build_3')
run_sphinx = <function run_sphinx.<locals>.run at 0x7ff008a039c0>
spec = 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/tests/OpenAPI-Specification/examples/v3.1/non-oauth-scopes.yaml'
render_examples = True, render_request = True

    @pytest.mark.parametrize('render_examples', [False, True])
    @pytest.mark.parametrize('render_request', [False, True])
    @pytest.mark.parametrize('spec', glob.glob(
        os.path.join(
            os.path.abspath(os.path.dirname(__file__)),
            'OpenAPI-Specification',
            'examples',
            'v3.1',
            '*.yaml')
    ))
    def test_openapi31_success(tmpdir, run_sphinx, spec, render_examples,
                               render_request):
        py.path.local(spec).copy(tmpdir.join('src', 'test-spec.yml'))
>       run_sphinx('test-spec.yml', options={
            'examples': render_examples,
            'request': render_request,
        })

tests/test_spec_examples.py:69: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/conftest.py:76: in run
    ).build()
/usr/lib/python3/dist-packages/sphinx/application.py:380: in build
    self.builder.build_update()
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:358: in build_update
    self.build(
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:385: in build
    updated_docnames = set(self.read())
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:502: in read
    self._read_serial(docnames)
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:567: in _read_serial
    self.read_doc(docname)
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:630: 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:85: 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: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()
sphinxcontrib/openapi/directive.py:56: in run
    return renderer_cls(self.state, self.options).render(spec)
sphinxcontrib/openapi/renderers/abc.py:40: in render
    for line in self.render_restructuredtext_markup(spec):
sphinxcontrib/openapi/renderers/_httpdomain_old.py:55: in 
render_restructuredtext_markup
    yield from openapihttpdomain(spec, **self._options)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

endpoint = '/users', method = 'get'
properties = {'parameters': [], 'security': [{'bearerAuth': ['read:users', 
'public']}]}
convert = <function get_text_converter.<locals>.<lambda> at 0x7ff0089cd300>
render_examples = True, render_request = True

    def _httpresource(
        endpoint, method, properties, convert, render_examples, render_request
    ):
        # 
https://github.com/OAI/OpenAPI-Specification/blob/3.1.0/versions/3.1.0.md#operation-object
        parameters = properties.get("parameters", [])
>       responses = properties["responses"]
E       KeyError: 'responses'

sphinxcontrib/openapi/openapi31.py:282: KeyError
----------------------------- Captured stdout call -----------------------------
Running Sphinx v8.1.3
loading translations [en]... done
Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 
'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [html]: targets for 1 source files that are out of date
updating environment: [new config] 1 added, 0 changed, 0 removed
reading sources... [100%] index
----------------------------- Captured stderr call -----------------------------
WARNING: while setting up extension sphinx.addnodes: node class 'toctree' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'desc' is 
already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_signature' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_signature_line' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_content' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_inline' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_name' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_addname' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_type' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_returns' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_parameterlist' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_type_parameter_list' is already registered, its visitors will be 
overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_parameter' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_type_parameter' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_optional' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_annotation' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_literal_number' is already registered, its visitors will be 
overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_keyword' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_operator' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_space' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_literal_char' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_literal_string' is already registered, its visitors will be 
overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_keyword_type' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_punctuation' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_name' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'versionmodified' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'seealso' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'productionlist' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'production' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'index' is 
already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'centered' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'acks' is 
already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'hlist' is 
already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'hlistcol' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'compact_paragraph' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'glossary' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'only' is 
already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'start_of_file' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'highlightlang' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'tabular_col_spec' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'pending_xref' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'number_reference' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'download_reference' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'literal_emphasis' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'literal_strong' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'manpage' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.domains.changeset: directive 
'deprecated' is already registered, it will be overridden 
[app.add_directive]
WARNING: while setting up extension sphinx.domains.changeset: directive 
'versionadded' is already registered, it will be overridden 
[app.add_directive]
WARNING: while setting up extension sphinx.domains.changeset: directive 
'versionchanged' is already registered, it will be overridden 
[app.add_directive]
WARNING: while setting up extension sphinx.domains.changeset: directive 
'versionremoved' is already registered, it will be overridden 
[app.add_directive]
WARNING: while setting up extension sphinx.domains.index: directive 
'index' is already registered, it will be overridden 
[app.add_directive]
WARNING: while setting up extension sphinx.domains.index: role 'index' is 
already registered, it will be overridden [app.add_role]
WARNING: while setting up extension sphinx.domains.math: role 'eq' is 
already registered, it will be overridden [app.add_role]
WARNING: directive 'openapi:httpdomain' is already registered, it will be 
overridden [app.add_directive]
WARNING: directive 'openapi:httpdomain:old' is already registered, it will 
be overridden [app.add_directive]
WARNING: directive 'openapi' is already registered, it will be overridden 
[app.add_directive]
=============================== warnings summary ===============================
sphinxcontrib/openapi/utils.py:27
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/sphinxcontrib/openapi/utils.py:27:
 DeprecationWarning: jsonschema.RefResolver is deprecated as of v4.18.0, in 
favor of the https://github.com/python-jsonschema/referencing library, which 
provides more compliant referencing behavior as well as more flexible APIs for 
customization. A future release will remove RefResolver. Please file a feature 
request (on referencing) if you are missing an API for the kind of 
customization you need.
    class OpenApiRefResolver(jsonschema.RefResolver):

tests/test_openapi.py: 3 warnings
tests/test_spec_examples.py: 47 warnings
  /usr/lib/python3/dist-packages/sphinxcontrib/httpdomain.py:455: 
DeprecationWarning: 'maxsplit' is passed as positional argument
    code, status = re.split(r'\s', text.strip(), 1)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED 
tests/test_spec_examples.py::test_openapi31_success[/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build/tests/OpenAPI-Specification/examples/v3.1/non-oauth-scopes.yaml-True-True]
================== 1 failed, 497 passed, 51 warnings in 7.22s ==================
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_sphinxcontrib.openapi/build; python3.13 
-m pytest tests
I: pybuild base:311: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build; python3.12 
-m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build
configfile: tox.ini
plugins: typeguard-4.4.1
collected 509 items

tests/lib2to3/test_convert.py ............                               [  2%]
tests/lib2to3/test_convert_operation.py ......                           [  3%]
tests/lib2to3/test_convert_parameter.py ................                 [  6%]
tests/lib2to3/test_convert_parameters.py ...                             [  7%]
tests/lib2to3/test_convert_path.py ...........                           [  9%]
tests/lib2to3/test_convert_paths.py ....                                 [ 10%]
tests/lib2to3/test_convert_request_body.py .....                         [ 11%]
tests/lib2to3/test_convert_request_body_formdata.py ............         [ 13%]
tests/lib2to3/test_convert_response.py .............                     [ 16%]
tests/lib2to3/test_convert_responses.py ....                             [ 17%]
tests/renderers/httpdomain/test_render.py ...........                    [ 19%]
tests/renderers/httpdomain/test_render_json_schema_description.py ...... [ 20%]
........................................................................ [ 35%]
....................                                                     [ 39%]
tests/renderers/httpdomain/test_render_operation.py .............        [ 41%]
tests/renderers/httpdomain/test_render_parameter.py .................... [ 45%]
......................                                                   [ 50%]
tests/renderers/httpdomain/test_render_parameters.py .............       [ 52%]
tests/renderers/httpdomain/test_render_paths.py .........                [ 54%]
tests/renderers/httpdomain/test_render_request_body.py ....              [ 55%]
tests/renderers/httpdomain/test_render_request_body_example.py ......... [ 57%]
................                                                         [ 60%]
tests/renderers/httpdomain/test_render_response.py ..................... [ 64%]
...............                                                          [ 67%]
tests/renderers/httpdomain/test_render_response_example.py ............. [ 70%]
.................                                                        [ 73%]
tests/renderers/httpdomain/test_render_responses.py ........             [ 75%]
tests/renderers/httpdomain/test_render_restructuredtext_markup.py ...... [ 76%]
....                                                                     [ 77%]
tests/test_openapi.py ..................................                 [ 84%]
tests/test_schema_utils.py .........                                     [ 85%]
tests/test_spec_examples.py ............................................ [ 94%]
.....................F....                                               [100%]

=================================== FAILURES ===================================
_ 
test_openapi31_success[/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/tests/OpenAPI-Specification/examples/v3.1/non-oauth-scopes.yaml-True-True]
 _

tmpdir = local('/tmp/pytest-of-buildd/pytest-1/test_openapi31_success__build_3')
run_sphinx = <function run_sphinx.<locals>.run at 0x7fe2b1541440>
spec = 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/tests/OpenAPI-Specification/examples/v3.1/non-oauth-scopes.yaml'
render_examples = True, render_request = True

    @pytest.mark.parametrize('render_examples', [False, True])
    @pytest.mark.parametrize('render_request', [False, True])
    @pytest.mark.parametrize('spec', glob.glob(
        os.path.join(
            os.path.abspath(os.path.dirname(__file__)),
            'OpenAPI-Specification',
            'examples',
            'v3.1',
            '*.yaml')
    ))
    def test_openapi31_success(tmpdir, run_sphinx, spec, render_examples,
                               render_request):
        py.path.local(spec).copy(tmpdir.join('src', 'test-spec.yml'))
>       run_sphinx('test-spec.yml', options={
            'examples': render_examples,
            'request': render_request,
        })

tests/test_spec_examples.py:69: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/conftest.py:76: in run
    ).build()
/usr/lib/python3/dist-packages/sphinx/application.py:380: in build
    self.builder.build_update()
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:358: in build_update
    self.build(
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:385: in build
    updated_docnames = set(self.read())
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:502: in read
    self._read_serial(docnames)
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:567: in _read_serial
    self.read_doc(docname)
/usr/lib/python3/dist-packages/sphinx/builders/__init__.py:630: 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:85: 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: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()
sphinxcontrib/openapi/directive.py:56: in run
    return renderer_cls(self.state, self.options).render(spec)
sphinxcontrib/openapi/renderers/abc.py:40: in render
    for line in self.render_restructuredtext_markup(spec):
sphinxcontrib/openapi/renderers/_httpdomain_old.py:55: in 
render_restructuredtext_markup
    yield from openapihttpdomain(spec, **self._options)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

endpoint = '/users', method = 'get'
properties = {'parameters': [], 'security': [{'bearerAuth': ['read:users', 
'public']}]}
convert = <function get_text_converter.<locals>.<lambda> at 0x7fe2b1747380>
render_examples = True, render_request = True

    def _httpresource(
        endpoint, method, properties, convert, render_examples, render_request
    ):
        # 
https://github.com/OAI/OpenAPI-Specification/blob/3.1.0/versions/3.1.0.md#operation-object
        parameters = properties.get("parameters", [])
>       responses = properties["responses"]
E       KeyError: 'responses'

sphinxcontrib/openapi/openapi31.py:282: KeyError
----------------------------- Captured stdout call -----------------------------
Running Sphinx v8.1.3
loading translations [en]... done
Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 
'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [html]: targets for 1 source files that are out of date
updating environment: [new config] 1 added, 0 changed, 0 removed
reading sources... [100%] index
----------------------------- Captured stderr call -----------------------------
WARNING: while setting up extension sphinx.addnodes: node class 'toctree' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'desc' is 
already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_signature' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_signature_line' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_content' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_inline' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_name' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_addname' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_type' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_returns' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_parameterlist' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_type_parameter_list' is already registered, its visitors will be 
overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_parameter' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_type_parameter' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_optional' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_annotation' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_literal_number' is already registered, its visitors will be 
overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_keyword' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_operator' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_space' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_literal_char' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_literal_string' is already registered, its visitors will be 
overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_keyword_type' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_punctuation' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'desc_sig_name' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'versionmodified' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'seealso' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'productionlist' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'production' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'index' is 
already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'centered' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'acks' is 
already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'hlist' is 
already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'hlistcol' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'compact_paragraph' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'glossary' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'only' is 
already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'start_of_file' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'highlightlang' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'tabular_col_spec' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'pending_xref' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'number_reference' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'download_reference' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'literal_emphasis' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 
'literal_strong' is already registered, its visitors will be overridden 
[app.add_node]
WARNING: while setting up extension sphinx.addnodes: node class 'manpage' 
is already registered, its visitors will be overridden [app.add_node]
WARNING: while setting up extension sphinx.domains.changeset: directive 
'deprecated' is already registered, it will be overridden 
[app.add_directive]
WARNING: while setting up extension sphinx.domains.changeset: directive 
'versionadded' is already registered, it will be overridden 
[app.add_directive]
WARNING: while setting up extension sphinx.domains.changeset: directive 
'versionchanged' is already registered, it will be overridden 
[app.add_directive]
WARNING: while setting up extension sphinx.domains.changeset: directive 
'versionremoved' is already registered, it will be overridden 
[app.add_directive]
WARNING: while setting up extension sphinx.domains.index: directive 
'index' is already registered, it will be overridden 
[app.add_directive]
WARNING: while setting up extension sphinx.domains.index: role 'index' is 
already registered, it will be overridden [app.add_role]
WARNING: while setting up extension sphinx.domains.math: role 'eq' is 
already registered, it will be overridden [app.add_role]
WARNING: directive 'openapi:httpdomain' is already registered, it will be 
overridden [app.add_directive]
WARNING: directive 'openapi:httpdomain:old' is already registered, it will 
be overridden [app.add_directive]
WARNING: directive 'openapi' is already registered, it will be overridden 
[app.add_directive]
=============================== warnings summary ===============================
sphinxcontrib/openapi/utils.py:27
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/sphinxcontrib/openapi/utils.py:27:
 DeprecationWarning: jsonschema.RefResolver is deprecated as of v4.18.0, in 
favor of the https://github.com/python-jsonschema/referencing library, which 
provides more compliant referencing behavior as well as more flexible APIs for 
customization. A future release will remove RefResolver. Please file a feature 
request (on referencing) if you are missing an API for the kind of 
customization you need.
    class OpenApiRefResolver(jsonschema.RefResolver):

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED 
tests/test_spec_examples.py::test_openapi31_success[/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build/tests/OpenAPI-Specification/examples/v3.1/non-oauth-scopes.yaml-True-True]
=================== 1 failed, 497 passed, 1 warning in 8.03s ===================
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_sphinxcontrib.openapi/build; python3.12 
-m pytest tests
dh_auto_test: error: pybuild --test -i python{version} -p "3.13 3.12" returned 
exit code 13
make: *** [debian/rules:9: 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/202412/

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

Thanks.

Reply via email to