mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
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.
57 lines
1.9 KiB
57 lines
1.9 KiB
15 years ago
|
#!/usr/bin/env python
|
||
|
|
||
|
# This script uses the unittest module to find all the tests in the
|
||
|
# same directory and run them.
|
||
|
#
|
||
|
# 2009-01-23, Roman Stanchak (rstanchak@gmail.com)
|
||
|
#
|
||
|
#
|
||
|
# For a test to be detected and run by this script, it must
|
||
|
# 1. Use unittest
|
||
|
# 2. define a suite() method that returns a unittest.TestSuite containing
|
||
|
# the tests to be run
|
||
|
|
||
|
import cvtestutils
|
||
|
import unittest
|
||
|
import types
|
||
|
import os
|
||
|
import imp
|
||
|
|
||
|
def suites( dirname ):
|
||
|
suite_list=[]
|
||
|
|
||
|
for fn in os.listdir( dirname ):
|
||
|
# tests must be named test_*.py or *_tests.py
|
||
|
if not ( fn.lower().endswith('.py') and
|
||
|
(fn.lower().startswith('test_') or fn.lower().endswith('_tests.py')) ):
|
||
|
continue
|
||
|
|
||
|
module_name = fn[0:-3]
|
||
|
fullpath = os.path.realpath( dirname + os.path.sep + fn )
|
||
|
test_module = None
|
||
|
try:
|
||
|
test_module = imp.load_source( module_name, fullpath )
|
||
|
except:
|
||
|
print "Error importing python code in '%s'" % fn
|
||
|
if test_module:
|
||
|
try:
|
||
|
suite_list.append( test_module.suite() )
|
||
|
print "Added tests from %s" % fn
|
||
|
except:
|
||
|
print "%s does not contain a suite() method, skipping" % fn
|
||
|
return unittest.TestSuite(suite_list)
|
||
|
|
||
|
|
||
|
def col2( c1, c2, w=72 ):
|
||
|
return "%s%s" % (c1, c2.rjust(w-len(c1)))
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
print '----------------------------------------------------------------------'
|
||
|
print 'Searching for tests...'
|
||
|
print '----------------------------------------------------------------------'
|
||
|
suite = suites( os.path.dirname( os.path.realpath(__file__) ))
|
||
|
print '----------------------------------------------------------------------'
|
||
|
print 'Running tests...'
|
||
|
print '----------------------------------------------------------------------'
|
||
|
unittest.TextTestRunner(verbosity=2).run(suite)
|