You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
34 lines
1.2 KiB
"""Regression testing framework
|
|
|
|
This module will search for scripts in the same directory named
|
|
XYZtest.py. Each such script should be a test suite that tests a
|
|
module through PyUnit. (As of Python 2.1, PyUnit is included in
|
|
the standard library as "unittest".) This script will aggregate all
|
|
found test suites into one big test suite and run them all at once.
|
|
"""
|
|
|
|
import sys, os, re, unittest
|
|
import native_libvlc_test
|
|
|
|
|
|
def printAndRun( module ):
|
|
# print "Running tests from module " + module.__name__;
|
|
return unittest.defaultTestLoader.loadTestsFromModule( module )
|
|
|
|
def regressionTest():
|
|
path = os.path.abspath(os.path.dirname(sys.argv[0]))
|
|
files = os.listdir(path)
|
|
test = re.compile("test.py$", re.IGNORECASE)
|
|
files = filter(test.search, files)
|
|
filenameToModuleName = lambda f: os.path.splitext(f)[0]
|
|
moduleNames = map(filenameToModuleName, files)
|
|
modules = map(__import__, moduleNames)
|
|
|
|
native_libvlc_test.init()
|
|
|
|
# load = unittest.defaultTestLoader.loadTestsFromModule
|
|
load = printAndRun
|
|
return unittest.TestSuite(map(load, modules))
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main(defaultTest="regressionTest")
|
|
|