Skip to content

Commit c5d8635

Browse files
authored
Merge pull request #375 from ethanhs/silencenodes
Don't show node setup when running quiet
2 parents 3329bbb + 5f0abe3 commit c5d8635

File tree

3 files changed

+34
-5
lines changed

3 files changed

+34
-5
lines changed

changelog/373.feature.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Node setup information is hidden when pytest is run in quiet mode to reduce noise on many-core machines.

testing/acceptance_test.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,30 @@ def test_hello():
358358

359359

360360
class TestTerminalReporting:
361+
@pytest.mark.parametrize("verbosity", ["", "-q", "-v"])
362+
def test_output_verbosity(self, testdir, verbosity):
363+
testdir.makepyfile(
364+
"""
365+
def test_ok():
366+
pass
367+
"""
368+
)
369+
args = ["-n1"]
370+
if verbosity:
371+
args.append(verbosity)
372+
result = testdir.runpytest(*args)
373+
out = result.stdout.str()
374+
if verbosity == "-v":
375+
assert "scheduling tests" in out
376+
assert "gw" in out
377+
elif verbosity == "-q":
378+
assert "scheduling tests" not in out
379+
assert "gw" not in out
380+
assert "bringing up nodes..." in out
381+
else:
382+
assert "scheduling tests" not in out
383+
assert "gw" in out
384+
361385
def test_pass_skip_fail(self, testdir):
362386
testdir.makepyfile(
363387
"""

xdist/dsession.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -229,9 +229,10 @@ def worker_collectionfinish(self, node, ids):
229229
if self.terminal and not self.sched.has_pending:
230230
self.trdist.ensure_show_status()
231231
self.terminal.write_line("")
232-
self.terminal.write_line(
233-
"scheduling tests via %s" % (self.sched.__class__.__name__)
234-
)
232+
if self.config.option.verbose > 0:
233+
self.terminal.write_line(
234+
"scheduling tests via %s" % (self.sched.__class__.__name__)
235+
)
235236
self.sched.schedule()
236237

237238
def worker_logstart(self, node, nodeid, location):
@@ -344,8 +345,11 @@ def setstatus(self, spec, status, show=True):
344345
self.rewrite(self.getstatus())
345346

346347
def getstatus(self):
347-
parts = ["%s %s" % (spec.id, self._status[spec.id]) for spec in self._specs]
348-
return " / ".join(parts)
348+
if self.config.option.verbose >= 0:
349+
parts = ["%s %s" % (spec.id, self._status[spec.id]) for spec in self._specs]
350+
return " / ".join(parts)
351+
else:
352+
return "bringing up nodes..."
349353

350354
def rewrite(self, line, newline=False):
351355
pline = line + " " * max(self._lastlen - len(line), 0)

0 commit comments

Comments
 (0)