From 425c5f08296f0dd1fa458ef58aad84babfbc3f16 Mon Sep 17 00:00:00 2001 From: David Szotten Date: Mon, 19 Sep 2016 15:43:54 +0000 Subject: [PATCH] allow pdbcls without implying usepdb --- _pytest/debugging.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/_pytest/debugging.py b/_pytest/debugging.py index 299b0502850..685da82008f 100644 --- a/_pytest/debugging.py +++ b/_pytest/debugging.py @@ -20,15 +20,15 @@ def pytest_namespace(): return {'set_trace': pytestPDB().set_trace} def pytest_configure(config): - if config.getvalue("usepdb") or config.getvalue("usepdb_cls"): + if config.getvalue("usepdb_cls"): + modname, classname = config.getvalue("usepdb_cls").split(":") + __import__(modname) + pdb_cls = getattr(sys.modules[modname], classname) + else: + pdb_cls = pdb.Pdb + + if config.getvalue("usepdb"): config.pluginmanager.register(PdbInvoke(), 'pdbinvoke') - if config.getvalue("usepdb_cls"): - modname, classname = config.getvalue("usepdb_cls").split(":") - __import__(modname) - pdb_cls = getattr(sys.modules[modname], classname) - else: - pdb_cls = pdb.Pdb - pytestPDB._pdb_cls = pdb_cls old = (pdb.set_trace, pytestPDB._pluginmanager) def fin(): @@ -38,6 +38,7 @@ def fin(): pdb.set_trace = pytest.set_trace pytestPDB._pluginmanager = config.pluginmanager pytestPDB._config = config + pytestPDB._pdb_cls = pdb_cls config._cleanup.append(fin) class pytestPDB: