MCPcopy Index your code
hub / github.com/python/cpython / _tearDownPreviousClass

Method _tearDownPreviousClass

Lib/unittest/suite.py:297–337  ·  view source on GitHub ↗
(self, test, result)

Source from the content-addressed store, hash-verified

295 _call_if_exists(result, '_restoreStdout')
296
297 def _tearDownPreviousClass(self, test, result):
298 previousClass = getattr(result, '_previousTestClass', None)
299 currentClass = test.__class__
300 if currentClass == previousClass or previousClass is None:
301 return
302 if getattr(previousClass, '_classSetupFailed', False):
303 return
304 if getattr(result, '_moduleSetUpFailed', False):
305 return
306 if getattr(previousClass, "__unittest_skip__", False):
307 return
308
309 tearDownClass = getattr(previousClass, 'tearDownClass', None)
310 doClassCleanups = getattr(previousClass, 'doClassCleanups', None)
311 if tearDownClass is None and doClassCleanups is None:
312 return
313
314 _call_if_exists(result, '_setupStdout')
315 try:
316 if tearDownClass is not None:
317 try:
318 tearDownClass()
319 except Exception as e:
320 if isinstance(result, _DebugResult):
321 raise
322 className = util.strclass(previousClass)
323 self._createClassOrModuleLevelException(result, e,
324 'tearDownClass',
325 className)
326 if doClassCleanups is not None:
327 doClassCleanups()
328 for exc_info in previousClass.tearDown_exceptions:
329 if isinstance(result, _DebugResult):
330 raise exc_info[1]
331 className = util.strclass(previousClass)
332 self._createClassOrModuleLevelException(result, exc_info[1],
333 'tearDownClass',
334 className,
335 info=exc_info)
336 finally:
337 _call_if_exists(result, '_restoreStdout')
338
339
340class _ErrorHolder(object):

Callers 1

runMethod · 0.95

Calls 2

_call_if_existsFunction · 0.85

Tested by

no test coverage detected