-
Notifications
You must be signed in to change notification settings - Fork 72
Closed
Labels
Description
Describe the problem
Hello,
in Fedora, we want to update Pygments to 2.10, but we see some test failures in sphinx-tabs.
Link to your repository or website
No response
Steps to reproduce
First, I've edited tox.ini to add py39.
$ tox -e py39-sphinx4
GLOB sdist-make: .../sphinx-tabs/setup.py
py39-sphinx4 inst-nodeps: .../sphinx-tabs/.tox/.tmp/package/1/sphinx-tabs-3.2.0.zip
py39-sphinx4 installed: alabaster==0.7.12,appdirs==1.4.4,atomicwrites==1.4.0,attrs==21.2.0,Babel==2.9.1,beautifulsoup4==4.9.3,bs4==0.0.1,certifi==2021.5.30,charset-normalizer==2.0.4,commonmark==0.9.1,coverage==5.5,docutils==0.16,idna==3.2,imagesize==1.2.0,Jinja2==3.0.1,MarkupSafe==2.0.1,more-itertools==8.8.0,packaging==21.0,pluggy==0.13.1,py==1.10.0,Pygments==2.10.0,pyparsing==2.4.7,pytest==3.10.1,pytest-cov==2.9.0,pytest-datadir==1.3.1,pytest-regressions==2.2.0,pytz==2021.1,PyYAML==5.4.1,recommonmark==0.7.1,requests==2.26.0,rinoh-typeface-dejavuserif==0.1.3,rinoh-typeface-texgyrecursor==0.1.1,rinoh-typeface-texgyreheros==0.1.1,rinoh-typeface-texgyrepagella==0.1.1,rinohtype==0.5.3,six==1.16.0,snowballstemmer==2.1.0,soupsieve==2.2.1,Sphinx==4.1.2,sphinx-tabs @ file://.../sphinx-tabs/.tox/.tmp/package/1/sphinx-tabs-3.2.0.zip,sphinx-testing==1.0.1,sphinxcontrib-applehelp==1.0.2,sphinxcontrib-devhelp==1.0.2,sphinxcontrib-htmlhelp==2.0.0,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-qthelp==1.0.3,sphinxcontrib-serializinghtml==1.1.5,urllib3==1.26.6
py39-sphinx4 run-test-pre: PYTHONHASHSEED='3917563027'
py39-sphinx4 run-test: commands[0] | pytest
============================= test session starts ==============================
platform linux -- Python 3.9.6, pytest-3.10.1, py-1.10.0, pluggy-0.13.1
rootdir: .../sphinx-tabs, inifile:
plugins: datadir-1.3.1, cov-2.9.0, regressions-2.2.0
collected 15 items
tests/test_build.py ..EEE.FFsE..... [100%]
==================================== ERRORS ====================================
_______________ ERROR at setup of test_conditional_assets[index] _______________
app = <SphinxTestApp buildername='html'>
status = <_io.StringIO object at 0x7f8ebb916430>
warning = <_io.StringIO object at 0x7f8ebb916f70>
check_build_success = <function check_build_success.<locals>.check at 0x7f8ebb8b34c0>
get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 0x7f8ebb8b31f0>
regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read at 0x7f8ebb8b3040>
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)
> regress_sphinx_app_output(app)
tests/conftest.py:38:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
app = <SphinxTestApp buildername='html'>, buildername = 'html'
filename = 'index.html', encoding = 'utf-8', replace = None
def read(
app, buildername="html", filename="index.html", encoding="utf-8", replace=None
):
content = get_sphinx_app_output(app, buildername, filename, encoding)
if buildername == "html":
soup = BeautifulSoup(content, "html.parser")
doc_div = soup.findAll("div", {"class": "documentwrapper"})[0]
doc = doc_div.prettify()
for find, rep in (replace or {}).items():
doc = text.replace(find, rep)
else:
doc = content
> file_regression.check(
doc, extension="." + filename.split(".")[-1], encoding="utf8"
)
E AssertionError: FILES DIFFER:
E /tmp/pytest-of-churchyard/pytest-12/test_conditional_assets_index_0/test_build/test_conditional_assets_index_.html
E /tmp/pytest-of-churchyard/pytest-12/test_conditional_assets_index_0/test_build/test_conditional_assets_index_.obtained.html
E HTML DIFF: /tmp/pytest-of-churchyard/pytest-12/test_conditional_assets_index_0/test_build/test_conditional_assets_index_.obtained.diff.html
E ---
E +++
E @@ -110,7 +110,7 @@
E <div aria-labelledby="tab-2-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-2-Qw==" name="Qw==" role="tabpanel" tabindex="0">
E <div class="highlight-c notranslate">
E <div class="highlight">
E - <pre><span></span><span class="n">C</span> <span class="n">Main</span> <span class="n">Function</span>
E + <pre><span></span><span class="n">C</span><span class="w"> </span><span class="n">Main</span><span class="w"> </span><span class="n">Function</span><span class="w"></span>
E </pre>
E </div>
E </div>
E @@ -118,7 +118,7 @@
E <div aria-labelledby="tab-2-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-Qysr" name="Qysr" role="tabpanel" tabindex="0">
E <div class="highlight-c++ notranslate">
E <div class="highlight">
E - <pre><span></span><span class="n">C</span><span class="o">++</span> <span class="n">Main</span> <span class="n">Function</span>
E + <pre><span></span><span class="n">C</span><span class="o">++</span><span class="w"> </span><span class="n">Main</span><span class="w"> </span><span class="n">Function</span><span class="w"></span>
E </pre>
E </div>
E </div>
E @@ -180,9 +180,9 @@
E <div aria-labelledby="tab-3-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-3-Qw==" name="Qw==" role="tabpanel" tabindex="0">
E <div class="highlight-c notranslate">
E <div class="highlight">
E - <pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
E - <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
E -<span class="p">}</span>
E + <pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">argc</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="n">argv</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
E +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span>
E +<span class="p">}</span><span class="w"></span>
E </pre>
E </div>
E </div>
E @@ -190,9 +190,9 @@
E <div aria-labelledby="tab-3-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-Qysr" name="Qysr" role="tabpanel" tabindex="0">
E <div class="highlight-c++ notranslate">
E <div class="highlight">
E - <pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
E - <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
E -<span class="p">}</span>
E + <pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">argc</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="n">argv</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
E +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span>
E +<span class="p">}</span><span class="w"></span>
E </pre>
E </div>
E </div>
tests/conftest.py:91: AssertionError
_____________ ERROR at setup of test_conditional_assets[no_tabs1] ______________
app = <SphinxTestApp buildername='html'>
status = <_io.StringIO object at 0x7f8ebb8fc160>
warning = <_io.StringIO object at 0x7f8ebb8fc4c0>
check_build_success = <function check_build_success.<locals>.check at 0x7f8ebb9d5820>
get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 0x7f8ebb9d5700>
regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read at 0x7f8ebb9d55e0>
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)
> regress_sphinx_app_output(app)
tests/conftest.py:38:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
app = <SphinxTestApp buildername='html'>, buildername = 'html'
filename = 'index.html', encoding = 'utf-8', replace = None
def read(
app, buildername="html", filename="index.html", encoding="utf-8", replace=None
):
content = get_sphinx_app_output(app, buildername, filename, encoding)
if buildername == "html":
soup = BeautifulSoup(content, "html.parser")
doc_div = soup.findAll("div", {"class": "documentwrapper"})[0]
doc = doc_div.prettify()
for find, rep in (replace or {}).items():
doc = text.replace(find, rep)
else:
doc = content
> file_regression.check(
doc, extension="." + filename.split(".")[-1], encoding="utf8"
)
E AssertionError: FILES DIFFER:
E /tmp/pytest-of-churchyard/pytest-12/test_conditional_assets_no_tab0/test_build/test_conditional_assets_no_tabs1_.html
E /tmp/pytest-of-churchyard/pytest-12/test_conditional_assets_no_tab0/test_build/test_conditional_assets_no_tabs1_.obtained.html
E HTML DIFF: /tmp/pytest-of-churchyard/pytest-12/test_conditional_assets_no_tab0/test_build/test_conditional_assets_no_tabs1_.obtained.diff.html
E ---
E +++
E @@ -110,7 +110,7 @@
E <div aria-labelledby="tab-2-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-2-Qw==" name="Qw==" role="tabpanel" tabindex="0">
E <div class="highlight-c notranslate">
E <div class="highlight">
E - <pre><span></span><span class="n">C</span> <span class="n">Main</span> <span class="n">Function</span>
E + <pre><span></span><span class="n">C</span><span class="w"> </span><span class="n">Main</span><span class="w"> </span><span class="n">Function</span><span class="w"></span>
E </pre>
E </div>
E </div>
E @@ -118,7 +118,7 @@
E <div aria-labelledby="tab-2-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-Qysr" name="Qysr" role="tabpanel" tabindex="0">
E <div class="highlight-c++ notranslate">
E <div class="highlight">
E - <pre><span></span><span class="n">C</span><span class="o">++</span> <span class="n">Main</span> <span class="n">Function</span>
E + <pre><span></span><span class="n">C</span><span class="o">++</span><span class="w"> </span><span class="n">Main</span><span class="w"> </span><span class="n">Function</span><span class="w"></span>
E </pre>
E </div>
E </div>
E @@ -180,9 +180,9 @@
E <div aria-labelledby="tab-3-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-3-Qw==" name="Qw==" role="tabpanel" tabindex="0">
E <div class="highlight-c notranslate">
E <div class="highlight">
E - <pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
E - <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
E -<span class="p">}</span>
E + <pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">argc</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="n">argv</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
E +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span>
E +<span class="p">}</span><span class="w"></span>
E </pre>
E </div>
E </div>
E @@ -190,9 +190,9 @@
E <div aria-labelledby="tab-3-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-Qysr" name="Qysr" role="tabpanel" tabindex="0">
E <div class="highlight-c++ notranslate">
E <div class="highlight">
E - <pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
E - <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
E -<span class="p">}</span>
E + <pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">argc</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="n">argv</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
E +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span>
E +<span class="p">}</span><span class="w"></span>
E </pre>
E </div>
E </div>
tests/conftest.py:91: AssertionError
_____________ ERROR at setup of test_conditional_assets[no_tabs2] ______________
app = <SphinxTestApp buildername='html'>
status = <_io.StringIO object at 0x7f8ebc01c160>
warning = <_io.StringIO object at 0x7f8ebc090550>
check_build_success = <function check_build_success.<locals>.check at 0x7f8ebba39ca0>
get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 0x7f8ebba39f70>
regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read at 0x7f8ebba398b0>
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)
> regress_sphinx_app_output(app)
tests/conftest.py:38:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
app = <SphinxTestApp buildername='html'>, buildername = 'html'
filename = 'index.html', encoding = 'utf-8', replace = None
def read(
app, buildername="html", filename="index.html", encoding="utf-8", replace=None
):
content = get_sphinx_app_output(app, buildername, filename, encoding)
if buildername == "html":
soup = BeautifulSoup(content, "html.parser")
doc_div = soup.findAll("div", {"class": "documentwrapper"})[0]
doc = doc_div.prettify()
for find, rep in (replace or {}).items():
doc = text.replace(find, rep)
else:
doc = content
> file_regression.check(
doc, extension="." + filename.split(".")[-1], encoding="utf8"
)
E AssertionError: FILES DIFFER:
E /tmp/pytest-of-churchyard/pytest-12/test_conditional_assets_no_tab1/test_build/test_conditional_assets_no_tabs2_.html
E /tmp/pytest-of-churchyard/pytest-12/test_conditional_assets_no_tab1/test_build/test_conditional_assets_no_tabs2_.obtained.html
E HTML DIFF: /tmp/pytest-of-churchyard/pytest-12/test_conditional_assets_no_tab1/test_build/test_conditional_assets_no_tabs2_.obtained.diff.html
E ---
E +++
E @@ -110,7 +110,7 @@
E <div aria-labelledby="tab-2-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-2-Qw==" name="Qw==" role="tabpanel" tabindex="0">
E <div class="highlight-c notranslate">
E <div class="highlight">
E - <pre><span></span><span class="n">C</span> <span class="n">Main</span> <span class="n">Function</span>
E + <pre><span></span><span class="n">C</span><span class="w"> </span><span class="n">Main</span><span class="w"> </span><span class="n">Function</span><span class="w"></span>
E </pre>
E </div>
E </div>
E @@ -118,7 +118,7 @@
E <div aria-labelledby="tab-2-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-Qysr" name="Qysr" role="tabpanel" tabindex="0">
E <div class="highlight-c++ notranslate">
E <div class="highlight">
E - <pre><span></span><span class="n">C</span><span class="o">++</span> <span class="n">Main</span> <span class="n">Function</span>
E + <pre><span></span><span class="n">C</span><span class="o">++</span><span class="w"> </span><span class="n">Main</span><span class="w"> </span><span class="n">Function</span><span class="w"></span>
E </pre>
E </div>
E </div>
E @@ -180,9 +180,9 @@
E <div aria-labelledby="tab-3-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-3-Qw==" name="Qw==" role="tabpanel" tabindex="0">
E <div class="highlight-c notranslate">
E <div class="highlight">
E - <pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
E - <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
E -<span class="p">}</span>
E + <pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">argc</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="n">argv</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
E +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span>
E +<span class="p">}</span><span class="w"></span>
E </pre>
E </div>
E </div>
E @@ -190,9 +190,9 @@
E <div aria-labelledby="tab-3-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-Qysr" name="Qysr" role="tabpanel" tabindex="0">
E <div class="highlight-c++ notranslate">
E <div class="highlight">
E - <pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
E - <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
E -<span class="p">}</span>
E + <pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">argc</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="n">argv</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
E +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span>
E +<span class="p">}</span><span class="w"></span>
E </pre>
E </div>
E </div>
tests/conftest.py:91: AssertionError
______________ ERROR at setup of test_other_with_assets_new_style ______________
app = <SphinxTestApp buildername='html'>
status = <_io.StringIO object at 0x7f8ebb548040>
warning = <_io.StringIO object at 0x7f8ebb5480d0>
check_build_success = <function check_build_success.<locals>.check at 0x7f8ebb548dc0>
get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 0x7f8ebb548ee0>
regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read at 0x7f8ebb575040>
request = <SubRequest 'auto_build_and_check' for <Function 'test_other_with_assets_new_style'>>
@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)
> regress_sphinx_app_output(app)
tests/conftest.py:38:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
app = <SphinxTestApp buildername='html'>, buildername = 'html'
filename = 'index.html', encoding = 'utf-8', replace = None
def read(
app, buildername="html", filename="index.html", encoding="utf-8", replace=None
):
content = get_sphinx_app_output(app, buildername, filename, encoding)
if buildername == "html":
soup = BeautifulSoup(content, "html.parser")
doc_div = soup.findAll("div", {"class": "documentwrapper"})[0]
doc = doc_div.prettify()
for find, rep in (replace or {}).items():
doc = text.replace(find, rep)
else:
doc = content
> file_regression.check(
doc, extension="." + filename.split(".")[-1], encoding="utf8"
)
E AssertionError: FILES DIFFER:
E /tmp/pytest-of-churchyard/pytest-12/test_other_with_assets_new_sty0/test_build/test_other_with_assets_new_style.html
E /tmp/pytest-of-churchyard/pytest-12/test_other_with_assets_new_sty0/test_build/test_other_with_assets_new_style.obtained.html
E HTML DIFF: /tmp/pytest-of-churchyard/pytest-12/test_other_with_assets_new_sty0/test_build/test_other_with_assets_new_style.obtained.diff.html
E ---
E +++
E @@ -13,7 +13,7 @@
E <div aria-labelledby="tab-0-Qysr" class="sphinx-tabs-panel code-tab group-tab" id="panel-0-Qysr" name="Qysr" role="tabpanel" tabindex="0">
E <div class="highlight-c++ notranslate">
E <div class="highlight">
E - <pre><span></span><span class="linenos">1</span><span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"hello world"</span> <span class="o"><<</span> <span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span>
E + <pre><span></span><span class="linenos">1</span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"hello world"</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span><span class="w"></span>
E </pre>
E </div>
E </div>
tests/conftest.py:91: AssertionError
=================================== FAILURES ===================================
_____________ test_conditional_assets_html_assets_policy[no_tabs1] _____________
app = <SphinxTestApp buildername='html'>, docname = 'no_tabs1'
status = <_io.StringIO object at 0x7f8ebb75adc0>
warning = <_io.StringIO object at 0x7f8ebbcaf160>
check_build_success = <function check_build_success.<locals>.check at 0x7f8ebb51f1f0>
get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 0x7f8ebb75ae50>
regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read at 0x7f8ebb75aca0>
check_asset_links = <function check_asset_links.<locals>.check at 0x7f8ebb75aaf0>
@pytest.mark.noautobuild
@pytest.mark.parametrize("docname", ["index", "no_tabs1", "no_tabs2"])
@pytest.mark.sphinx(testroot="conditionalassets")
@pytest.mark.skipif(
sphinx.version_info[:2] < (4, 1), reason="Test uses Sphinx 4.1 config"
)
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)
regress_sphinx_app_output(app)
> check_asset_links(app, filename=docname + ".html")
tests/test_build.py:54:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
app = <SphinxTestApp buildername='html'>, buildername = 'html'
filename = 'no_tabs1.html', encoding = 'utf-8', cssPresent = True
jsPresent = True
def check(
app,
buildername="html",
filename="index.html",
encoding="utf-8",
cssPresent=True,
jsPresent=True,
):
content = get_sphinx_app_output(app, buildername, filename, encoding)
css_assets = [f for f in FILES if f.endswith(".css")]
js_assets = [f for f in FILES if f.endswith(".js")]
soup = BeautifulSoup(content, "html.parser")
stylesheets = soup.find_all("link", {"rel": "stylesheet"}, href=True)
css_refs = [s["href"] for s in stylesheets]
scripts = soup.find_all("script", src=True)
js_refs = [s["src"] for s in scripts]
all_refs = css_refs + js_refs
if cssPresent:
css_present = all(any(a in ref for ref in all_refs) for a in css_assets)
assert css_present
else:
assert not "sphinx_tabs" in css_refs
if jsPresent:
js_present = all(any(a in ref for ref in js_refs) for a in js_assets)
> assert js_present
E assert False
tests/conftest.py:161: AssertionError
--------------------------- Captured stdout teardown ---------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-churchyard/pytest-12/conditionalassets
# outdir: /tmp/pytest-of-churchyard/pytest-12/conditionalassets/_build/html
# status:
Running Sphinx v4.1.2
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 0 source files that are out of date
updating environment: 0 added, 0 changed, 0 removed
looking for now-outdated files... none found
no targets are out of date.
build succeeded.
The HTML pages are in ../../../../../tmp/pytest-of-churchyard/pytest-12/conditionalassets/_build/html.
# warning:
_____________ test_conditional_assets_html_assets_policy[no_tabs2] _____________
app = <SphinxTestApp buildername='html'>, docname = 'no_tabs2'
status = <_io.StringIO object at 0x7f8ebb9740d0>
warning = <_io.StringIO object at 0x7f8ebb9741f0>
check_build_success = <function check_build_success.<locals>.check at 0x7f8ebb51f940>
get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 0x7f8ebb51fa60>
regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read at 0x7f8ebb51fb80>
check_asset_links = <function check_asset_links.<locals>.check at 0x7f8ebb51fc10>
@pytest.mark.noautobuild
@pytest.mark.parametrize("docname", ["index", "no_tabs1", "no_tabs2"])
@pytest.mark.sphinx(testroot="conditionalassets")
@pytest.mark.skipif(
sphinx.version_info[:2] < (4, 1), reason="Test uses Sphinx 4.1 config"
)
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)
regress_sphinx_app_output(app)
> check_asset_links(app, filename=docname + ".html")
tests/test_build.py:54:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
app = <SphinxTestApp buildername='html'>, buildername = 'html'
filename = 'no_tabs2.html', encoding = 'utf-8', cssPresent = True
jsPresent = True
def check(
app,
buildername="html",
filename="index.html",
encoding="utf-8",
cssPresent=True,
jsPresent=True,
):
content = get_sphinx_app_output(app, buildername, filename, encoding)
css_assets = [f for f in FILES if f.endswith(".css")]
js_assets = [f for f in FILES if f.endswith(".js")]
soup = BeautifulSoup(content, "html.parser")
stylesheets = soup.find_all("link", {"rel": "stylesheet"}, href=True)
css_refs = [s["href"] for s in stylesheets]
scripts = soup.find_all("script", src=True)
js_refs = [s["src"] for s in scripts]
all_refs = css_refs + js_refs
if cssPresent:
css_present = all(any(a in ref for ref in all_refs) for a in css_assets)
assert css_present
else:
assert not "sphinx_tabs" in css_refs
if jsPresent:
js_present = all(any(a in ref for ref in js_refs) for a in js_assets)
> assert js_present
E assert False
tests/conftest.py:161: AssertionError
--------------------------- Captured stdout teardown ---------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-churchyard/pytest-12/conditionalassets
# outdir: /tmp/pytest-of-churchyard/pytest-12/conditionalassets/_build/html
# status:
Running Sphinx v4.1.2
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 0 source files that are out of date
updating environment: 0 added, 0 changed, 0 removed
looking for now-outdated files... none found
no targets are out of date.
build succeeded.
The HTML pages are in ../../../../../tmp/pytest-of-churchyard/pytest-12/conditionalassets/_build/html.
# warning:
============ 2 failed, 8 passed, 1 skipped, 4 error in 4.75 seconds ============
ERROR: InvocationError for command .../sphinx-tabs/.tox/py39-sphinx4/bin/pytest (exited with code 1)
___________________________________ summary ____________________________________
ERROR: py39-sphinx4: commands failed
The version of Python you're using
3.9.6, 3.10.0rc1
Your operating system
Fedora Linux 33-36
Versions of your packages
Package Version
----------------------------- ---------
alabaster 0.7.12
appdirs 1.4.4
atomicwrites 1.4.0
attrs 21.2.0
Babel 2.9.1
beautifulsoup4 4.9.3
bs4 0.0.1
certifi 2021.5.30
charset-normalizer 2.0.4
commonmark 0.9.1
coverage 5.5
docutils 0.16
idna 3.2
imagesize 1.2.0
Jinja2 3.0.1
MarkupSafe 2.0.1
more-itertools 8.8.0
packaging 21.0
pip 21.1.1
pluggy 0.13.1
py 1.10.0
Pygments 2.10.0
pyparsing 2.4.7
pytest 3.10.1
pytest-cov 2.9.0
pytest-datadir 1.3.1
pytest-regressions 2.2.0
pytz 2021.1
PyYAML 5.4.1
recommonmark 0.7.1
requests 2.26.0
rinoh-typeface-dejavuserif 0.1.3
rinoh-typeface-texgyrecursor 0.1.1
rinoh-typeface-texgyreheros 0.1.1
rinoh-typeface-texgyrepagella 0.1.1
rinohtype 0.5.3
setuptools 56.1.0
six 1.16.0
snowballstemmer 2.1.0
soupsieve 2.2.1
Sphinx 4.1.2
sphinx-tabs 3.2.0
sphinx-testing 1.0.1
sphinxcontrib-applehelp 1.0.2
sphinxcontrib-devhelp 1.0.2
sphinxcontrib-htmlhelp 2.0.0
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.3
sphinxcontrib-serializinghtml 1.1.5
urllib3 1.26.6
wheel 0.36.2
Additional context
No response
Reactions are currently unavailable