Skip to content

Commit 0ddb029

Browse files
committed
dont print logs when --no-print-logs is defined, test when logging plugins is disabled
1 parent 9d8699d commit 0ddb029

File tree

2 files changed

+37
-2
lines changed

2 files changed

+37
-2
lines changed

_pytest/debugging.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,9 @@ def _enter_pdb(node, excinfo, rep):
9999

100100
captured_logs = rep.caplog
101101
if len(captured_logs) > 0:
102-
tw.sep(">", "captured logs")
103-
tw.line(captured_logs)
102+
if node.config.getoption('log_print') is not False:
103+
tw.sep(">", "captured logs")
104+
tw.line(captured_logs)
104105

105106
tw.sep(">", "traceback")
106107
rep.toterminal(tw)

testing/test_pdb.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,40 @@ def test_1():
203203
assert "1 failed" in rest
204204
self.flush(child)
205205

206+
def test_pdb_dont_print_captured_logs_when_no_print_logs_is_defined(self, testdir):
207+
p1 = testdir.makepyfile("""
208+
def test_1():
209+
import logging
210+
logging.warn("get rekt")
211+
assert False
212+
""")
213+
child = testdir.spawn_pytest("--pdb --no-print-logs %s" % p1)
214+
child.expect("get rekt")
215+
output = child.before.decode("utf8")
216+
assert "captured logs" not in output
217+
child.expect("(Pdb)")
218+
child.sendeof()
219+
rest = child.read().decode("utf8")
220+
assert "1 failed" in rest
221+
self.flush(child)
222+
223+
def test_pdb_doesnt_print_captured_logs_when_logging_plugin_is_disabled(self, testdir):
224+
p1 = testdir.makepyfile("""
225+
def test_1():
226+
import logging
227+
logging.warn("get rekt")
228+
assert False
229+
""")
230+
child = testdir.spawn_pytest("--pdb -p no:logging %s" % p1)
231+
child.expect("get rekt")
232+
output = child.before.decode("utf8")
233+
assert "captured logs" not in output
234+
child.expect("(Pdb)")
235+
child.sendeof()
236+
rest = child.read().decode("utf8")
237+
assert "1 failed" in rest
238+
self.flush(child)
239+
206240
def test_pdb_interaction_exception(self, testdir):
207241
p1 = testdir.makepyfile("""
208242
import pytest

0 commit comments

Comments
 (0)