Skip to content

Commit

Permalink
Make min duration configurable for slowest tests
Browse files Browse the repository at this point in the history
Enables users to use custom values for the threshold used to
determine slow tests.
  • Loading branch information
ssbarnea committed Aug 22, 2020
1 parent d69abff commit b7705c7
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions src/_pytest/runner.py
Expand Up @@ -52,10 +52,19 @@ def pytest_addoption(parser: Parser) -> None:
metavar="N",
help="show N slowest setup/test durations (N=0 for all).",
)
group.addoption(
"--durations-min",
action="store",
type=float,
default=0.005,
metavar="N",
help="Minimal duration in seconds for inclusion in slowest list. Default 0.005",
)


def pytest_terminal_summary(terminalreporter: "TerminalReporter") -> None:
durations = terminalreporter.config.option.durations
durations_min = terminalreporter.config.option.durations_min
verbose = terminalreporter.config.getvalue("verbose")
if durations is None:
return
Expand All @@ -76,11 +85,11 @@ def pytest_terminal_summary(terminalreporter: "TerminalReporter") -> None:
dlist = dlist[:durations]

for i, rep in enumerate(dlist):
if verbose < 2 and rep.duration < 0.005:
if verbose < 2 and rep.duration < durations_min:
tr.write_line("")
tr.write_line(
"(%s durations < 0.005s hidden. Use -vv to show these durations.)"
% (len(dlist) - i)
"(%s durations < %gs hidden. Use -vv to show these durations.)"
% (len(dlist) - i, durations_min)
)
break
tr.write_line("{:02.2f}s {:<8} {}".format(rep.duration, rep.when, rep.nodeid))
Expand Down

0 comments on commit b7705c7

Please sign in to comment.