def test_pdb_run(self): |
|
tmpdir = tmp |
subdir = "sub_pdb_run" |
tmpdir.ensure(subdir, "__init__.py") |
tmpdir.ensure(subdir, "test_one.py").write(py.code.Source(""" |
def test_1(): |
assert 0 |
""")) |
import pdb |
l = [] |
def some_fun(*args): |
l.append(args) |
|
try: |
post_mortem = pdb.post_mortem |
pdb.post_mortem = some_fun |
args = [str(tmpdir.join(subdir)), '--pdb'] |
-> config = py.test.config._reparse(args) |
lsession = LSession(config) |
allevents = [] |
try: |
lsession.main(reporter=allevents.append, runner=plain_runner) |
except SystemExit: |
pass |
else: |
py.test.fail("Didn't raise system exit") |
failure_events = [event for event in allevents if isinstance(event, |
repevent.ImmediateFailure)] |
assert len(failure_events) == 1 |
assert len(l) == 1 |
finally: |
pdb.post_mortem = post_mortem |