Skip to content

Commit f66e712

Browse files
committed
Better fix for TerminalReporter issue
1 parent 103c849 commit f66e712

File tree

2 files changed

+14
-17
lines changed

2 files changed

+14
-17
lines changed

testing/test_pytest_html.py

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,18 @@
1414
pytest_plugins = ("pytester",)
1515

1616

17-
def handle_tr_writer_deprecation():
18-
# Remove this function when they've fixed
17+
def remove_deprecation_from_recwarn(recwarn):
18+
# TODO: Temporary hack until they fix
1919
# https://github.com/pytest-dev/pytest/issues/6936
20-
import warnings
21-
from _pytest.warnings import _setoption
22-
23-
arg = "ignore:TerminalReporter.writer:pytest.PytestDeprecationWarning"
24-
_setoption(warnings, arg)
20+
return [
21+
item for item in recwarn if "TerminalReporter.writer" not in repr(item.message)
22+
]
23+
# for index, item in enumerate(recwarn):
24+
# if "TerminalReporter.writer" in repr(item.message):
25+
# del recwarn.list[index]
2526

2627

2728
def run(testdir, path="report.html", *args):
28-
# TODO: Temporary hack until they fix
29-
# https://github.com/pytest-dev/pytest/issues/6936
30-
handle_tr_writer_deprecation() # TODO: Temporary hack
3129
path = testdir.tmpdir.join(path)
3230
result = testdir.runpytest("--html", path, *args)
3331
return result, read_html(path)
@@ -232,9 +230,6 @@ def test_report_title(self, testdir, path):
232230
assert report_title in html
233231

234232
def test_report_title_addopts_env_var(self, testdir, monkeypatch):
235-
# TODO: Temporary hack until they fix
236-
# https://github.com/pytest-dev/pytest/issues/6936
237-
handle_tr_writer_deprecation()
238233
report_location = "REPORT_LOCATION"
239234
report_name = "MuhReport"
240235
monkeypatch.setenv(report_location, report_name)
@@ -881,7 +876,8 @@ def test_css(self, testdir, recwarn, colors):
881876
cssargs.extend(["--css", path])
882877
result, html = run(testdir, "report.html", "--self-contained-html", *cssargs)
883878
assert result.ret == 0
884-
assert len(recwarn) == 0
879+
warnings = remove_deprecation_from_recwarn(recwarn)
880+
assert len(warnings) == 0
885881
for k, v in css.items():
886882
assert str(v["path"]) in html
887883
assert v["style"] in html
@@ -894,9 +890,6 @@ def test_css_invalid(self, testdir, recwarn):
894890
assert "No such file or directory: 'style.css'" in result.stderr.str()
895891

896892
def test_css_invalid_no_html(self, testdir):
897-
# TODO: Temporary hack until they fix
898-
# https://github.com/pytest-dev/pytest/issues/6936
899-
handle_tr_writer_deprecation()
900893
testdir.makepyfile("def test_pass(): pass")
901894
result = testdir.runpytest("--css", "style.css")
902895
assert result.ret == 0

tox.ini

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,7 @@ exclude = .eggs,.tox
2727

2828
[pytest]
2929
testpaths = testing
30+
# TODO: Temporary hack until they fix
31+
# https://github.com/pytest-dev/pytest/issues/6936
32+
filterwarnings =
33+
ignore:.*TerminalReporter.writer attribute is deprecated.*:pytest.PytestDeprecationWarning

0 commit comments

Comments
 (0)