Source: sphinx-tabs
Version: 3.4.1-1
Severity: important
Tags: ftbfs
User: python-modules-t...@lists.alioth.debian.org
Usertags: sphinx7.1

Hi,

sphinx-tabs fails to build with Sphinx 7.1 and docutils 0.20, both of which
are currently available in experimental.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> python3 -m sphinx -b html -d docs/.build/.doctrees -N docs docs/.build/html
> Running Sphinx v7.1.1
> making output directory... done
> 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... done
> copying extra files... done
> done
> writing output... [100%] index
> 
> generating indices... genindex 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.
> dh_auto_build
> I: pybuild base:240: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build/sphinx_tabs
> copying sphinx_tabs/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build/sphinx_tabs
> copying sphinx_tabs/tabs.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build/sphinx_tabs
> running egg_info
> creating sphinx_tabs.egg-info
> writing sphinx_tabs.egg-info/PKG-INFO
> writing dependency_links to sphinx_tabs.egg-info/dependency_links.txt
> writing requirements to sphinx_tabs.egg-info/requires.txt
> writing top-level names to sphinx_tabs.egg-info/top_level.txt
> writing manifest file 'sphinx_tabs.egg-info/SOURCES.txt'
> reading manifest file 'sphinx_tabs.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files found matching 'docs'
> warning: no previously-included files matching '*' found under directory 
> 'docs'
> warning: no previously-included files found matching 'tests'
> warning: no previously-included files found matching 'images'
> warning: no previously-included files matching '*' found under directory 
> 'images'
> warning: no previously-included files found matching '.pre-commit-config.yaml'
> warning: no previously-included files found matching '.readthedocs.yml'
> warning: no previously-included files found matching 'pylint.cfg'
> warning: no previously-included files found matching 'tox.ini'
> warning: no previously-included files found matching 'codecov.yml'
> adding license file 'LICENSE'
> writing manifest file 'sphinx_tabs.egg-info/SOURCES.txt'
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:201: _Warning: 
> Package 'sphinx_tabs.static' is absent from the `packages` configuration.
> !!
> 
>         
> ********************************************************************************
>         ############################
>         # Package would be ignored #
>         ############################
>         Python recognizes 'sphinx_tabs.static' as an importable package[^1],
>         but it is absent from setuptools' `packages` configuration.
> 
>         This leads to an ambiguous overall configuration. If you want to 
> distribute this
>         package, please make sure that 'sphinx_tabs.static' is explicitly 
> added
>         to the `packages` configuration field.
> 
>         Alternatively, you can also rely on setuptools' discovery methods
>         (for example by using `find_namespace_packages(...)`/`find_namespace:`
>         instead of `find_packages(...)`/`find:`).
> 
>         You can read more about "package discovery" on setuptools 
> documentation page:
> 
>         - 
> https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
> 
>         If you don't want 'sphinx_tabs.static' to be distributed and are
>         already explicitly excluding 'sphinx_tabs.static' via
>         `find_namespace_packages(...)/find_namespace` or 
> `find_packages(...)/find`,
>         you can try to use `exclude_package_data`, or 
> `include-package-data=False` in
>         combination with a more fine grained `package-data` configuration.
> 
>         You can read more about "package data files" on setuptools 
> documentation page:
> 
>         - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
> 
> 
>         [^1]: For Python, any directory (with suitable naming) can be 
> imported,
>               even if it does not contain any `.py` files.
>               On the other hand, currently there is no concept of package data
>               directory, all directories are treated like packages.
>         
> ********************************************************************************
> 
> !!
>   check.warn(importable)
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build/sphinx_tabs/static
> copying sphinx_tabs/static/tabs.css -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build/sphinx_tabs/static
> copying sphinx_tabs/static/tabs.js -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build/sphinx_tabs/static
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:240: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build; python3.11 -m 
> pytest -k 'not test_rinohtype_pdf'
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.4, pytest-7.4.0, pluggy-1.2.0
> rootdir: /<<PKGBUILDDIR>>
> plugins: regressions-2.4.1+ds, cov-4.1.0, datadir-1.4.1+ds
> collected 14 items / 1 deselected / 13 selected
> 
> tests/test_build.py EEEEEFFFEEEEE                                        
> [100%]
> 
> ==================================== ERRORS 
> ====================================
> _________________________ ERROR at setup of test_basic 
> _________________________
> 
> app = <SphinxTestApp buildername='html'>
> status = <_io.StringIO object at 0x7f6f9e2713f0>
> warning = <_io.StringIO object at 0x7f6f9e2711b0>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d730b80>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d730fe0>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d7319e0>
> request = <SubRequest 'auto_build_and_check' for <Function test_basic>>
> 
>     @pytest.fixture(autouse=True)
>     def auto_build_and_check(
>         app,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         request,
>     ):
>         """
>         Build and check build success and output regressions.
>         Currently all tests start with this.
>         Disable using a `noautobuild` mark.
>         """
>         if "noautobuild" in request.keywords:
>             return
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/conftest.py:43: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_basic0/test_build/test_basic.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_basic0/test_build/test_basic.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_basic0/test_build/test_basic.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <container classes="sphinx-tabs" type="tab-element">
> E                    <div aria-label="Tabbed content" classes="closeable" 
> role="tablist">
> E                        <button aria-controls="panel-0-0-0" 
> aria-selected="true" classes="sphinx-tabs-tab" ids="tab-0-0-0" name="0-0" 
> role="tab" tabindex="0">
> 
> tests/conftest.py:126: AssertionError
> ________________________ ERROR at setup of test_no_tabs 
> ________________________
> 
> app = <SphinxTestApp buildername='html'>
> status = <_io.StringIO object at 0x7f6f9e270a60>
> warning = <_io.StringIO object at 0x7f6f9d8e6320>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d7d0e00>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9dd81440>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d7d0680>
> request = <SubRequest 'auto_build_and_check' for <Function test_no_tabs>>
> 
>     @pytest.fixture(autouse=True)
>     def auto_build_and_check(
>         app,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         request,
>     ):
>         """
>         Build and check build success and output regressions.
>         Currently all tests start with this.
>         Disable using a `noautobuild` mark.
>         """
>         if "noautobuild" in request.keywords:
>             return
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/conftest.py:43: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_no_tabs0/test_build/test_no_tabs.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_no_tabs0/test_build/test_no_tabs.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_no_tabs0/test_build/test_no_tabs.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,3 +1,3 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <paragraph>
> E                    There are no tabs here
> 
> tests/conftest.py:126: AssertionError
> _______________ ERROR at setup of test_conditional_assets[index] 
> _______________
> 
> app = <SphinxTestApp buildername='html'>
> status = <_io.StringIO object at 0x7f6f9d8e4af0>
> warning = <_io.StringIO object at 0x7f6f9d8e7760>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d64e5c0>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d64dbc0>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d64d580>
> request = <SubRequest 'auto_build_and_check' for <Function 
> test_conditional_assets[index]>>
> 
>     @pytest.fixture(autouse=True)
>     def auto_build_and_check(
>         app,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         request,
>     ):
>         """
>         Build and check build success and output regressions.
>         Currently all tests start with this.
>         Disable using a `noautobuild` mark.
>         """
>         if "noautobuild" in request.keywords:
>             return
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/conftest.py:43: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_index_0/test_build/test_conditional_assets_index_.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_index_0/test_build/test_conditional_assets_index_.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_index_0/test_build/test_conditional_assets_index_.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <compound classes="toctree-wrapper">
> E                    <toctree caption="True" entries="(None,\ 'no_tabs1') 
> (None,\ 'no_tabs2')" glob="False" hidden="False" includefiles="no_tabs1 
> no_tabs2" includehidden="False" maxdepth="-1" numbered="0" parent="index" 
> rawentries="" titlesonly="False">
> E                <section ids="fruits" names="fruits">
> 
> tests/conftest.py:126: AssertionError
> _____________ ERROR at setup of test_conditional_assets[no_tabs1] 
> ______________
> 
> app = <SphinxTestApp buildername='html'>
> status = <_io.StringIO object at 0x7f6f9d9d0b80>
> warning = <_io.StringIO object at 0x7f6f9d640820>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d64e7a0>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d64d940>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9df63f60>
> request = <SubRequest 'auto_build_and_check' for <Function 
> test_conditional_assets[no_tabs1]>>
> 
>     @pytest.fixture(autouse=True)
>     def auto_build_and_check(
>         app,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         request,
>     ):
>         """
>         Build and check build success and output regressions.
>         Currently all tests start with this.
>         Disable using a `noautobuild` mark.
>         """
>         if "noautobuild" in request.keywords:
>             return
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/conftest.py:43: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_no_tab0/test_build/test_conditional_assets_no_tabs1_.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_no_tab0/test_build/test_conditional_assets_no_tabs1_.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_no_tab0/test_build/test_conditional_assets_no_tabs1_.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <compound classes="toctree-wrapper">
> E                    <toctree caption="True" entries="(None,\ 'no_tabs1') 
> (None,\ 'no_tabs2')" glob="False" hidden="False" includefiles="no_tabs1 
> no_tabs2" includehidden="False" maxdepth="-1" numbered="0" parent="index" 
> rawentries="" titlesonly="False">
> E                <section ids="fruits" names="fruits">
> 
> tests/conftest.py:126: AssertionError
> _____________ ERROR at setup of test_conditional_assets[no_tabs2] 
> ______________
> 
> app = <SphinxTestApp buildername='html'>
> status = <_io.StringIO object at 0x7f6f9d6425f0>
> warning = <_io.StringIO object at 0x7f6f9d642440>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d730c20>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d64fba0>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d64c0e0>
> request = <SubRequest 'auto_build_and_check' for <Function 
> test_conditional_assets[no_tabs2]>>
> 
>     @pytest.fixture(autouse=True)
>     def auto_build_and_check(
>         app,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         request,
>     ):
>         """
>         Build and check build success and output regressions.
>         Currently all tests start with this.
>         Disable using a `noautobuild` mark.
>         """
>         if "noautobuild" in request.keywords:
>             return
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/conftest.py:43: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_no_tab1/test_build/test_conditional_assets_no_tabs2_.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_no_tab1/test_build/test_conditional_assets_no_tabs2_.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_no_tab1/test_build/test_conditional_assets_no_tabs2_.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <compound classes="toctree-wrapper">
> E                    <toctree caption="True" entries="(None,\ 'no_tabs1') 
> (None,\ 'no_tabs2')" glob="False" hidden="False" includefiles="no_tabs1 
> no_tabs2" includehidden="False" maxdepth="-1" numbered="0" parent="index" 
> rawentries="" titlesonly="False">
> E                <section ids="fruits" names="fruits">
> 
> tests/conftest.py:126: AssertionError
> ___________________ ERROR at setup of test_other_with_assets 
> ___________________
> 
> app = <SphinxTestApp buildername='html'>
> status = <_io.StringIO object at 0x7f6f9d531ab0>
> warning = <_io.StringIO object at 0x7f6f9d530160>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d36d4e0>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d36cfe0>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d36e0c0>
> request = <SubRequest 'auto_build_and_check' for <Function 
> test_other_with_assets>>
> 
>     @pytest.fixture(autouse=True)
>     def auto_build_and_check(
>         app,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         request,
>     ):
>         """
>         Build and check build success and output regressions.
>         Currently all tests start with this.
>         Disable using a `noautobuild` mark.
>         """
>         if "noautobuild" in request.keywords:
>             return
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/conftest.py:43: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_other_with_assets0/test_build/test_other_with_assets.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_other_with_assets0/test_build/test_other_with_assets.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_other_with_assets0/test_build/test_other_with_assets.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <container classes="sphinx-tabs" type="tab-element">
> E                    <div aria-label="Tabbed content" classes="closeable" 
> role="tablist">
> E                        <button aria-controls="panel-0-Qysr" 
> aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" 
> ids="tab-0-Qysr" name="Qysr" role="tab" tabindex="0">
> 
> tests/conftest.py:126: AssertionError
> _____________________ ERROR at setup of test_nested_markup 
> _____________________
> 
> app = <SphinxTestApp buildername='html'>
> status = <_io.StringIO object at 0x7f6f9e270820>
> warning = <_io.StringIO object at 0x7f6f9d533400>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d4196c0>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d41b420>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d41b6a0>
> request = <SubRequest 'auto_build_and_check' for <Function 
> test_nested_markup>>
> 
>     @pytest.fixture(autouse=True)
>     def auto_build_and_check(
>         app,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         request,
>     ):
>         """
>         Build and check build success and output regressions.
>         Currently all tests start with this.
>         Disable using a `noautobuild` mark.
>         """
>         if "noautobuild" in request.keywords:
>             return
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/conftest.py:43: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_nested_markup0/test_build/test_nested_markup.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_nested_markup0/test_build/test_nested_markup.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_nested_markup0/test_build/test_nested_markup.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <section ids="markup-in-tab-titles" names="markup\ in\ tab\ 
> titles">
> E                    <title>
> E                        Markup in Tab Titles
> 
> tests/conftest.py:126: AssertionError
> _____________________ ERROR at setup of test_custom_lexer 
> ______________________
> 
> app = <SphinxTestApp buildername='html'>
> status = <_io.StringIO object at 0x7f6f9d530310>
> warning = <_io.StringIO object at 0x7f6f9d2f8d30>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d2b0040>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d2b04a0>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d2b0720>
> request = <SubRequest 'auto_build_and_check' for <Function test_custom_lexer>>
> 
>     @pytest.fixture(autouse=True)
>     def auto_build_and_check(
>         app,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         request,
>     ):
>         """
>         Build and check build success and output regressions.
>         Currently all tests start with this.
>         Disable using a `noautobuild` mark.
>         """
>         if "noautobuild" in request.keywords:
>             return
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/conftest.py:43: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_custom_lexer0/test_build/test_custom_lexer.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_custom_lexer0/test_build/test_custom_lexer.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_custom_lexer0/test_build/test_custom_lexer.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <container classes="sphinx-tabs" type="tab-element">
> E                    <div aria-label="Tabbed content" classes="closeable" 
> role="tablist">
> E                        <button aria-controls="panel-0-QllP" 
> aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" 
> ids="tab-0-QllP" name="QllP" role="tab" tabindex="0">
> 
> tests/conftest.py:126: AssertionError
> ____________________ ERROR at setup of test_disable_closing 
> ____________________
> 
> app = <SphinxTestApp buildername='html'>
> status = <_io.StringIO object at 0x7f6f9d2f8430>
> warning = <_io.StringIO object at 0x7f6f9d2f80d0>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d160680>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d161300>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d161580>
> request = <SubRequest 'auto_build_and_check' for <Function 
> test_disable_closing>>
> 
>     @pytest.fixture(autouse=True)
>     def auto_build_and_check(
>         app,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         request,
>     ):
>         """
>         Build and check build success and output regressions.
>         Currently all tests start with this.
>         Disable using a `noautobuild` mark.
>         """
>         if "noautobuild" in request.keywords:
>             return
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/conftest.py:43: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_disable_closing0/test_build/test_disable_closing.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_disable_closing0/test_build/test_disable_closing.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_disable_closing0/test_build/test_disable_closing.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <container classes="sphinx-tabs" type="tab-element">
> E                    <div aria-label="Tabbed content" role="tablist">
> E                        <button aria-controls="panel-0-0-0" 
> aria-selected="true" classes="sphinx-tabs-tab" ids="tab-0-0-0" name="0-0" 
> role="tab" tabindex="0">
> 
> tests/conftest.py:126: AssertionError
> __________________ ERROR at setup of test_disable_css_loading 
> __________________
> 
> app = <SphinxTestApp buildername='html'>
> status = <_io.StringIO object at 0x7f6f9d2f8ca0>
> warning = <_io.StringIO object at 0x7f6f9d2f89d0>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d1c2ca0>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d1c31a0>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d1c3420>
> request = <SubRequest 'auto_build_and_check' for <Function 
> test_disable_css_loading>>
> 
>     @pytest.fixture(autouse=True)
>     def auto_build_and_check(
>         app,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         request,
>     ):
>         """
>         Build and check build success and output regressions.
>         Currently all tests start with this.
>         Disable using a `noautobuild` mark.
>         """
>         if "noautobuild" in request.keywords:
>             return
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/conftest.py:43: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_disable_css_loading0/test_build/test_disable_css_loading.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_disable_css_loading0/test_build/test_disable_css_loading.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_disable_css_loading0/test_build/test_disable_css_loading.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <container classes="sphinx-tabs" type="tab-element">
> E                    <div aria-label="Tabbed content" classes="closeable" 
> role="tablist">
> E                        <button aria-controls="panel-0-0-0" 
> aria-selected="true" classes="sphinx-tabs-tab" ids="tab-0-0-0" name="0-0" 
> role="tab" tabindex="0">
> 
> tests/conftest.py:126: AssertionError
> =================================== FAILURES 
> ===================================
> ______________ test_conditional_assets_html_assets_policy[index] 
> _______________
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index'
> status = <_io.StringIO object at 0x7f6f9d8e5000>
> warning = <_io.StringIO object at 0x7f6f9d642170>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d6c5760>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d6c7420>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d6c7600>
> check_asset_links = <function check_asset_links.<locals>.check at 
> 0x7f6f9d6c7880>
> 
>     @pytest.mark.noautobuild
>     @pytest.mark.parametrize("docname", ["index", "no_tabs1", "no_tabs2"])
>     @pytest.mark.sphinx(testroot="conditionalassets-policy")
>     def test_conditional_assets_html_assets_policy(
>         app,
>         docname,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         check_asset_links,
>     ):
>         app.set_html_assets_policy("always")
>     
>         # Following lines are copied from ``auto_build_and_check`` since we 
> need to
>         # set a config in the build object before auto build. Because of 
> this, we
>         # need to use ``noautobuild``.
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/test_build.py:48: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_html_a0/test_build/test_conditional_assets_html_assets_policy_index_.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_html_a0/test_build/test_conditional_assets_html_assets_policy_index_.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_html_a0/test_build/test_conditional_assets_html_assets_policy_index_.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <compound classes="toctree-wrapper">
> E                    <toctree caption="True" entries="(None,\ 'no_tabs1') 
> (None,\ 'no_tabs2')" glob="False" hidden="False" includefiles="no_tabs1 
> no_tabs2" includehidden="False" maxdepth="-1" numbered="0" parent="index" 
> rawentries="" titlesonly="False">
> E                <section ids="fruits" names="fruits">
> 
> tests/conftest.py:126: AssertionError
> --------------------------- Captured stdout teardown 
> ---------------------------
> # testroot: root
> # builder: html
> # srcdir: /tmp/pytest-of-user42/pytest-7/conditionalassets-policy
> # outdir: /tmp/pytest-of-user42/pytest-7/conditionalassets-policy/_build/html
> # status: 
> Running Sphinx v7.1.1
> building [mo]: targets for 0 po files that are out of date
> writing output... 
> building [html]: targets for 3 source files that are out of 
> date
> updating environment: [new config] 3 added, 0 changed, 0 
> removed
> reading sources... [ 33%] index
> reading sources... [ 67%] no_tabs1
> reading sources... [100%] no_tabs2
> 
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> copying assets... copying static files... done
> copying extra files... done
> done
> writing output... [ 33%] index
> writing output... [ 67%] no_tabs1
> writing output... [100%] no_tabs2
> 
> generating indices... genindex 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 
> ../../../../../../tmp/pytest-of-user42/pytest-7/conditionalassets-policy/_build/html.
> 
> # warning: 
> 
> _____________ test_conditional_assets_html_assets_policy[no_tabs1] 
> _____________
> 
> app = <SphinxTestApp buildername='html'>, docname = 'no_tabs1'
> status = <_io.StringIO object at 0x7f6f9d642710>
> warning = <_io.StringIO object at 0x7f6f9d643520>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d6c72e0>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d6c7a60>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d797380>
> check_asset_links = <function check_asset_links.<locals>.check at 
> 0x7f6f9d795760>
> 
>     @pytest.mark.noautobuild
>     @pytest.mark.parametrize("docname", ["index", "no_tabs1", "no_tabs2"])
>     @pytest.mark.sphinx(testroot="conditionalassets-policy")
>     def test_conditional_assets_html_assets_policy(
>         app,
>         docname,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         check_asset_links,
>     ):
>         app.set_html_assets_policy("always")
>     
>         # Following lines are copied from ``auto_build_and_check`` since we 
> need to
>         # set a config in the build object before auto build. Because of 
> this, we
>         # need to use ``noautobuild``.
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/test_build.py:48: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_html_a1/test_build/test_conditional_assets_html_assets_policy_no_tabs1_.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_html_a1/test_build/test_conditional_assets_html_assets_policy_no_tabs1_.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_html_a1/test_build/test_conditional_assets_html_assets_policy_no_tabs1_.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <compound classes="toctree-wrapper">
> E                    <toctree caption="True" entries="(None,\ 'no_tabs1') 
> (None,\ 'no_tabs2')" glob="False" hidden="False" includefiles="no_tabs1 
> no_tabs2" includehidden="False" maxdepth="-1" numbered="0" parent="index" 
> rawentries="" titlesonly="False">
> E                <section ids="fruits" names="fruits">
> 
> tests/conftest.py:126: AssertionError
> --------------------------- Captured stdout teardown 
> ---------------------------
> # testroot: root
> # builder: html
> # srcdir: /tmp/pytest-of-user42/pytest-7/conditionalassets-policy
> # outdir: /tmp/pytest-of-user42/pytest-7/conditionalassets-policy/_build/html
> # status: 
> Running Sphinx v7.1.1
> loading pickled environment... done
> building [mo]: targets for 0 po files that are out of date
> writing output... 
> building [html]: targets for 0 source files that are out of 
> date
> updating environment: 0 added, 0 changed, 0 removed
> reading sources... 
> looking for now-outdated files... none found
> no targets are out of date.
> build succeeded.
> 
> The HTML pages are in 
> ../../../../../../tmp/pytest-of-user42/pytest-7/conditionalassets-policy/_build/html.
> 
> # warning: 
> 
> _____________ test_conditional_assets_html_assets_policy[no_tabs2] 
> _____________
> 
> app = <SphinxTestApp buildername='html'>, docname = 'no_tabs2'
> status = <_io.StringIO object at 0x7f6f9d643e20>
> warning = <_io.StringIO object at 0x7f6f9d531090>
> check_build_success = <function check_build_success.<locals>.check at 
> 0x7f6f9d4d2480>
> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 
> 0x7f6f9d4d1f80>
> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read 
> at 0x7f6f9d4d2200>
> check_asset_links = <function check_asset_links.<locals>.check at 
> 0x7f6f9d4d3920>
> 
>     @pytest.mark.noautobuild
>     @pytest.mark.parametrize("docname", ["index", "no_tabs1", "no_tabs2"])
>     @pytest.mark.sphinx(testroot="conditionalassets-policy")
>     def test_conditional_assets_html_assets_policy(
>         app,
>         docname,
>         status,
>         warning,
>         check_build_success,
>         get_sphinx_app_doctree,
>         regress_sphinx_app_output,
>         check_asset_links,
>     ):
>         app.set_html_assets_policy("always")
>     
>         # Following lines are copied from ``auto_build_and_check`` since we 
> need to
>         # set a config in the build object before auto build. Because of 
> this, we
>         # need to use ``noautobuild``.
>         app.build()
>         check_build_success(status, warning)
> >       get_sphinx_app_doctree(app, regress=True)
> 
> tests/test_build.py:48: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <SphinxTestApp buildername='html'>, docname = 'index', resolve = False
> regress = True, replace = None
> 
>     def read(app, docname="index", resolve=False, regress=False, 
> replace=None):
>         if resolve:
>             doctree = app.env.get_and_resolve_doctree(docname, app.builder)
>             extension = ".resolved.xml"
>         else:
>             doctree = app.env.get_doctree(docname)
>             extension = ".xml"
>     
>         # convert absolute filenames
>         for node in doctree.traverse(lambda n: "source" in n):
>             node["source"] = Path(node["source"]).name
>     
>         if regress:
>             text = doctree.pformat()  # type: str
>             for find, rep in (replace or {}).items():
>                 text = text.replace(find, rep)
> >           file_regression.check(text, extension=extension)
> E           AssertionError: FILES DIFFER:
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_html_a2/test_build/test_conditional_assets_html_assets_policy_no_tabs2_.xml
> E           
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_html_a2/test_build/test_conditional_assets_html_assets_policy_no_tabs2_.obtained.xml
> E           HTML DIFF: 
> /tmp/pytest-of-user42/pytest-7/test_conditional_assets_html_a2/test_build/test_conditional_assets_html_assets_policy_no_tabs2_.obtained.diff.html
> E           --- 
> E           +++ 
> E           @@ -1,4 +1,4 @@
> E           -<document source="index.rst">
> E           +<document source="index.rst" translation_progress="{'total': 0, 
> 'translated': 0}">
> E                <compound classes="toctree-wrapper">
> E                    <toctree caption="True" entries="(None,\ 'no_tabs1') 
> (None,\ 'no_tabs2')" glob="False" hidden="False" includefiles="no_tabs1 
> no_tabs2" includehidden="False" maxdepth="-1" numbered="0" parent="index" 
> rawentries="" titlesonly="False">
> E                <section ids="fruits" names="fruits">
> 
> tests/conftest.py:126: AssertionError
> --------------------------- Captured stdout teardown 
> ---------------------------
> # testroot: root
> # builder: html
> # srcdir: /tmp/pytest-of-user42/pytest-7/conditionalassets-policy
> # outdir: /tmp/pytest-of-user42/pytest-7/conditionalassets-policy/_build/html
> # status: 
> Running Sphinx v7.1.1
> loading pickled environment... done
> building [mo]: targets for 0 po files that are out of date
> writing output... 
> building [html]: targets for 0 source files that are out of 
> date
> updating environment: 0 added, 0 changed, 0 removed
> reading sources... 
> looking for now-outdated files... none found
> no targets are out of date.
> build succeeded.
> 
> The HTML pages are in 
> ../../../../../../tmp/pytest-of-user42/pytest-7/conditionalassets-policy/_build/html.
> 
> # warning: 
> 
> =============================== warnings summary 
> ===============================
> sphinx_tabs/__init__.py:3
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build/sphinx_tabs/__init__.py:3:
>  DeprecationWarning: pkg_resources is deprecated as an API. See 
> https://setuptools.pypa.io/en/latest/pkg_resources.html
>     __import__("pkg_resources").declare_namespace(__name__)
> 
> sphinx_tabs/__init__.py:3
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build/sphinx_tabs/__init__.py:3:
>  DeprecationWarning: Deprecated call to 
> `pkg_resources.declare_namespace('sphinx_tabs')`.
>   Implementing implicit namespace packages (as specified in PEP 420) is 
> preferred to `pkg_resources.declare_namespace`. See 
> https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
>     __import__("pkg_resources").declare_namespace(__name__)
> 
> ../../../../../../usr/lib/python3/dist-packages/babel/messages/catalog.py:13
>   /usr/lib/python3/dist-packages/babel/messages/catalog.py:13: 
> DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
>     from cgi import parse_header
> 
> .pybuild/cpython3_3.11_sphinx-tabs/build/tests/test_build.py: 13 warnings
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build/tests/conftest.py:119:
>  PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by 
> Node.findall().
>     for node in doctree.traverse(lambda n: "source" in n):
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info 
> ============================
> FAILED tests/test_build.py::test_conditional_assets_html_assets_policy[index]
> FAILED 
> tests/test_build.py::test_conditional_assets_html_assets_policy[no_tabs1]
> FAILED 
> tests/test_build.py::test_conditional_assets_html_assets_policy[no_tabs2]
> ERROR tests/test_build.py::test_basic - AssertionError: FILES DIFFER:
> ERROR tests/test_build.py::test_no_tabs - AssertionError: FILES DIFFER:
> ERROR tests/test_build.py::test_conditional_assets[index] - AssertionError: 
> F...
> ERROR tests/test_build.py::test_conditional_assets[no_tabs1] - 
> AssertionError...
> ERROR tests/test_build.py::test_conditional_assets[no_tabs2] - 
> AssertionError...
> ERROR tests/test_build.py::test_other_with_assets - AssertionError: FILES 
> DIF...
> ERROR tests/test_build.py::test_nested_markup - AssertionError: FILES DIFFER:
> ERROR tests/test_build.py::test_custom_lexer - AssertionError: FILES DIFFER:
> ERROR tests/test_build.py::test_disable_closing - AssertionError: FILES 
> DIFFER:
> ERROR tests/test_build.py::test_disable_css_loading - AssertionError: FILES 
> D...
> =========== 3 failed, 1 deselected, 16 warnings, 10 errors in 2.06s 
> ============
> E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_sphinx-tabs/build; python3.11 -m 
> pytest -k 'not test_rinohtype_pdf'
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 
> returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/07/30/exp/sphinx-tabs_3.4.1-1_unstable_sphinx-exp.log

Please see [1] for Sphinx changelog and [2] for Docutils changelog.

Also see [3] for the list of deprecated/removed APIs in Sphinx and possible
alternatives to them.

Some notable changes in Sphinx 6 and Sphinx 7:

- Sphinx no longer includes jquery.js and underscore.js by default.
  Please use python3-sphinxcontrib.jquery package if you are using a custom
  template and it still needs jquery.

- The setup.py build_sphinx command was removed. Please instead call
  sphinx-build or "python3 -m sphinx" directly.

- For packages using the extlinks extension, the caption should contain
  exactly one "%s" placeholder (if caption is not None).

In case you have questions, please Cc sph...@packages.debian.org on reply.

[1]: https://www.sphinx-doc.org/en/master/changes.html
[2]: 
https://repo.or.cz/docutils.git/blob/refs/tags/docutils-0.20.1:/RELEASE-NOTES.txt
[3]: 
https://www.sphinx-doc.org/en/master/extdev/deprecated.html#dev-deprecated-apis

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=sphinx7.1;users=python-modules-t...@lists.alioth.debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=sphinx7.1&fusertaguser=python-modules-t...@lists.alioth.debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

Reply via email to