@@ -90,29 +90,30 @@ def _is_capturing(cls, capman):
90
90
91
91
@classmethod
92
92
def _import_pdb_cls (cls ):
93
- if cls ._config :
94
- pdb_cls = cls ._config .getvalue ("usepdb_cls" )
95
- if pdb_cls :
96
- modname , classname = pdb_cls
97
-
98
- try :
99
- __import__ (modname )
100
- mod = sys .modules [modname ]
101
-
102
- # Handle --pdbcls=pdb:pdb.Pdb (useful e.g. with pdbpp).
103
- parts = classname .split ("." )
104
- pdb_cls = getattr (mod , parts [0 ])
105
- for part in parts [1 :]:
106
- pdb_cls = getattr (pdb_cls , part )
107
-
108
- return pdb_cls
109
- except Exception as exc :
110
- value = ":" .join ((modname , classname ))
111
- raise UsageError (
112
- "--pdbcls: could not import {!r}: {}" .format (value , exc )
113
- )
114
-
115
- return pdb .Pdb
93
+ if not cls ._config :
94
+ # Happens when using pytest.set_trace outside of a test.
95
+ return pdb .Pdb
96
+
97
+ pdb_cls = cls ._config .getvalue ("usepdb_cls" )
98
+ if not pdb_cls :
99
+ return pdb .Pdb
100
+
101
+ modname , classname = pdb_cls
102
+
103
+ try :
104
+ __import__ (modname )
105
+ mod = sys .modules [modname ]
106
+
107
+ # Handle --pdbcls=pdb:pdb.Pdb (useful e.g. with pdbpp).
108
+ parts = classname .split ("." )
109
+ pdb_cls = getattr (mod , parts [0 ])
110
+ for part in parts [1 :]:
111
+ pdb_cls = getattr (pdb_cls , part )
112
+
113
+ return pdb_cls
114
+ except Exception as exc :
115
+ value = ":" .join ((modname , classname ))
116
+ raise UsageError ("--pdbcls: could not import {!r}: {}" .format (value , exc ))
116
117
117
118
@classmethod
118
119
def _init_pdb (cls , * args , ** kwargs ):
0 commit comments