Fix functional tests and docs generation

First, fix test_help(). A commit[1], which first appeared in Python
3.10, changes the output of the help feature of argparse. Options used
to be in a section named "Optional arguments:", and they are now in a
section named "Options:".

Second, tox 4 changes the behaviour of tox, and
{toxinidir}/requirements.txt is no longer installed automagically in the
docs virtual environment. This causes autodoc to fail on some imports.
We explicitely add {toxinidir}/requirements.txt to the list of
dependencies to fix this issue.

These issues should be fixed in separate patches, but since they both
block the CI, they depend on each other.

[1] https://github.com/python/cpython/pull/23858

Change-Id: Ia7866390b31f469bdea95624325a13aaf45a496e
Closes-Bug: #2002566
This commit is contained in:
Cyril Roelandt 2022-12-16 04:56:02 +01:00
parent 0bd9f80c67
commit 6c95122777
3 changed files with 19 additions and 3 deletions

View File

@ -51,6 +51,13 @@ class SimpleReadOnlyGlanceClientTest(base.ClientTestBase):
commands = []
cmds_start = lines.index('Positional arguments:')
try:
# Starting in Python 3.10, argparse displays options in the
# "Options:" section...
cmds_end = lines.index('Options:')
except ValueError:
# ... but before Python 3.10, options were displayed in the
# "Optional arguments:" section.
cmds_end = lines.index('Optional arguments:')
command_pattern = re.compile(r'^ {4}([a-z0-9\-\_]+)')
for line in lines[cmds_start:cmds_end]:

View File

@ -71,6 +71,13 @@ class SimpleReadOnlyGlanceClientTest(base.ClientTestBase):
commands = []
cmds_start = lines.index('Positional arguments:')
try:
# Starting in Python 3.10, argparse displays options in the
# "Options:" section...
cmds_end = lines.index('Options:')
except ValueError:
# ... but before Python 3.10, options were displayed in the
# "Optional arguments:" section.
cmds_end = lines.index('Optional arguments:')
command_pattern = re.compile(r'^ {4}([a-z0-9\-\_]+)')
for line in lines[cmds_start:cmds_end]:

View File

@ -54,7 +54,9 @@ commands =
[testenv:docs]
basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -W -b html doc/source doc/build/html
sphinx-build -W -b man doc/source doc/build/man