mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Add std test for doctest.
This commit is contained in:
parent
ecb6fb95a2
commit
6db54c69a4
2 changed files with 301 additions and 0 deletions
299
Lib/test/output/test_doctest
Normal file
299
Lib/test/output/test_doctest
Normal file
|
@ -0,0 +1,299 @@
|
||||||
|
test_doctest
|
||||||
|
Running doctest.__doc__
|
||||||
|
Trying: 1/0
|
||||||
|
Expecting:
|
||||||
|
Traceback (innermost last):
|
||||||
|
File "<stdin>", line 1, in ?
|
||||||
|
ZeroDivisionError: integer division or modulo by zero
|
||||||
|
ok
|
||||||
|
Trying: x = 12
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: x
|
||||||
|
Expecting: 12
|
||||||
|
ok
|
||||||
|
Trying:
|
||||||
|
if x == 13:
|
||||||
|
print "yes"
|
||||||
|
else:
|
||||||
|
print "no"
|
||||||
|
print "NO"
|
||||||
|
print "NO!!!"
|
||||||
|
Expecting:
|
||||||
|
no
|
||||||
|
NO
|
||||||
|
NO!!!
|
||||||
|
ok
|
||||||
|
Trying:
|
||||||
|
if "yes" == \
|
||||||
|
"y" + \
|
||||||
|
"es": # in the source code you'll see the doubled backslashes
|
||||||
|
print 'yes'
|
||||||
|
Expecting: yes
|
||||||
|
ok
|
||||||
|
Trying: assert "Easy!"
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: import math
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: math.floor(1.9)
|
||||||
|
Expecting: 1.0
|
||||||
|
ok
|
||||||
|
0 of 8 examples failed in doctest.__doc__
|
||||||
|
Running doctest.Tester.__doc__
|
||||||
|
Trying: from doctest import Tester
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t = Tester(globs={'x': 42}, verbose=0)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying:
|
||||||
|
t.runstring(r'''
|
||||||
|
>>> x = x * 2
|
||||||
|
>>> print x
|
||||||
|
42
|
||||||
|
''', 'XYZ')
|
||||||
|
Expecting:
|
||||||
|
*****************************************************************
|
||||||
|
Failure in example: print x
|
||||||
|
from line #2 of XYZ
|
||||||
|
Expected: 42
|
||||||
|
Got: 84
|
||||||
|
(1, 2)
|
||||||
|
ok
|
||||||
|
Trying: t.runstring(">>> x = x * 2\n>>> print x\n84\n", 'example2')
|
||||||
|
Expecting: (0, 2)
|
||||||
|
ok
|
||||||
|
Trying: t.summarize()
|
||||||
|
Expecting:
|
||||||
|
1 items had failures:
|
||||||
|
1 of 2 in XYZ
|
||||||
|
***Test Failed*** 1 failures.
|
||||||
|
(1, 4)
|
||||||
|
ok
|
||||||
|
Trying: t.summarize(verbose=1)
|
||||||
|
Expecting:
|
||||||
|
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)
|
||||||
|
ok
|
||||||
|
0 of 6 examples failed in doctest.Tester.__doc__
|
||||||
|
Running doctest.Tester.__init__.__doc__
|
||||||
|
0 of 0 examples failed in doctest.Tester.__init__.__doc__
|
||||||
|
Running doctest.Tester.run__test__.__doc__
|
||||||
|
0 of 0 examples failed in doctest.Tester.run__test__.__doc__
|
||||||
|
Running doctest.Tester.runstring.__doc__
|
||||||
|
Trying: t = Tester(globs={}, verbose=1)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying:
|
||||||
|
test = r'''
|
||||||
|
# just an example
|
||||||
|
>>> x = 1 + 2
|
||||||
|
>>> x
|
||||||
|
3
|
||||||
|
'''
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t.runstring(test, "Example")
|
||||||
|
Expecting:
|
||||||
|
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)
|
||||||
|
ok
|
||||||
|
0 of 3 examples failed in doctest.Tester.runstring.__doc__
|
||||||
|
Running doctest.Tester.summarize.__doc__
|
||||||
|
0 of 0 examples failed in doctest.Tester.summarize.__doc__
|
||||||
|
Running doctest.Tester.rundict.__doc__
|
||||||
|
Trying:
|
||||||
|
def _f():
|
||||||
|
'''>>> assert 1 == 1
|
||||||
|
'''
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying:
|
||||||
|
def g():
|
||||||
|
'''>>> assert 2 != 1
|
||||||
|
'''
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: d = {"_f": _f, "g": g}
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t = Tester(globs={}, verbose=0)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t.rundict(d, "rundict_test") # _f is skipped
|
||||||
|
Expecting: (0, 1)
|
||||||
|
ok
|
||||||
|
Trying: t = Tester(globs={}, verbose=0, isprivate=lambda x,y: 0)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t.rundict(d, "rundict_test_pvt") # both are searched
|
||||||
|
Expecting: (0, 2)
|
||||||
|
ok
|
||||||
|
0 of 7 examples failed in doctest.Tester.rundict.__doc__
|
||||||
|
Running doctest.Tester.merge.__doc__
|
||||||
|
Trying: from doctest import Tester
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t1 = Tester(globs={}, verbose=0)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying:
|
||||||
|
t1.runstring('''
|
||||||
|
>>> x = 12
|
||||||
|
>>> print x
|
||||||
|
12
|
||||||
|
''', "t1example")
|
||||||
|
Expecting: (0, 2)
|
||||||
|
ok
|
||||||
|
Trying: t2 = Tester(globs={}, verbose=0)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying:
|
||||||
|
t2.runstring('''
|
||||||
|
>>> x = 13
|
||||||
|
>>> print x
|
||||||
|
13
|
||||||
|
''', "t2example")
|
||||||
|
Expecting: (0, 2)
|
||||||
|
ok
|
||||||
|
Trying: common = ">>> assert 1 + 2 == 3\n"
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t1.runstring(common, "common")
|
||||||
|
Expecting: (0, 1)
|
||||||
|
ok
|
||||||
|
Trying: t2.runstring(common, "common")
|
||||||
|
Expecting: (0, 1)
|
||||||
|
ok
|
||||||
|
Trying: t1.merge(t2)
|
||||||
|
Expecting: *** Tester.merge: 'common' in both testers; summing outcomes.
|
||||||
|
ok
|
||||||
|
Trying: t1.summarize(1)
|
||||||
|
Expecting:
|
||||||
|
3 items passed all tests:
|
||||||
|
2 tests in common
|
||||||
|
2 tests in t1example
|
||||||
|
2 tests in t2example
|
||||||
|
6 tests in 3 items.
|
||||||
|
6 passed and 0 failed.
|
||||||
|
Test passed.
|
||||||
|
(0, 6)
|
||||||
|
ok
|
||||||
|
0 of 10 examples failed in doctest.Tester.merge.__doc__
|
||||||
|
Running doctest.Tester.rundoc.__doc__
|
||||||
|
Trying: t = Tester(globs={}, verbose=0)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying:
|
||||||
|
def _f():
|
||||||
|
'''Trivial docstring example.
|
||||||
|
>>> assert 2 == 2
|
||||||
|
'''
|
||||||
|
return 32
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t.rundoc(_f) # expect 0 failures in 1 example
|
||||||
|
Expecting: (0, 1)
|
||||||
|
ok
|
||||||
|
0 of 3 examples failed in doctest.Tester.rundoc.__doc__
|
||||||
|
Running doctest.is_private.__doc__
|
||||||
|
Trying: is_private("a.b", "my_func")
|
||||||
|
Expecting: 0
|
||||||
|
ok
|
||||||
|
Trying: is_private("____", "_my_func")
|
||||||
|
Expecting: 1
|
||||||
|
ok
|
||||||
|
Trying: is_private("someclass", "__init__")
|
||||||
|
Expecting: 0
|
||||||
|
ok
|
||||||
|
Trying: is_private("sometypo", "__init_")
|
||||||
|
Expecting: 1
|
||||||
|
ok
|
||||||
|
Trying: is_private("x.y.z", "_")
|
||||||
|
Expecting: 1
|
||||||
|
ok
|
||||||
|
Trying: is_private("_x.y.z", "__")
|
||||||
|
Expecting: 0
|
||||||
|
ok
|
||||||
|
Trying: is_private("", "") # senseless but consistent
|
||||||
|
Expecting: 0
|
||||||
|
ok
|
||||||
|
0 of 7 examples failed in doctest.is_private.__doc__
|
||||||
|
Running doctest.run_docstring_examples.__doc__
|
||||||
|
0 of 0 examples failed in doctest.run_docstring_examples.__doc__
|
||||||
|
Running doctest.testmod.__doc__
|
||||||
|
0 of 0 examples failed in doctest.testmod.__doc__
|
||||||
|
Running doctest.__test__._TestClass.__doc__
|
||||||
|
Trying: _TestClass(13).get() + _TestClass(-12).get()
|
||||||
|
Expecting: 1
|
||||||
|
ok
|
||||||
|
Trying: hex(_TestClass(13).square().get())
|
||||||
|
Expecting: '0xa9'
|
||||||
|
ok
|
||||||
|
0 of 2 examples failed in doctest.__test__._TestClass.__doc__
|
||||||
|
Running doctest.__test__._TestClass.get.__doc__
|
||||||
|
Trying: x = _TestClass(-42)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: print x.get()
|
||||||
|
Expecting: -42
|
||||||
|
ok
|
||||||
|
0 of 2 examples failed in doctest.__test__._TestClass.get.__doc__
|
||||||
|
Running doctest.__test__._TestClass.__init__.__doc__
|
||||||
|
Trying: t = _TestClass(123)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: print t.get()
|
||||||
|
Expecting: 123
|
||||||
|
ok
|
||||||
|
0 of 2 examples failed in doctest.__test__._TestClass.__init__.__doc__
|
||||||
|
Running doctest.__test__._TestClass.square.__doc__
|
||||||
|
Trying: _TestClass(13).square().get()
|
||||||
|
Expecting: 169
|
||||||
|
ok
|
||||||
|
0 of 1 examples failed in doctest.__test__._TestClass.square.__doc__
|
||||||
|
Running string doctest.__test__.string
|
||||||
|
Trying: x = 1; y = 2
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: x + y, x * y
|
||||||
|
Expecting: (3, 2)
|
||||||
|
ok
|
||||||
|
0 of 2 examples failed in string doctest.__test__.string
|
||||||
|
5 items had no tests:
|
||||||
|
doctest.Tester.__init__
|
||||||
|
doctest.Tester.run__test__
|
||||||
|
doctest.Tester.summarize
|
||||||
|
doctest.run_docstring_examples
|
||||||
|
doctest.testmod
|
||||||
|
12 items passed all tests:
|
||||||
|
8 tests in doctest
|
||||||
|
6 tests in doctest.Tester
|
||||||
|
10 tests in doctest.Tester.merge
|
||||||
|
7 tests in doctest.Tester.rundict
|
||||||
|
3 tests in doctest.Tester.rundoc
|
||||||
|
3 tests in doctest.Tester.runstring
|
||||||
|
2 tests in doctest.__test__._TestClass
|
||||||
|
2 tests in doctest.__test__._TestClass.__init__
|
||||||
|
2 tests in doctest.__test__._TestClass.get
|
||||||
|
1 tests in doctest.__test__._TestClass.square
|
||||||
|
2 tests in doctest.__test__.string
|
||||||
|
7 tests in doctest.is_private
|
||||||
|
53 tests in 17 items.
|
||||||
|
53 passed and 0 failed.
|
||||||
|
Test passed.
|
2
Lib/test/test_doctest.py
Normal file
2
Lib/test/test_doctest.py
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
import doctest
|
||||||
|
doctest.testmod(doctest, verbose=1)
|
Loading…
Add table
Add a link
Reference in a new issue