mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
Moved some test cases from doctest to test_doctest.
This commit is contained in:
parent
3fa8c2079a
commit
a7def72a08
2 changed files with 126 additions and 118 deletions
116
Lib/doctest.py
116
Lib/doctest.py
|
@ -2478,122 +2478,6 @@ __test__ = {"_TestClass": _TestClass,
|
|||
""",
|
||||
}
|
||||
|
||||
def test1(): r"""
|
||||
>>> warnings.filterwarnings("ignore", "class Tester", DeprecationWarning,
|
||||
... "doctest", 0)
|
||||
>>> from doctest import Tester
|
||||
>>> t = Tester(globs={'x': 42}, verbose=0)
|
||||
>>> t.runstring(r'''
|
||||
... >>> x = x * 2
|
||||
... >>> print x
|
||||
... 42
|
||||
... ''', 'XYZ')
|
||||
**********************************************************************
|
||||
Line 3, in XYZ
|
||||
Failed example:
|
||||
print x
|
||||
Expected:
|
||||
42
|
||||
Got:
|
||||
84
|
||||
(1, 2)
|
||||
>>> t.runstring(">>> x = x * 2\n>>> print x\n84\n", 'example2')
|
||||
(0, 2)
|
||||
>>> t.summarize()
|
||||
**********************************************************************
|
||||
1 items had failures:
|
||||
1 of 2 in XYZ
|
||||
***Test Failed*** 1 failures.
|
||||
(1, 4)
|
||||
>>> t.summarize(verbose=1)
|
||||
1 items passed all tests:
|
||||
2 tests in example2
|
||||
**********************************************************************
|
||||
1 items had failures:
|
||||
1 of 2 in XYZ
|
||||
4 tests in 2 items.
|
||||
3 passed and 1 failed.
|
||||
***Test Failed*** 1 failures.
|
||||
(1, 4)
|
||||
"""
|
||||
|
||||
def test2(): r"""
|
||||
>>> warnings.filterwarnings("ignore", "class Tester",
|
||||
... DeprecationWarning, "doctest", 0)
|
||||
>>> t = Tester(globs={}, verbose=1)
|
||||
>>> test = r'''
|
||||
... # just an example
|
||||
... >>> x = 1 + 2
|
||||
... >>> x
|
||||
... 3
|
||||
... '''
|
||||
>>> t.runstring(test, "Example")
|
||||
Running string Example
|
||||
Trying: x = 1 + 2
|
||||
Expecting: nothing
|
||||
ok
|
||||
Trying: x
|
||||
Expecting: 3
|
||||
ok
|
||||
0 of 2 examples failed in string Example
|
||||
(0, 2)
|
||||
"""
|
||||
def test3(): r"""
|
||||
>>> warnings.filterwarnings("ignore", "class Tester",
|
||||
... DeprecationWarning, "doctest", 0)
|
||||
>>> t = Tester(globs={}, verbose=0)
|
||||
>>> def _f():
|
||||
... '''Trivial docstring example.
|
||||
... >>> assert 2 == 2
|
||||
... '''
|
||||
... return 32
|
||||
...
|
||||
>>> t.rundoc(_f) # expect 0 failures in 1 example
|
||||
(0, 1)
|
||||
"""
|
||||
def test4(): """
|
||||
>>> import new
|
||||
>>> m1 = new.module('_m1')
|
||||
>>> m2 = new.module('_m2')
|
||||
>>> test_data = \"""
|
||||
... def _f():
|
||||
... '''>>> assert 1 == 1
|
||||
... '''
|
||||
... def g():
|
||||
... '''>>> assert 2 != 1
|
||||
... '''
|
||||
... class H:
|
||||
... '''>>> assert 2 > 1
|
||||
... '''
|
||||
... def bar(self):
|
||||
... '''>>> assert 1 < 2
|
||||
... '''
|
||||
... \"""
|
||||
>>> exec test_data in m1.__dict__
|
||||
>>> exec test_data in m2.__dict__
|
||||
>>> m1.__dict__.update({"f2": m2._f, "g2": m2.g, "h2": m2.H})
|
||||
|
||||
Tests that objects outside m1 are excluded:
|
||||
|
||||
>>> warnings.filterwarnings("ignore", "class Tester",
|
||||
... DeprecationWarning, "doctest", 0)
|
||||
>>> t = Tester(globs={}, verbose=0)
|
||||
>>> t.rundict(m1.__dict__, "rundict_test", m1) # f2 and g2 and h2 skipped
|
||||
(0, 4)
|
||||
|
||||
Once more, not excluding stuff outside m1:
|
||||
|
||||
>>> t = Tester(globs={}, verbose=0)
|
||||
>>> t.rundict(m1.__dict__, "rundict_test_pvt") # None are skipped.
|
||||
(0, 8)
|
||||
|
||||
The exclusion of objects from outside the designated module is
|
||||
meant to be invoked automagically by testmod.
|
||||
|
||||
>>> testmod(m1, verbose=False)
|
||||
(0, 4)
|
||||
"""
|
||||
|
||||
def _test():
|
||||
r = unittest.TextTestRunner()
|
||||
r.run(DocTestSuite())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue