def teststring(s, name, globs=None, verbose=None, report=True, optionflags=0, extraglobs=None, raise_on_error=False, parser=doctest.DocTestParser()): from doctest import DebugRunner, DocTestRunner, master # Assemble the globals. if globs is None: globs = {} else: globs = globs.copy() if extraglobs is not None: globs.update(extraglobs) if raise_on_error: runner = DebugRunner(verbose=verbose, optionflags=optionflags) else: runner = DocTestRunner(verbose=verbose, optionflags=optionflags) test = parser.get_doctest(s, globs, name, name, 0) runner.run(test) if report: runner.summarize() if master is None: master = runner else: master.merge(runner) return runner.failures, runner.tries
def ic_testmod(m, name=None, globs=None, verbose=None, report=True, optionflags=0, extraglobs=None, raise_on_error=False, exclude_empty=False): """See original code in doctest.testmod.""" if name is None: name = m.__name__ finder = DocTestFinder(exclude_empty=exclude_empty) if raise_on_error: runner = DebugRunner(checker=Py23DocChecker(), verbose=verbose, optionflags=optionflags) else: runner = DocTestRunner(checker=Py23DocChecker(), verbose=verbose, optionflags=optionflags) for test in finder.find(m, name, globs=globs, extraglobs=extraglobs): runner.run(test) if report: runner.summarize() return doctest.TestResults(runner.failures, runner.tries)
def _test_docstr(docstr, verbose=True, optionflags=0, raise_on_error=True): parser = DocTestParser() if raise_on_error: runner = DebugRunner(verbose=verbose, optionflags=optionflags) else: runner = DocTestRunner(verbose=verbose, optionflags=optionflags) test = parser.get_doctest(docstr, {}, __name__, __file__, 0) runner.run(test)