Skip to content

0.9.0.post1: pytest is failing #71

@kloczek

Description

@kloczek

I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w --no-isolation
  • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
  • install .whl file in </install/prefix>
  • run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

On first looks looks like `enum_tools needs to be adapoed for latest sphix.
Here is pytest output:

Details
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-enum-tools-0.9.0.post1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-enum-tools-0.9.0.post1-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.14, pytest-7.1.3, pluggy-1.0.0
Test session started at 10:09:12
rootdir: /home/tkloczko/rpmbuild/BUILD/enum_tools-0.9.0.post1, configfile: tox.ini
plugins: datadir-1.3.1, regressions-2.4.1, timeout-2.1.0
timeout: 300.0s
timeout method: signal
timeout func_only: False
collected 69 items

tests/test_autoenum.py .........FFF                                                                                                                                  [ 17%]
tests/test_documented_enum.py ..............................                                                                                                         [ 60%]
tests/test_enums.py ........                                                                                                                                         [ 72%]
tests/test_utils.py ...................                                                                                                                              [100%]

================================================================================= FAILURES =================================================================================
__________________________________________________________________________ test_index[index.html] __________________________________________________________________________

page = <!DOCTYPE html>
<html lang="en"><head>
    <meta charset="utf-8"/>
    <meta content="width=device-width, initial-scal...
        </div>
      </div>

      <div class="clearer"></div>
    </div>






</body></html>
html_regression = <sphinx_toolbox.testing.HTMLRegressionFixture object at 0x7ff5773d0430>

    @pytest.mark.parametrize(
                "page", [
                                "index.html",
                                ], indirect=True
                )
    def test_index(page: BeautifulSoup, html_regression: HTMLRegressionFixture):
        # Make sure the page title is what you expect
        title = page.find("h1").contents[0].strip()
        assert "autoenum Demo" == title

        preprocess_soup(page)

>       html_regression.check(page, jinja2=True)
E    AssertionError: FILES DIFFER:
E    /tmp/pytest-of-tkloczko/pytest-48/test_index_index_html_0/test_autoenum_/test_index_index_html_.html
E    /tmp/pytest-of-tkloczko/pytest-48/test_index_index_html_0/test_autoenum_/test_index_index_html_.obtained.html
E    HTML DIFF: /tmp/pytest-of-tkloczko/pytest-48/test_index_index_html_0/test_autoenum_/test_index_index_html_.obtained.diff.html
E    ---
E    +++
E    @@ -1,8 +1,9 @@
E     <!DOCTYPE html>
E    -<html>
E    +<html lang="en">
E      <head>
E       <meta charset="utf-8"/>
E       <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
E    +  <meta content="Docutils 0.18.1: http://docutils.sourceforge.net/" name="generator"/>
E       <title>
E        autoenum Demo — Python  documentation
E       </title>
E    @@ -11,6 +12,8 @@
E       <script src="_static/jquery.js">
E       </script>
E       <script src="_static/underscore.js">
E    +  </script>
E    +  <script src="_static/_sphinx_javascript_frameworks_compat.js">
E       </script>
E       <script src="_static/doctools.js">
E       </script>
E    @@ -21,12 +24,12 @@
E        <div class="documentwrapper">
E         <div class="bodywrapper">
E          <div class="body" role="main">
E    -      <div class="section" id="module-enum_tools.demo">
E    +      <section id="module-enum_tools.demo">
E            <span id="autoenum-demo">
E            </span>
E            <h1>
E             autoenum Demo
E    -        <a class="headerlink" href="#module-enum_tools.demo" title="Permalink to this headline">
E    +        <a class="headerlink" href="#module-enum_tools.demo" title="Permalink to this heading">
E              ¶
E             </a>
E            </h1>
E    @@ -63,6 +66,9 @@
E              <dl class="field-list simple">
E               <dt class="field-odd">
E                Member Type
E    +           <span class="colon">
E    +            :
E    +           </span>
E               </dt>
E               <dd class="field-odd">
E                <p>
E    @@ -241,6 +247,9 @@
E              <dl class="field-list simple">
E               <dt class="field-odd">
E                Member Type
E    +           <span class="colon">
E    +            :
E    +           </span>
E               </dt>
E               <dd class="field-odd">
E                <p>
E    @@ -330,7 +339,7 @@
E              </code>
E             </a>
E            </p>
E    -      </div>
E    +      </section>
E          </div>
E         </div>
E        </div>

tests/test_autoenum.py:97: AssertionError
------------------------------------------------------------------------- Captured stdout teardown -------------------------------------------------------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-tkloczko/pytest-48/root
# outdir: /tmp/pytest-of-tkloczko/pytest-48/root/_build/html
# status:
Running Sphinx v5.1.1
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-tkloczko/pytest-48/root/_build/html.

# warning:

___________________________________________________________________________ test_flag[flag.html] ___________________________________________________________________________

page = <!DOCTYPE html>
<html lang="en"><head>
    <meta charset="utf-8"/>
    <meta content="width=device-width, initial-scal...
        </div>
      </div>

      <div class="clearer"></div>
    </div>






</body></html>
html_regression = <sphinx_toolbox.testing.HTMLRegressionFixture object at 0x7ff577162340>

    @pytest.mark.parametrize(
                "page", [
                                "flag.html",
                                ], indirect=True
                )
    def test_flag(page: BeautifulSoup, html_regression: HTMLRegressionFixture):
        # Make sure the page title is what you expect
        title = page.find("h1").contents[0].strip()
        assert "autoenum Demo - Flag" == title

        preprocess_soup(page)

>       html_regression.check(page, jinja2=True)
E    AssertionError: FILES DIFFER:
E    /tmp/pytest-of-tkloczko/pytest-48/test_flag_flag_html_0/test_autoenum_/test_flag_flag_html_.html
E    /tmp/pytest-of-tkloczko/pytest-48/test_flag_flag_html_0/test_autoenum_/test_flag_flag_html_.obtained.html
E    HTML DIFF: /tmp/pytest-of-tkloczko/pytest-48/test_flag_flag_html_0/test_autoenum_/test_flag_flag_html_.obtained.diff.html
E    ---
E    +++
E    @@ -1,8 +1,9 @@
E     <!DOCTYPE html>
E    -<html>
E    +<html lang="en">
E      <head>
E       <meta charset="utf-8"/>
E       <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
E    +  <meta content="Docutils 0.18.1: http://docutils.sourceforge.net/" name="generator"/>
E       <title>
E        autoenum Demo - Flag — Python  documentation
E       </title>
E    @@ -11,6 +12,8 @@
E       <script src="_static/jquery.js">
E       </script>
E       <script src="_static/underscore.js">
E    +  </script>
E    +  <script src="_static/_sphinx_javascript_frameworks_compat.js">
E       </script>
E       <script src="_static/doctools.js">
E       </script>
E    @@ -21,10 +24,10 @@
E        <div class="documentwrapper">
E         <div class="bodywrapper">
E          <div class="body" role="main">
E    -      <div class="section" id="autoenum-demo-flag">
E    +      <section id="autoenum-demo-flag">
E            <h1>
E             autoenum Demo - Flag
E    -        <a class="headerlink" href="#autoenum-demo-flag" title="Permalink to this headline">
E    +        <a class="headerlink" href="#autoenum-demo-flag" title="Permalink to this heading">
E              ¶
E             </a>
E            </h1>
E    @@ -61,6 +64,9 @@
E              <dl class="field-list simple">
E               <dt class="field-odd">
E                Member Type
E    +           <span class="colon">
E    +            :
E    +           </span>
E               </dt>
E               <dd class="field-odd">
E                <p>
E    @@ -193,6 +199,9 @@
E              <dl class="field-list simple">
E               <dt class="field-odd">
E                Member Type
E    +           <span class="colon">
E    +            :
E    +           </span>
E               </dt>
E               <dd class="field-odd">
E                <p>
E    @@ -290,7 +299,7 @@
E              </dl>
E             </dd>
E            </dl>
E    -      </div>
E    +      </section>
E          </div>
E         </div>
E        </div>

tests/test_autoenum.py:195: AssertionError
------------------------------------------------------------------------- Captured stdout teardown -------------------------------------------------------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-tkloczko/pytest-48/root
# outdir: /tmp/pytest-of-tkloczko/pytest-48/root/_build/html
# status:
Running Sphinx v5.1.1
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-tkloczko/pytest-48/root/_build/html.

# warning:

__________________________________________________________________ test_no_member_doc[no-member-doc.html] __________________________________________________________________

page = <!DOCTYPE html>
<html lang="en"><head>
    <meta charset="utf-8"/>
    <meta content="width=device-width, initial-scal...
        </div>
      </div>

      <div class="clearer"></div>
    </div>






</body></html>
html_regression = <sphinx_toolbox.testing.HTMLRegressionFixture object at 0x7ff5770e71c0>

    @pytest.mark.parametrize(
                "page", [
                                "no-member-doc.html",
                                ], indirect=True
                )
    def test_no_member_doc(page: BeautifulSoup, html_regression: HTMLRegressionFixture):
        # Make sure the page title is what you expect
        title = page.find("h1").contents[0].strip()
        assert "autoenum Demo - Members without docstrings" == title

        preprocess_soup(page)

>       html_regression.check(page, jinja2=True)
E    AssertionError: FILES DIFFER:
E    /tmp/pytest-of-tkloczko/pytest-48/test_no_member_doc_no_member_d0/test_autoenum_/test_no_member_doc_no_member_doc_html_.html
E    /tmp/pytest-of-tkloczko/pytest-48/test_no_member_doc_no_member_d0/test_autoenum_/test_no_member_doc_no_member_doc_html_.obtained.html
E    HTML DIFF: /tmp/pytest-of-tkloczko/pytest-48/test_no_member_doc_no_member_d0/test_autoenum_/test_no_member_doc_no_member_doc_html_.obtained.diff.html
E    ---
E    +++
E    @@ -1,8 +1,9 @@
E     <!DOCTYPE html>
E    -<html>
E    +<html lang="en">
E      <head>
E       <meta charset="utf-8"/>
E       <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
E    +  <meta content="Docutils 0.18.1: http://docutils.sourceforge.net/" name="generator"/>
E       <title>
E        autoenum Demo - Members without docstrings — Python  documentation
E       </title>
E    @@ -11,6 +12,8 @@
E       <script src="_static/jquery.js">
E       </script>
E       <script src="_static/underscore.js">
E    +  </script>
E    +  <script src="_static/_sphinx_javascript_frameworks_compat.js">
E       </script>
E       <script src="_static/doctools.js">
E       </script>
E    @@ -21,10 +24,10 @@
E        <div class="documentwrapper">
E         <div class="bodywrapper">
E          <div class="body" role="main">
E    -      <div class="section" id="autoenum-demo-members-without-docstrings">
E    +      <section id="autoenum-demo-members-without-docstrings">
E            <h1>
E             autoenum Demo - Members without docstrings
E    -        <a class="headerlink" href="#autoenum-demo-members-without-docstrings" title="Permalink to this headline">
E    +        <a class="headerlink" href="#autoenum-demo-members-without-docstrings" title="Permalink to this heading">
E              ¶
E             </a>
E            </h1>
E    @@ -61,6 +64,9 @@
E              <dl class="field-list simple">
E               <dt class="field-odd">
E                Member Type
E    +           <span class="colon">
E    +            :
E    +           </span>
E               </dt>
E               <dd class="field-odd">
E                <p>
E    @@ -127,7 +133,7 @@
E              </code>
E             </a>
E            </p>
E    -      </div>
E    +      </section>
E          </div>
E         </div>
E        </div>

tests/test_autoenum.py:280: AssertionError
------------------------------------------------------------------------- Captured stdout teardown -------------------------------------------------------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-tkloczko/pytest-48/root
# outdir: /tmp/pytest-of-tkloczko/pytest-48/root/_build/html
# status:
Running Sphinx v5.1.1
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-tkloczko/pytest-48/root/_build/html.

# warning:

=========================================================================== slowest 25 durations ===========================================================================
0.40s call     tests/test_autoenum.py::test
0.14s setup    tests/test_autoenum.py::test
0.05s setup    tests/test_autoenum.py::test_index[index.html]
0.04s setup    tests/test_autoenum.py::test_flag[flag.html]
0.04s call     tests/test_autoenum.py::test_index[index.html]
0.04s setup    tests/test_autoenum.py::test_no_member_doc[no-member-doc.html]
0.03s call     tests/test_autoenum.py::test_flag[flag.html]
0.02s call     tests/test_autoenum.py::test_no_member_doc[no-member-doc.html]

(17 durations < 0.005s hidden.  Use -vv to show these durations.)
========================================================================= short test summary info ==========================================================================
FAILED tests/test_autoenum.py::test_index[index.html] - AssertionError: FILES DIFFER:
FAILED tests/test_autoenum.py::test_flag[flag.html] - AssertionError: FILES DIFFER:
FAILED tests/test_autoenum.py::test_no_member_doc[no-member-doc.html] - AssertionError: FILES DIFFER:
======================================================================= 3 failed, 66 passed in 1.13s =======================================================================

Here is list of installed modules in build env

Details
Package                       Version
----------------------------- -----------------
alabaster                     0.7.12
apeye                         1.2.0
appdirs                       1.4.4
attrs                         22.1.0
autodocsumm                   0.2.9
Babel                         2.10.2
beautifulsoup4                4.11.1
Brlapi                        0.8.3
build                         0.8.0
CacheControl                  0.12.11
cffi                          1.15.1
charset-normalizer            2.1.0
click                         8.1.3
codespell                     2.1.0
coincidence                   0.6.2
consolekit                    1.4.1
cryptography                  36.0.2
cssselect                     1.1.0
cssutils                      2.6.0
default-values                0.5.1
deprecation                   2.1.0
deprecation-alias             0.3.1
dict2css                      0.3.0
dist-meta                     0.5.0
distro                        1.7.0
dnspython                     2.2.1
docutils                      0.18.1
dom_toml                      0.6.0
domdf-python-tools            3.3.0
extras                        1.0.0
extras-require                0.4.3
fixtures                      4.0.0
gpg                           1.17.1-unknown
handy-archives                0.1.2
html-section                  0.2.0.post1
html5lib                      1.1
idna                          3.4
imagesize                     1.4.1
importlib-metadata            4.12.0
iniconfig                     1.1.1
Jinja2                        3.1.1
libcomps                      0.1.19
lockfile                      0.12.2
louis                         3.23.0
lxml                          4.9.1
Markdown                      3.4.1
MarkupSafe                    2.1.1
mistletoe                     0.9.0
msgpack                       1.0.4
natsort                       8.0.2
numpy                         1.23.1
packaging                     21.3
pbr                           5.9.0
pep517                        0.12.0
pip                           22.2.2
platformdirs                  2.5.2
pluggy                        1.0.0
ply                           3.11
py                            1.11.0
pyasn1                        0.4.8
pychoosealicense              2022.7.25
pycparser                     2.21
Pygments                      2.13.0
PyGObject                     3.42.2
pyparsing                     3.0.9
pypi-json                     0.3.0
pyproject-parser              0.5.0
pytest                        7.1.3
pytest-datadir                1.3.1
pytest-regressions            2.4.1
pytest-timeout                2.1.0
python-dateutil               2.8.2
python-frontmatter            1.0.0
pytz                          2022.1
PyYAML                        6.0
requests                      2.28.1
rpm                           4.17.0
ruamel.yaml                   0.17.21
ruamel.yaml.clib              0.2.6
scour                         0.38.2
seed-intersphinx-mapping      1.1.0
setuptools                    65.3.0
shippinglabel                 1.4.1
six                           1.16.0
snowballstemmer               2.2.0
soupsieve                     2.3.2.post1
Sphinx                        5.1.1
sphinx-autodoc-typehints      1.19.2
sphinx-copybutton             0.5.0
sphinx-debuginfo              0.2.2
sphinx-jinja2-compat          0.2.0
sphinx-licenseinfo            0.3.1
sphinx-notfound-page          0.8
sphinx-prompt                 1.4.0
sphinx-pyproject              0.1.0
sphinx-tabs                   3.4.1
sphinx-toolbox                3.2.0
sphinxcontrib-applehelp       1.0.2.dev20220730
sphinxcontrib-devhelp         1.0.2.dev20220730
sphinxcontrib-htmlhelp        2.0.0
sphinxcontrib-jsmath          1.0.1.dev20220730
sphinxcontrib-qthelp          1.0.3.dev20220730
sphinxcontrib-serializinghtml 1.1.5
sphinxemoji                   0.2.0
tabulate                      0.8.10
testtools                     2.5.0
toctree-plus                  0.6.0
toml                          0.10.2
tomli                         2.0.1
typing_extensions             4.3.0
urllib3                       1.26.12
webencodings                  0.5.1
wheel                         0.37.1
whey                          0.0.23
zipp                          3.8.1

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingstale

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions