mirror of
https://github.com/python/cpython.git
synced 2024-11-24 10:24:35 +08:00
bpo-45229: Make doctest tests discoverable (GH-28986)
This commit is contained in:
parent
a774285e7d
commit
8d6740f489
@ -3114,20 +3114,11 @@ def test_no_trailing_whitespace_stripping():
|
||||
patches that contain trailing whitespace. More info on Issue 24746.
|
||||
"""
|
||||
|
||||
######################################################################
|
||||
## Main
|
||||
######################################################################
|
||||
|
||||
def test_main():
|
||||
# Check the doctest cases in doctest itself:
|
||||
ret = support.run_doctest(doctest, verbosity=True)
|
||||
|
||||
# Check the doctest cases defined here:
|
||||
from test import test_doctest
|
||||
support.run_doctest(test_doctest, verbosity=True)
|
||||
|
||||
# Run unittests
|
||||
support.run_unittest(__name__)
|
||||
def load_tests(loader, tests, pattern):
|
||||
tests.addTest(doctest.DocTestSuite(doctest))
|
||||
tests.addTest(doctest.DocTestSuite())
|
||||
return tests
|
||||
|
||||
|
||||
def test_coverage(coverdir):
|
||||
@ -3140,8 +3131,9 @@ def test_coverage(coverdir):
|
||||
r.write_results(show_missing=True, summary=True,
|
||||
coverdir=coverdir)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if '-c' in sys.argv:
|
||||
test_coverage('/tmp/doctest.cover')
|
||||
else:
|
||||
test_main()
|
||||
unittest.main()
|
||||
|
@ -13,7 +13,6 @@ the example. It should be ignored:
|
||||
|
||||
import sys
|
||||
import unittest
|
||||
from test import support
|
||||
if sys.flags.optimize >= 2:
|
||||
raise unittest.SkipTest("Cannot test docstrings with -O2")
|
||||
|
||||
@ -107,17 +106,21 @@ class C(object):
|
||||
"""
|
||||
return val
|
||||
|
||||
def test_main():
|
||||
from test import test_doctest2
|
||||
EXPECTED = 19
|
||||
f, t = support.run_doctest(test_doctest2)
|
||||
if t != EXPECTED:
|
||||
raise support.TestFailed("expected %d tests to run, not %d" %
|
||||
(EXPECTED, t))
|
||||
|
||||
class Test(unittest.TestCase):
|
||||
def test_testmod(self):
|
||||
import doctest, sys
|
||||
EXPECTED = 19
|
||||
f, t = doctest.testmod(sys.modules[__name__])
|
||||
if f:
|
||||
self.fail("%d of %d doctests failed" % (f, t))
|
||||
if t != EXPECTED:
|
||||
self.fail("expected %d tests to run, not %d" % (EXPECTED, t))
|
||||
|
||||
|
||||
# Pollute the namespace with a bunch of imported functions and classes,
|
||||
# to make sure they don't get tested.
|
||||
from doctest import *
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_main()
|
||||
unittest.main()
|
||||
|
Loading…
Reference in New Issue
Block a user