Home | History | Annotate | Download | only in test

Lines Matching full:doctest

3 Test script for doctest.
8 import doctest
173 >>> example = doctest.Example('print 1', '1\n')
183 >>> example = doctest.Example('[].pop()', '', exc_msg,
185 ... options={doctest.ELLIPSIS: True})
193 >>> e = doctest.Example('print 1', '1\n')
197 >>> e = doctest.Example('print 1\n', '1\n')
202 >>> e = doctest.Example('print 1;\nprint 2\n', '1\n2\n')
206 >>> e = doctest.Example('print 1;\nprint 2', '1\n2\n')
211 >>> e = doctest.Example('', '')
218 >>> e = doctest.Example('print 1', '1\n')
222 >>> e = doctest.Example('print 1', '1')
226 >>> e = doctest.Example('print', '')
235 >>> e = doctest.Example('[].pop()', '', exc_msg)
240 >>> e = doctest.Example('[].pop()', '', exc_msg)
246 >>> e = doctest.Example('raise ValueError("1\n 2")', '', exc_msg)
251 >>> e = doctest.Example('raise ValueError("1\n 2")', '', exc_msg)
258 >>> e = doctest.Example('raise X()', '', exc_msg)
263 >>> example = doctest.Example('print 1', '1\n')
264 >>> same_example = doctest.Example('print 1', '1\n')
265 >>> other_example = doctest.Example('print 42', '42\n')
279 Unit tests for the `DocTest` class.
281 DocTest is a collection of examples, extracted from a docstring, along
283 filename, and line number). The docstring is parsed by the `DocTest`
297 >>> parser = doctest.DocTestParser()
301 <DocTest some_test from some_file:20 (2 examples)>
311 attributes on the doctest object:
326 expected output of an example, then `DocTest` will raise a ValueError:
338 continuation lines, then `DocTest` will raise a ValueError:
349 If there's no blank space after a PS1 prompt ('>>>'), then `DocTest`
357 If there's no blank space after a PS2 prompt ('...'), then `DocTest`
365 Compare `DocTest`:
394 >>> DocTestCase = doctest.DocTestCase
424 >>> finder = doctest.DocTestFinder()
434 >>> print tests # doctest: +ELLIPSIS
435 [<DocTest sample_func from ...:17 (1 example)>]
440 >>> tests[0].filename # doctest: +ELLIPSIS
463 >>> excl_empty_finder = doctest.DocTestFinder(exclude_empty=True)
473 ... ''' no doctest examples '''
474 >>> finder.find(no_examples) # doctest: +ELLIPSIS
475 [<DocTest no_examples from ...:1 (no examples)>]
483 >>> finder = doctest.DocTestFinder()
534 >>> finder = doctest.DocTestFinder()
535 >>> # Use module=test.test_doctest, to prevent doctest from
570 We can't guess which will be found in doctest's traversal of
580 >>> tests = doctest.DocTestFinder().find(SampleClass)
595 is really to support backward compatibility in what doctest.master.summarize()
598 >>> tests = doctest.DocTestFinder(exclude_empty=False).find(SampleClass)
618 >>> tests = doctest.DocTestFinder(recurse=False).find(SampleClass)
643 >>> test = doctest.DocTestFinder().find(f)[0]
651 DocTestParser is used to parse docstrings containing doctest examples.
668 >>> parser = doctest.DocTestParser()
670 ... if isinstance(piece, doctest.Example):
707 DocTestRunner is used to run DocTest test cases, and to accumulate
708 statistics. Here's a simple DocTest case we can use:
718 >>> test = doctest.DocTestFinder().find(f)[0]
721 given DocTest case in a given namespace (globs). It returns a tuple
725 >>> doctest.DocTestRunner(verbose=False).run(test)
739 >>> test = doctest.DocTestFinder().find(f)[0]
740 >>> doctest.DocTestRunner(verbose=True).run(test)
741 ... # doctest: +ELLIPSIS
777 >>> test = doctest.DocTestFinder().find(f)[0]
779 >>> doctest.DocTestRunner(verbose=True).run(test)
804 >>> doctest.DocTestRunner().run(test)
809 >>> doctest.DocTestRunner().run(test)
846 >>> test = doctest.DocTestFinder().find(f)[0]
847 >>> doctest.DocTestRunner(verbose=False).run(test)
863 >>> test = doctest.DocTestFinder().find(f)[0]
864 >>> doctest.DocTestRunner(verbose=False).run(test)
865 ... # doctest: +ELLIPSIS
885 >>> test = doctest.DocTestFinder().find(f)[0]
886 >>> doctest.DocTestRunner(verbose=False).run(test)
898 >>> test = doctest.DocTestFinder().find(f)[0]
899 >>> doctest.DocTestRunner(verbose=False).run(test)
900 ... # doctest: +ELLIPSIS
919 ... >>> raise ValueError, 'message' #doctest: +IGNORE_EXCEPTION_DETAIL
923 >>> test = doctest.DocTestFinder().find(f)[0]
924 >>> doctest.DocTestRunner(verbose=False).run(test)
938 >>> test = doctest.DocTestFinder().find(f)[0]
939 >>> doctest.DocTestRunner(verbose=False).run(test)
940 ... # doctest: +ELLIPSIS
965 >>> test = doctest.DocTestFinder().find(f)[0]
966 >>> doctest.DocTestRunner(verbose=False).run(test)
975 ... >>> raise HTTPException('message') #doctest: +IGNORE_EXCEPTION_DETAIL
979 >>> test = doctest.DocTestFinder().find(f)[0]
980 >>> doctest.DocTestRunner(verbose=False).run(test)
990 ... >>> raise HTTPException('message') #doctest: +IGNORE_EXCEPTION_DETAIL
994 >>> test = doctest.DocTestFinder().find(f)[0]
995 >>> doctest.DocTestRunner(verbose=False).run(test)
1002 ... >>> raise ValueError, 'message' #doctest: +IGNORE_EXCEPTION_DETAIL
1006 >>> test = doctest.DocTestFinder().find(f)[0]
1007 >>> doctest.DocTestRunner(verbose=False).run(test)
1008 ... # doctest: +ELLIPSIS
1012 raise ValueError, 'message' #doctest: +IGNORE_EXCEPTION_DETAIL
1030 >>> test = doctest.DocTestFinder().find(f)[0]
1031 >>> doctest.DocTestRunner(verbose=False).run(test)
1032 ... # doctest: +ELLIPSIS
1044 Test that changing sys.displayhook doesn't matter for doctest.
1056 >>> test = doctest.DocTestFinder().find(f)[0]
1057 >>> r = doctest.DocTestRunner(verbose=False).run(test)
1076 runner. These are defined as module constants in doctest, and passed
1087 >>> test = doctest.DocTestFinder().find(f)[0]
1088 >>> doctest.DocTestRunner(verbose=False).run(test)
1092 >>> test = doctest.DocTestFinder().find(f)[0]
1093 doctest.DONT_ACCEPT_TRUE_FOR_1
1094 >>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
1095 ... # doctest: +ELLIPSIS
1113 >>> test = doctest.DocTestFinder().find(f)[0]
1114 >>> doctest.DocTestRunner(verbose=False).run(test)
1118 >>> test = doctest.DocTestFinder().find(f)[0]
1119 >>> flags = doctest.DONT_ACCEPT_BLANKLINE
1120 >>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
1121 ... # doctest: +ELLIPSIS
1143 >>> test = doctest.DocTestFinder().find(f)[0]
1144 >>> doctest.DocTestRunner(verbose=False).run(test)
1145 ... # doctest: +ELLIPSIS
1158 >>> test = doctest.DocTestFinder().find(f)[0]
1159 >>> flags = doctest.NORMALIZE_WHITESPACE
1160 >>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
1164 >>> print range(20) #doctest: +NORMALIZE_WHITESPACE
1175 >>> test = doctest.DocTestFinder().find(f)[0]
1176 >>> doctest.DocTestRunner(verbose=False).run(test)
1177 ... # doctest: +ELLIPSIS
1189 >>> test = doctest.DocTestFinder().find(f)[0]
1190 >>> flags = doctest.ELLIPSIS
1191 >>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
1197 ... print i**2, #doctest: +ELLIPSIS
1202 >>> for i in range(21): #doctest: +ELLIPSIS
1208 >>> print range(20) # doctest:+ELLIPSIS
1211 >>> print range(20) # doctest: +ELLIPSIS
1212 ... # doctest: +NORMALIZE_WHITESPACE
1216 example is not run. It can be useful in contexts where doctest
1223 >>> import unavailable_resource # doctest: +SKIP
1224 >>> unavailable_resource.do_something() # doctest: +SKIP
1225 >>> unavailable_resource.blow_up() # doctest: +SKIP
1231 >>> print random.random() # doctest: +SKIP
1250 >>> test = doctest.DocTestFinder().find(f)[0]
1251 >>> doctest.DocTestRunner(verbose=False).run(test)
1252 ... # doctest: +ELLIPSIS
1276 >>> test = doctest.DocTestFinder().find(f)[0]
1277 >>> flags = doctest.REPORT_UDIFF
1278 >>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
1279 ... # doctest: +ELLIPSIS
1301 >>> test = doctest.DocTestFinder().find(f)[0]
1302 >>> flags = doctest.REPORT_CDIFF
1303 >>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
1304 ... # doctest: +ELLIPSIS
1339 >>> test = doctest.DocTestFinder().find(f)[0]
1340 >>> flags = doctest.REPORT_NDIFF
1341 >>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
1342 ... # doctest: +ELLIPSIS
1370 >>> test = doctest.DocTestFinder().find(f)[0]
1371 >>> flags = doctest.REPORT_ONLY_FIRST_FAILURE
1372 >>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
1373 ... # doctest: +ELLIPSIS
1386 >>> doctest.DocTestRunner(verbose=True, optionflags=flags).run(test)
1387 ... # doctest: +ELLIPSIS
1423 >>> test = doctest.DocTestFinder().find(f)[0]
1424 >>> flags = doctest.REPORT_ONLY_FIRST_FAILURE
1425 >>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
1426 ... # doctest: +ELLIPSIS
1437 we reach into doctest's internals a bit.
1440 >>> unlikely in doctest.OPTIONFLAGS_BY_NAME
1442 >>> new_flag_value = doctest.register_optionflag(unlikely)
1443 >>> unlikely in doctest.OPTIONFLAGS_BY_NAME
1449 >>> redundant_flag_value = doctest.register_optionflag(unlikely)
1454 >>> del doctest.OPTIONFLAGS_BY_NAME[unlikely]
1463 example with a comment of the form ``# doctest: +OPTION``:
1469 ... >>> print range(10) # doctest: +ELLIPSIS
1472 >>> test = doctest.DocTestFinder().find(f)[0]
1473 >>> doctest.DocTestRunner(verbose=False).run(test)
1474 ... # doctest: +ELLIPSIS
1486 comment of the form ``# doctest: -OPTION``:
1493 ... >>> print range(10) # doctest: -ELLIPSIS
1496 >>> test = doctest.DocTestFinder().find(f)[0]
1497 >>> doctest.DocTestRunner(verbose=False,
1498 ... optionflags=doctest.ELLIPSIS).run(test)
1499 ... # doctest: +ELLIPSIS
1503 print range(10) # doctest: -ELLIPSIS
1517 ... >>> print range(10) # doctest: +ELLIPSIS
1523 >>> test = doctest.DocTestFinder().find(f)[0]
1524 >>> doctest.DocTestRunner(verbose=False).run(test)
1525 ... # doctest: +ELLIPSIS
1551 ... ... # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
1554 >>> test = doctest.DocTestFinder().find(f)[0]
1555 >>> doctest.DocTestRunner(verbose=False).run(test)
1556 ... # doctest: +ELLIPSIS
1571 ... ... # doctest: +ELLIPSIS,+NORMALIZE_WHITESPACE
1574 >>> test = doctest.DocTestFinder().find(f)[0]
1575 >>> doctest.DocTestRunner(verbose=False).run(test)
1576 ... # doctest: +ELLIPSIS
1591 ... ... # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
1594 >>> test = doctest.DocTestFinder().find(f)[0]
1595 >>> doctest.DocTestRunner(verbose=False).run(test)
1596 ... # doctest: +ELLIPSIS
1612 ... ... # doctest: +ELLIPSIS
1615 >>> test = doctest.DocTestFinder().find(f)[0]
1616 >>> doctest.DocTestRunner(verbose=False).run(test)
1623 ... >>> for x in range(10): # doctest: +ELLIPSIS
1628 doctest: +ELLIPSIS
1631 >>> test = doctest.DocTestFinder().find(f)[0]
1632 >>> doctest.DocTestRunner(verbose=False).run(test)
1640 ... >>> for x in range(10): # doctest: +ELLIPSIS
1641 ... ... print x, # doctest: +NORMALIZE_WHITESPACE
1644 >>> test = doctest.DocTestFinder().find(f)[0]
1645 >>> doctest.DocTestRunner(verbose=False).run(test)
1648 It is an error to have a comment of the form ``# doctest:`` that is
1654 >>> s = '>>> print 12 #doctest: +BADOPTION'
1655 >>> test = doctest.DocTestParser().get_doctest(s, {}, 's', 's.py', 0)
1657 ValueError: line 1 of the doctest for s has an invalid option: '+BADOPTION'
1660 >>> s = '>>> print 12 #doctest: ELLIPSIS'
1661 >>> test = doctest.DocTestParser().get_doctest(s, {}, 's', 's.py', 0)
1663 ValueError: line 1 of the doctest for s has an invalid option: 'ELLIPSIS'
1668 >>> s = '>>> # doctest: +ELLIPSIS'
1669 >>> test = doctest.DocTestParser().get_doctest(s, {}, 's', 's.py', 0)
1671 ValueError: line 0 of the doctest for s has an option directive on a line with no example: '# doctest: +ELLIPSIS'
1710 >>> print doctest.testsource(test.test_doctest, name)
1721 >>> print doctest.testsource(test.test_doctest, name)
1730 >>> print doctest.testsource(test.test_doctest, name)
1758 >>> try: doctest.debug_src(s)
1772 """Using pdb.set_trace from a doctest.
1774 You can use pdb.set_trace from a doctest. To do so, you must
1776 you use it. The doctest module changes sys.stdout so that it can
1788 >>> parser = doctest.DocTestParser()
1790 >>> runner = doctest.DocTestRunner(verbose=False)
1805 > <doctest foo-bär@baz[2]>(1)<module>()->None
1836 > <doctest test.test_doctest.test_pdb_set_trace[8]>(3)calls_set_trace()->None
1841 > <doctest foo-bär@baz[1]>(1)<module>()
1849 doctest examples:
1871 ... # doctest: +NORMALIZE_WHITESPACE
1873 > <doctest foo-bär@baz[1]>(3)g()->None
1882 > <doctest foo-bär@baz[0]>(2)f()->None
1890 > <doctest foo-bär@baz[2]>(1)<module>()->None
1929 >>> parser = doctest.DocTestParser()
1930 >>> runner = doctest.DocTestRunner(verbose=False)
1946 > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(5)calls_set_trace()
1952 > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(7)f1()
1955 > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(8)f1()
1958 > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(9)f1()
1962 > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(11)f2()
1965 > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(12)f2()
1968 > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(13)f2()
1973 > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(9)f1()
1978 > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(5)calls_set_trace()
1983 > <doctest foo-bär@baz[1]>(1)<module>()
1992 """DocTestSuite creates a unittest test suite from a doctest.
1999 >>> suite = doctest.DocTestSuite(test.sample_doctest)
2005 >>> suite = doctest.DocTestSuite('test.sample_doctest')
2009 The module need not contain any doctest examples:
2011 >>> suite = doctest.DocTestSuite('test.sample_doctest_no_doctests')
2018 ... doctest.DocTestSuite('test.sample_doctest_no_docstrings')
2028 >>> finder = doctest.DocTestFinder(exclude_empty=False)
2029 >>> suite = doctest.DocTestSuite('test.sample_doctest_no_docstrings',
2044 >>> suite = doctest.DocTestSuite('test.sample_doctest', globs={})
2051 >>> suite = doctest.DocTestSuite('test.sample_doctest',
2059 >>> suite = doctest.DocTestSuite('test.sample_doctest',
2060 ... optionflags=doctest.DONT_ACCEPT_BLANKLINE)
2076 >>> suite = doctest.DocTestSuite('test.sample_doctest',
2095 >>> suite = doctest.DocTestSuite('test.sample_doctest', setUp=setUp)
2112 >>> suite = doctest.DocFileSuite('test_doctest.txt',
2123 >>> suite = doctest.DocFileSuite('test_doctest.txt',
2139 ... suite = doctest.DocFileSuite('test_doctest.txt',
2152 >>> suite = doctest.DocFileSuite('../test/test_doctest.txt')
2162 >>> suite = doctest.DocFileSuite('test_doctest.txt',
2177 >>> suite = doctest.DocFileSuite(test_file, module_relative=False)
2183 >>> suite = doctest.DocFileSuite(test_file, module_relative=False,
2190 >>> suite = doctest.DocFileSuite('test_doctest.txt',
2198 provide doctest options:
2200 >>> suite = doctest.DocFileSuite('test_doctest.txt',
2203 ... optionflags=doctest.DONT_ACCEPT_BLANKLINE,
2220 >>> suite = doctest.DocFileSuite('test_doctest.txt',
2242 >>> suite = doctest.DocFileSuite('test_doctest.txt', setUp=setUp)
2254 >>> suite = doctest.DocFileSuite('test_doctest3.txt')
2262 >>> suite = doctest.DocFileSuite('test_doctest.txt',
2289 >>> suite = doctest.DocFileSuite('test_doctest.txt',
2290 ... optionflags=doctest.DONT_ACCEPT_BLANKLINE)
2293 >>> print result.failures[0][1] # doctest: +ELLIPSIS
2304 >>> old = doctest.set_unittest_reportflags(
2305 ... doctest.REPORT_ONLY_FIRST_FAILURE)
2310 >>> print result.failures[0][1] # doctest: +ELLIPSIS
2325 >>> suite = doctest.DocFileSuite('test_doctest.txt',
2326 ... optionflags=doctest.DONT_ACCEPT_BLANKLINE | doctest.REPORT_NDIFF)
2331 >>> print result.failures[0][1] # doctest: +ELLIPSIS
2352 >>> ignored = doctest.set_unittest_reportflags(old)
2358 doctest examples in a given file. In its simple invokation, it is
2369 >>> doctest.testfile('test_doctest.txt') # doctest: +ELLIPSIS
2382 >>> doctest.master = None # Reset master.
2384 (Note: we'll be clearing doctest.master after each call to
2385 `doctest.testfile`, to suppress warnings about multiple tests with the
2391 >>> doctest.testfile('test_doctest.txt', globs=globs)
2393 >>> doctest.master = None # Reset master.
2396 >>> doctest.testfile('test_doctest.txt', globs=globs,
2397 ... extraglobs=extraglobs) # doctest: +ELLIPSIS
2411 >>> doctest.master = None # Reset master.
2416 >>> doctest.testfile('test_doctest.txt', globs=globs,
2419 >>> doctest.master = None # Reset master.
2423 >>> doctest.testfile('test_doctest.txt', globs=globs, verbose=True)
2445 >>> doctest.master = None # Reset master.
2450 >>> doctest.testfile('test_doctest.txt', name='newname')
2451 ... # doctest: +ELLIPSIS
2456 >>> doctest.master = None # Reset master.
2461 >>> doctest.testfile('test_doctest.txt', report=False)
2462 ... # doctest: +ELLIPSIS
2471 >>> doctest.master = None # Reset master.
2477 >>> doctest.testfile('test_doctest.txt', raise_on_error=True)
2478 ... # doctest: +ELLIPSIS
2481 >>> doctest.master = None # Reset master.
2487 >>> doctest.testfile('test_doctest4.txt') # doctest: +ELLIPSIS
2503 >>> doctest.master = None # Reset master.
2505 >>> doctest.testfile('test_doctest4.txt', encoding='utf-8')
2507 >>> doctest.master = None # Reset master.
2512 >>> doctest._encoding, saved_encoding = 'utf-8', doctest._encoding
2513 >>> doctest.testfile('test_doctest4.txt', encoding='utf-8', verbose=True)
2540 >>> doctest._encoding = saved_encoding
2541 >>> doctest.master = None # Reset master.
2545 # old_test1, ... used to live in doctest.py, but cluttered it. Note
2546 # that these use the deprecated doctest.Tester, so should go away (or
2550 >>> from doctest import Tester
2587 >>> from doctest import Tester
2611 >>> from doctest import Tester
2647 >>> from doctest import Tester
2661 >>> doctest.testmod(m1, verbose=False)
2670 # Check the doctest cases in doctest itself:
2671 test_support.run_doctest(doctest, verbosity=True)
2683 # Check the doctest cases defined here:
2691 tracer.run('reload(doctest); test_main()')
2699 test_coverage('/tmp/doctest.cover')