Merge pull request #6989 from blueyed/fix-test

This commit is contained in:
Bruno Oliveira 2020-05-08 09:04:59 -03:00 committed by GitHub
commit b02b0b610b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 8 deletions

View File

@ -1,9 +1,11 @@
import copy
import inspect import inspect
from unittest import mock from unittest import mock
import pytest import pytest
from _pytest import deprecated from _pytest import deprecated
from _pytest import nodes from _pytest import nodes
from _pytest.config import Config
@pytest.mark.filterwarnings("default") @pytest.mark.filterwarnings("default")
@ -33,7 +35,7 @@ def test_pytest_collect_module_deprecated(attribute):
getattr(pytest.collect, 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) """Check that TerminalReporter._tw is also available as 'writer' (#2984)
This attribute has been deprecated in 5.4. This attribute has been deprecated in 5.4.
""" """
@ -44,15 +46,22 @@ def test_terminal_reporter_writer_attr(pytestconfig):
except ImportError: except ImportError:
pass pass
terminal_reporter = pytestconfig.pluginmanager.get_plugin("terminalreporter") terminal_reporter = pytestconfig.pluginmanager.get_plugin("terminalreporter")
expected_tw = terminal_reporter._tw original_tw = terminal_reporter._tw
with pytest.warns(pytest.PytestDeprecationWarning): with pytest.warns(pytest.PytestDeprecationWarning) as cw:
assert terminal_reporter.writer is expected_tw assert terminal_reporter.writer is original_tw
assert len(cw) == 1
assert cw[0].filename == __file__
with pytest.warns(pytest.PytestDeprecationWarning): new_tw = copy.copy(original_tw)
terminal_reporter.writer = expected_tw with pytest.warns(pytest.PytestDeprecationWarning) as cw:
terminal_reporter.writer = new_tw
assert terminal_reporter._tw is expected_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)) @pytest.mark.parametrize("plugin", sorted(deprecated.DEPRECATED_EXTERNAL_PLUGINS))