Skip to content

Commit 23eca06

Browse files
committed
Fix tests in Sphinx 8.1+
1 parent b71782a commit 23eca06

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

docs/changes/+6dd7e9f4.misc.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix tests in Sphinx 8.1+

tests/python/conftest.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
@pytest.fixture(scope="session")
1111
def rebuild():
12-
def _rebuild(confdir=".", **kwargs):
12+
def _rebuild(confdir=".", **kwargs) -> int:
1313
app = Sphinx(
1414
srcdir=".",
1515
confdir=confdir,
@@ -20,6 +20,7 @@ def _rebuild(confdir=".", **kwargs):
2020
**kwargs,
2121
)
2222
app.build()
23+
return app.statuscode
2324

2425
return _rebuild
2526

@@ -28,7 +29,7 @@ def _rebuild(confdir=".", **kwargs):
2829
def builder(rebuild):
2930
cwd = os.getcwd()
3031

31-
def build(test_dir, **kwargs):
32+
def build(test_dir, **kwargs) -> int:
3233
if kwargs.get("warningiserror"):
3334
# Add any warnings raised when using `Sphinx` more than once
3435
# in a Python session.
@@ -40,7 +41,7 @@ def build(test_dir, **kwargs):
4041
suppress.append("app.add_role")
4142

4243
os.chdir(f"tests/python/{test_dir}")
43-
rebuild(**kwargs)
44+
return rebuild(**kwargs)
4445

4546
yield build
4647

tests/python/test_pyintegration.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import logging
12
import os
23
import pathlib
34
import sys
@@ -1305,11 +1306,18 @@ def test_line_number_order(self, parse):
13051306
assert method_tricky.sourceline < method_sphinx_docs.sourceline
13061307

13071308

1308-
def test_nothing_to_render_raises_warning(builder):
1309-
with pytest.raises(sphinx.errors.SphinxWarning) as exc_info:
1310-
builder("pynorender", warningiserror=True)
1309+
def test_nothing_to_render_raises_warning(builder, caplog):
1310+
caplog.set_level(logging.WARNING, logger="autoapi._mapper")
1311+
if sphinx_version >= (8, 1):
1312+
status = builder("pynorender", warningiserror=True)
1313+
assert status
1314+
else:
1315+
with pytest.raises(sphinx.errors.SphinxWarning):
1316+
builder("pynorender", warningiserror=True)
13111317

1312-
assert "No modules were rendered" in str(exc_info.value)
1318+
assert any(
1319+
"No modules were rendered" in record.message for record in caplog.records
1320+
)
13131321

13141322

13151323
class TestStdLib:

0 commit comments

Comments
 (0)