Fix/improve test_terminal_reporter_writer_attr
It did not actually test that the attribute gets set. This also checks the stacklevel etc.
This commit is contained in:
parent
2d9dac95ec
commit
ff0a091165
|
@ -1,8 +1,10 @@
|
|||
import copy
|
||||
import inspect
|
||||
|
||||
import pytest
|
||||
from _pytest import deprecated
|
||||
from _pytest import nodes
|
||||
from _pytest.config import Config
|
||||
|
||||
|
||||
@pytest.mark.filterwarnings("default")
|
||||
|
@ -32,7 +34,7 @@ def test_pytest_collect_module_deprecated(attribute):
|
|||
getattr(pytest.collect, attribute)
|
||||
|
||||
|
||||
def test_terminal_reporter_writer_attr(pytestconfig):
|
||||
def test_terminal_reporter_writer_attr(pytestconfig: Config) -> None:
|
||||
"""Check that TerminalReporter._tw is also available as 'writer' (#2984)
|
||||
This attribute has been deprecated in 5.4.
|
||||
"""
|
||||
|
@ -43,15 +45,22 @@ def test_terminal_reporter_writer_attr(pytestconfig):
|
|||
except ImportError:
|
||||
pass
|
||||
terminal_reporter = pytestconfig.pluginmanager.get_plugin("terminalreporter")
|
||||
expected_tw = terminal_reporter._tw
|
||||
original_tw = terminal_reporter._tw
|
||||
|
||||
with pytest.warns(pytest.PytestDeprecationWarning):
|
||||
assert terminal_reporter.writer is expected_tw
|
||||
with pytest.warns(pytest.PytestDeprecationWarning) as cw:
|
||||
assert terminal_reporter.writer is original_tw
|
||||
assert len(cw) == 1
|
||||
assert cw[0].filename == __file__
|
||||
|
||||
with pytest.warns(pytest.PytestDeprecationWarning):
|
||||
terminal_reporter.writer = expected_tw
|
||||
|
||||
assert terminal_reporter._tw is expected_tw
|
||||
new_tw = copy.copy(original_tw)
|
||||
with pytest.warns(pytest.PytestDeprecationWarning) as cw:
|
||||
terminal_reporter.writer = new_tw
|
||||
try:
|
||||
assert terminal_reporter._tw is new_tw
|
||||
finally:
|
||||
terminal_reporter.writer = original_tw
|
||||
assert len(cw) == 2
|
||||
assert cw[0].filename == cw[1].filename == __file__
|
||||
|
||||
|
||||
@pytest.mark.parametrize("plugin", sorted(deprecated.DEPRECATED_EXTERNAL_PLUGINS))
|
||||
|
|
Loading…
Reference in New Issue