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

Method _handleModuleTearDown

Lib/unittest/suite.py:255–295  ·  view source on GitHub ↗
(self, result)

Source from the content-addressed store, hash-verified

253 result.addError(error, info)
254
255 def _handleModuleTearDown(self, result):
256 previousModule = self._get_previous_module(result)
257 if previousModule is None:
258 return
259 if result._moduleSetUpFailed:
260 return
261
262 try:
263 module = sys.modules[previousModule]
264 except KeyError:
265 return
266
267 _call_if_exists(result, '_setupStdout')
268 try:
269 tearDownModule = getattr(module, 'tearDownModule', None)
270 if tearDownModule is not None:
271 try:
272 tearDownModule()
273 except Exception as e:
274 if isinstance(result, _DebugResult):
275 raise
276 self._createClassOrModuleLevelException(result, e,
277 'tearDownModule',
278 previousModule)
279 try:
280 case.doModuleCleanups()
281 except ExceptionGroup as eg:
282 if isinstance(result, _DebugResult):
283 raise
284 for e in eg.exceptions:
285 self._createClassOrModuleLevelException(result, e,
286 'tearDownModule',
287 previousModule)
288 except Exception as e:
289 if isinstance(result, _DebugResult):
290 raise
291 self._createClassOrModuleLevelException(result, e,
292 'tearDownModule',
293 previousModule)
294 finally:
295 _call_if_exists(result, '_restoreStdout')
296
297 def _tearDownPreviousClass(self, test, result):
298 previousClass = getattr(result, '_previousTestClass', None)

Callers 2

runMethod · 0.95
_handleModuleFixtureMethod · 0.95

Calls 4

_get_previous_moduleMethod · 0.95
_call_if_existsFunction · 0.85
tearDownModuleFunction · 0.50

Tested by

no test coverage detected