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:
html_regression =
@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
E -
E +
E
E
E
E +
E
E autoenum Demo — Python documentation
E
E @@ -11,6 +12,8 @@
E
E
E +
E
E @@ -21,12 +24,12 @@
E
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 =
html_regression =
@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
E -
E +
E
E
E
E +
E
E autoenum Demo - Flag — Python documentation
E
E @@ -11,6 +12,8 @@
E
E
E +
E
E @@ -21,10 +24,10 @@
E
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 =
html_regression =
@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
E -
E +
E
E
E
E +
E
E autoenum Demo - Members without docstrings — Python documentation
E
E @@ -11,6 +12,8 @@
E
E
E +
E
E @@ -21,10 +24,10 @@
E
E
E
E -
E +
E
E autoenum Demo - Members without docstrings
E -
E +
E ¶
E
E
E @@ -61,6 +64,9 @@
E
E
E Member Type
E +
E + :
E +
E
E
E
E @@ -127,7 +133,7 @@
E
E
E
E -
E +
E
E
E
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 =======================================================================
```
Gentle ping .. 🤔
Looks like with above units in --deselect list now heas been exposed that enum-tools is not ready for sphinx 6.1.3
```console
+ 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 -m 'not network' --deselect 'tests/test_autoenum.py::test_index[index.html]' --deselect 'tests/test_autoenum.py::test_flag[flag.html]' --deselect 'tests/test_autoenum.py::test_no_member_doc[no-member-doc.html]'
============================= test session starts ==============================
platform linux -- Python 3.8.16, pytest-7.2.2, pluggy-1.0.0
Test session started at 06:44:16
rootdir: /home/tkloczko/rpmbuild/BUILD/enum_tools-0.9.0.post1, configfile: tox.ini
plugins: datadir-1.4.1, regressions-2.4.2, timeout-2.1.0
timeout: 300.0s
timeout method: signal
timeout func_only: False
collected 57 items / 1 error
==================================== ERRORS ====================================
___________________ ERROR collecting tests/test_autoenum.py ____________________
tests/test_autoenum.py:18: in
from enum_tools.autoenum import EnumDocumenter
enum_tools/autoenum.py:80: in
from sphinx.util.typing import stringify as stringify_typehint # nodep
/usr/lib/python3.8/site-packages/sphinx/deprecation.py:46: in __getattr__
warnings.warn(f"The alias '{self._modname}.{name}' is deprecated, "
E sphinx.deprecation.RemovedInSphinx80Warning: The alias 'sphinx.util.typing.stringify' is deprecated, use 'sphinx.util.typing.stringify_annotation' instead. Check CHANGES for Sphinx API modifications.
=========================== short test summary info ============================
ERROR tests/test_autoenum.py - sphinx.deprecation.RemovedInSphinx80Warning: The alias 'sphinx.util.typing....
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.31s ===============================
```
And enum-tools documentation is not ready as well for sphinx 6.x
```console
+ /usr/bin/sphinx-build -n -T -b man doc-source build/sphinx/man
Running Sphinx v6.1.3
making output directory... done
WARNING: Unable to determine documentation url for project pygments
[autosummary] generating autosummary for: 404.rst, Source.rst, api/autoenum.rst, api/custom_enums.rst, api/documentation.rst, api/utils.rst, contributing.rst, index.rst, license.rst
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://www.sphinx-doc.org/en/stable/objects.inv...
loading intersphinx inventory from https://typing.readthedocs.io/en/latest/objects.inv...
intersphinx inventory has moved: https://www.sphinx-doc.org/en/stable/objects.inv -> https://www.sphinx-doc.org/en/master/objects.inv
building [mo]: targets for 0 po files that are out of date
writing output...
building [man]: all manpages
updating environment: [new config] 9 added, 1 changed, 0 removed
reading sources... [ 11%] 404
reading sources... [ 22%] Source
reading sources... [ 33%] api/autoenum
reading sources... [ 44%] api/custom_enums
reading sources... [ 55%] api/documentation
reading sources... [ 66%] api/utils
reading sources... [ 77%] contributing
reading sources... [ 88%] index
reading sources... [100%] license
/home/tkloczko/rpmbuild/BUILD/enum_tools-0.9.0.post1/enum_tools/autoenum.py:docstring of enum_tools.autoenum:1: ERROR: Unknown directive type "autosummary-widths".
.. autosummary-widths:: 55/100
/home/tkloczko/rpmbuild/BUILD/enum_tools-0.9.0.post1/enum_tools/autoenum.py:docstring of enum_tools.autoenum:1: ERROR: Unknown directive type "autosummary-widths".
.. autosummary-widths:: 40/100
/home/tkloczko/rpmbuild/BUILD/enum_tools-0.9.0.post1/doc-source/api/custom_enums.rst:5: ERROR: Unknown directive type "autosummary-widths".
.. autosummary-widths:: 30/100
/home/tkloczko/rpmbuild/BUILD/enum_tools-0.9.0.post1/doc-source/api/documentation.rst:6: ERROR: Unknown directive type "autosummary-widths".
.. autosummary-widths:: 35/100
/home/tkloczko/rpmbuild/BUILD/enum_tools-0.9.0.post1/doc-source/api/utils.rst:5: ERROR: Unknown directive type "autosummary-widths".
.. autosummary-widths:: 35/100
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 284, in build_main
app.build(args.force_all, args.filenames)
File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 347, in build
self.builder.build_update()
File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 308, in build_update
self.build(['__all__'], to_build)
File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 327, in build
updated_docnames = set(self.read())
File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 434, in read
self._read_serial(docnames)
File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 455, in _read_serial
self.read_doc(docname)
File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 511, in read_doc
publisher.publish()
File "/usr/lib/python3.8/site-packages/docutils/core.py", line 224, in publish
self.document = self.reader.read(self.source, self.parser,
File "/usr/lib/python3.8/site-packages/sphinx/io.py", line 105, in read
self.parse()
File "/usr/lib/python3.8/site-packages/docutils/readers/__init__.py", line 76, in parse
self.parser.parse(self.input, document)
File "/usr/lib/python3.8/site-packages/sphinxcontrib/default_values/__init__.py", line 340, in parse
super().parse(inputstring, document)
File "/usr/lib/python3.8/site-packages/sphinx/parsers.py", line 80, in parse
self.statemachine.run(inputlines, document, inliner=self.inliner)
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 169, in run
results = StateMachineWS.run(self, input_lines, input_offset,
File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
context, next_state, result = self.check_line(
File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
return method(match, context, next_state)
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 3024, in text
self.section(title.lstrip(), source, style, lineno + 1, messages)
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 325, in section
self.new_subsection(title, lineno, messages)
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 391, in new_subsection
newabsoffset = self.nested_parse(
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 279, in nested_parse
state_machine.run(block, input_offset, memo=self.memo,
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 195, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
context, next_state, result = self.check_line(
File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
return method(match, context, next_state)
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2357, in explicit_markup
self.explicit_list(blank_finish)
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2382, in explicit_list
newline_offset, blank_finish = self.nested_list_parse(
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 316, in nested_list_parse
state_machine.run(block, input_offset, memo=self.memo,
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 195, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
context, next_state, result = self.check_line(
File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
return method(match, context, next_state)
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2660, in explicit_markup
nodelist, blank_finish = self.explicit_construct(match)
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2367, in explicit_construct
return method(self, expmatch)
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2104, in directive
return self.run_directive(
File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2154, in run_directive
result = directive_instance.run()
File "/usr/lib/python3.8/site-packages/sphinx_licenseinfo/__init__.py", line 99, in run
distro = get_distribution(self.options["py"])
File "/usr/lib/python3.8/site-packages/dist_meta/distributions.py", line 591, in get_distribution
raise DistributionNotFoundError(name)
dist_meta.distributions.DistributionNotFoundError: enum_tools
Exception occurred:
File "/usr/lib/python3.8/site-packages/dist_meta/distributions.py", line 591, in get_distribution
raise DistributionNotFoundError(name)
dist_meta.distributions.DistributionNotFoundError: enum_tools
The full traceback has been saved in /tmp/sphinx-err-u4vz5myg.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at . Thanks!
```
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
build
with--no-isolation
I'm using during all processes only locally installed modulesOn first looks looks like `enum_tools needs to be adapoed for latest sphix. Here is pytest output: