Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions changelog/4741.trivial.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Some verbosity related attributes of the TerminalReporter plugin are now
read only properties.
7 changes: 0 additions & 7 deletions src/_pytest/logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -435,13 +435,6 @@ def _setup_cli_logging(self):
# terminal reporter is disabled e.g. by pytest-xdist.
return

# FIXME don't set verbosity level and derived attributes of
# terminalwriter directly
terminal_reporter.verbosity = config.option.verbose
terminal_reporter.showheader = terminal_reporter.verbosity >= 0
terminal_reporter.showfspath = terminal_reporter.verbosity >= 0
terminal_reporter.showlongtestinfo = terminal_reporter.verbosity > 0

capture_manager = config.pluginmanager.get_plugin("capturemanager")
# if capturemanager plugin is disabled, live logging still works.
log_cli_handler = _LiveLoggingStreamHandler(terminal_reporter, capture_manager)
Expand Down
27 changes: 23 additions & 4 deletions src/_pytest/terminal.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,12 +222,9 @@ def __init__(self, config, file=None):
import _pytest.config

self.config = config
self.verbosity = self.config.option.verbose
self.showheader = self.verbosity >= 0
self.showfspath = self.verbosity >= 0
self.showlongtestinfo = self.verbosity > 0
self._numcollected = 0
self._session = None
self._showfspath = None

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

@property
def verbosity(self):
return self.config.option.verbose

@property
def showheader(self):
return self.verbosity >= 0

@property
def showfspath(self):
if self._showfspath is None:
return self.verbosity >= 0
return self._showfspath

@showfspath.setter
def showfspath(self, value):
self._showfspath = value

@property
def showlongtestinfo(self):
return self.verbosity > 0

def hasopt(self, char):
char = {"xfailed": "x", "skipped": "s"}.get(char, char)
return char in self.reportchars
Expand Down