Skip to content

Commit ddbea29

Browse files
committed
Remove terminal_reporter workaround from logging.py
The workaround was removed from the logging module by creating python properties for verbosity related settings in the terminalreporter. Closes: #4733
1 parent a1fcd6e commit ddbea29

File tree

3 files changed

+25
-11
lines changed

3 files changed

+25
-11
lines changed

changelog/4741.trivial.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Some verbosity related attributes of the TerminalReporter plugin are now
2+
read only properties.

src/_pytest/logging.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -435,13 +435,6 @@ def _setup_cli_logging(self):
435435
# terminal reporter is disabled e.g. by pytest-xdist.
436436
return
437437

438-
# FIXME don't set verbosity level and derived attributes of
439-
# terminalwriter directly
440-
terminal_reporter.verbosity = config.option.verbose
441-
terminal_reporter.showheader = terminal_reporter.verbosity >= 0
442-
terminal_reporter.showfspath = terminal_reporter.verbosity >= 0
443-
terminal_reporter.showlongtestinfo = terminal_reporter.verbosity > 0
444-
445438
capture_manager = config.pluginmanager.get_plugin("capturemanager")
446439
# if capturemanager plugin is disabled, live logging still works.
447440
log_cli_handler = _LiveLoggingStreamHandler(terminal_reporter, capture_manager)

src/_pytest/terminal.py

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -222,12 +222,9 @@ def __init__(self, config, file=None):
222222
import _pytest.config
223223

224224
self.config = config
225-
self.verbosity = self.config.option.verbose
226-
self.showheader = self.verbosity >= 0
227-
self.showfspath = self.verbosity >= 0
228-
self.showlongtestinfo = self.verbosity > 0
229225
self._numcollected = 0
230226
self._session = None
227+
self._showfspath = None
231228

232229
self.stats = {}
233230
self.startdir = py.path.local()
@@ -255,6 +252,28 @@ def _determine_show_progress_info(self):
255252
return False
256253
return self.config.getini("console_output_style") in ("progress", "count")
257254

255+
@property
256+
def verbosity(self):
257+
return self.config.option.verbose
258+
259+
@property
260+
def showheader(self):
261+
return self.verbosity >= 0
262+
263+
@property
264+
def showfspath(self):
265+
if self._showfspath is None:
266+
return self.verbosity >= 0
267+
return self._showfspath
268+
269+
@showfspath.setter
270+
def showfspath(self, value):
271+
self._showfspath = value
272+
273+
@property
274+
def showlongtestinfo(self):
275+
return self.verbosity > 0
276+
258277
def hasopt(self, char):
259278
char = {"xfailed": "x", "skipped": "s"}.get(char, char)
260279
return char in self.reportchars

0 commit comments

Comments
 (0)