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

Class _DocTestCaseRunner

Lib/doctest.py:2307–2355  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2305
2306
2307class _DocTestCaseRunner(DocTestRunner):
2308
2309 def __init__(self, *args, test_case, test_result, **kwargs):
2310 super().__init__(*args, **kwargs)
2311 self._test_case = test_case
2312 self._test_result = test_result
2313 self._examplenum = 0
2314
2315 def _subTest(self):
2316 subtest = unittest.case._SubTest(self._test_case, str(self._examplenum), {})
2317 self._examplenum += 1
2318 return subtest
2319
2320 def report_skip(self, out, test, example):
2321 unittest.case._addSkip(self._test_result, self._subTest(), '')
2322
2323 def report_success(self, out, test, example, got):
2324 self._test_result.addSubTest(self._test_case, self._subTest(), None)
2325
2326 def report_unexpected_exception(self, out, test, example, exc_info):
2327 tb = self._add_traceback(exc_info[2], test, example)
2328 exc_info = (*exc_info[:2], tb)
2329 self._test_result.addSubTest(self._test_case, self._subTest(), exc_info)
2330
2331 def report_failure(self, out, test, example, got):
2332 msg = ('Failed example:\n' + _indent(example.source) +
2333 self._checker.output_difference(example, got, self.optionflags).rstrip('\n'))
2334 exc = self._test_case.failureException(msg)
2335 tb = self._add_traceback(None, test, example)
2336 exc_info = (type(exc), exc, tb)
2337 self._test_result.addSubTest(self._test_case, self._subTest(), exc_info)
2338
2339 def _add_traceback(self, traceback, test, example):
2340 if test.lineno is None or example.lineno is None:
2341 lineno = None
2342 else:
2343 lineno = test.lineno + example.lineno + 1
2344 return types.SimpleNamespace(
2345 tb_frame = types.SimpleNamespace(
2346 f_globals=test.globs,
2347 f_code=types.SimpleNamespace(
2348 co_filename=test.filename,
2349 co_name=test.name,
2350 ),
2351 ),
2352 tb_next = traceback,
2353 tb_lasti = -1,
2354 tb_lineno = lineno,
2355 )
2356
2357
2358class DocTestCase(unittest.TestCase):

Callers 1

runTestMethod · 0.85

Calls

no outgoing calls

Tested by 1

runTestMethod · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…