Source

hachoir / hachoir-regex / test_doc.py

#!/usr/bin/python
import doctest
from sys import exit

def testDoc(filename, name=None):
    print "--- %s: Run tests" % filename
    failure, nb_test = doctest.testfile(
        filename, optionflags=doctest.ELLIPSIS, name=name)
    if failure:
        exit(1)
    print "--- %s: End of tests" % filename

def importModule(name):
    mod = __import__(name)
    components = name.split('.')
    for comp in components[1:]:
        mod = getattr(mod, comp)
    return mod

def testModule(name):
    print "--- Test module %s" % name
    module = importModule(name)
    failure, nb_test = doctest.testmod(module)
    if failure:
        exit(1)
    print "--- End of test"

def main():
    # Test documentation in doc/*.rst files
    testDoc('README')
    testDoc('regex.rst')
    testDoc('regression.rst')

    # Test documentation of some functions/classes
    testModule("hachoir_regex.compatibility")
    testModule("hachoir_regex.tools")
    testModule("hachoir_regex.parser")
    testModule("hachoir_regex.regex")
    testModule("hachoir_regex.pattern")

if __name__ == "__main__":
    main()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.