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