Bring back TerminalReporter.writer as an alias to TerminalReporter._tw

Fix #2984
This commit is contained in:
Bruno Oliveira 2017-11-30 18:34:53 -02:00
parent 4de433e280
commit cf0cac3b73
3 changed files with 16 additions and 0 deletions

View File

@ -145,6 +145,8 @@ class TerminalReporter:
if file is None: if file is None:
file = sys.stdout file = sys.stdout
self._tw = _pytest.config.create_terminal_writer(config, file) self._tw = _pytest.config.create_terminal_writer(config, file)
# self.writer will be deprecated in pytest-3.4
self.writer = self._tw
self._screen_width = self._tw.fullwidth self._screen_width = self._tw.fullwidth
self.currentfspath = None self.currentfspath = None
self.reportchars = getreportopt(config) self.reportchars = getreportopt(config)

1
changelog/2984.bugfix Normal file
View File

@ -0,0 +1 @@
Bring back ``TerminalReporter.writer`` as an alias to ``TerminalReporter._tw``. This alias was removed by accident in the ``3.3.0`` release.

View File

@ -101,6 +101,19 @@ def test_metafunc_addcall_deprecated(testdir):
]) ])
def test_terminal_reporter_writer_attr(pytestconfig):
"""Check that TerminalReporter._tw is also available as 'writer' (#2984)
This attribute is planned to be deprecated in 3.4.
"""
try:
import xdist # noqa
pytest.skip('xdist workers disable the terminal reporter plugin')
except ImportError:
pass
terminal_reporter = pytestconfig.pluginmanager.get_plugin('terminalreporter')
assert terminal_reporter.writer is terminal_reporter._tw
def test_pytest_catchlog_deprecated(testdir): def test_pytest_catchlog_deprecated(testdir):
testdir.makepyfile(""" testdir.makepyfile("""
def test_func(pytestconfig): def test_func(pytestconfig):