xref: /OK3568_Linux_fs/yocto/bitbake/lib/bs4/tests/test_docs.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun"Test harness for doctests."
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun# pylint: disable-msg=E0611,W0142
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun__metaclass__ = type
6*4882a593Smuzhiyun__all__ = [
7*4882a593Smuzhiyun    'additional_tests',
8*4882a593Smuzhiyun    ]
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunimport doctest
11*4882a593Smuzhiyun#from pkg_resources import (
12*4882a593Smuzhiyun#    resource_filename, resource_exists, resource_listdir, cleanup_resources)
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunDOCTEST_FLAGS = (
15*4882a593Smuzhiyun    doctest.ELLIPSIS |
16*4882a593Smuzhiyun    doctest.NORMALIZE_WHITESPACE |
17*4882a593Smuzhiyun    doctest.REPORT_NDIFF)
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun# def additional_tests():
20*4882a593Smuzhiyun#     "Run the doc tests (README.txt and docs/*, if any exist)"
21*4882a593Smuzhiyun#     doctest_files = [
22*4882a593Smuzhiyun#         os.path.abspath(resource_filename('bs4', 'README.txt'))]
23*4882a593Smuzhiyun#     if resource_exists('bs4', 'docs'):
24*4882a593Smuzhiyun#         for name in resource_listdir('bs4', 'docs'):
25*4882a593Smuzhiyun#             if name.endswith('.txt'):
26*4882a593Smuzhiyun#                 doctest_files.append(
27*4882a593Smuzhiyun#                     os.path.abspath(
28*4882a593Smuzhiyun#                         resource_filename('bs4', 'docs/%s' % name)))
29*4882a593Smuzhiyun#     kwargs = dict(module_relative=False, optionflags=DOCTEST_FLAGS)
30*4882a593Smuzhiyun#     atexit.register(cleanup_resources)
31*4882a593Smuzhiyun#     return unittest.TestSuite((
32*4882a593Smuzhiyun#         doctest.DocFileSuite(*doctest_files, **kwargs)))
33