summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2001-02-10 01:36:47 (GMT)
committerTim Peters <tim.peters@gmail.com>2001-02-10 01:36:47 (GMT)
commit6db54c69a40a0358efc237292ee55a2de5122cd4 (patch)
treedd7c7f20e23b6492a47919fe3793c3109d89980f
parentecb6fb95a2d34f33e6a52aae45eca920aa37e8c8 (diff)
downloadcpython-6db54c69a40a0358efc237292ee55a2de5122cd4.zip
cpython-6db54c69a40a0358efc237292ee55a2de5122cd4.tar.gz
cpython-6db54c69a40a0358efc237292ee55a2de5122cd4.tar.bz2
Add std test for doctest.
-rw-r--r--Lib/test/output/test_doctest299
-rw-r--r--Lib/test/test_doctest.py2
2 files changed, 301 insertions, 0 deletions
diff --git a/Lib/test/output/test_doctest b/Lib/test/output/test_doctest
new file mode 100644
index 0000000..2eee5a4
--- /dev/null
+++ b/Lib/test/output/test_doctest
@@ -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.
diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py
new file mode 100644
index 0000000..90a55db
--- /dev/null
+++ b/Lib/test/test_doctest.py
@@ -0,0 +1,2 @@
+import doctest
+doctest.testmod(doctest, verbose=1)