diff options
Diffstat (limited to 'tests/__init__.py')
-rw-r--r-- | tests/__init__.py | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/tests/__init__.py b/tests/__init__.py index a32ca05d3..71d699770 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -7,16 +7,34 @@ import unittest def main(): - tests = ["test_atoms", "test_util"] + testDirs = ["portage/", "portage_util/"] suite = unittest.TestSuite() - for mod in tests: + for dir in testDirs: + suite.addTests(getTests(dir)) + + return unittest.TextTestRunner(verbosity=2).run(suite) + +def getTests( path ): + """ + + path is the path to a given subdir ( 'portage/' for example) + This does a simple filter on files in that dir to give us modules + to import + + """ + import os + files = os.listdir( path ) + files = [ f[:-3] for f in files if f.startswith("test_") and f.endswith(".py") ] + + result = [] + for file in files: try: - loadMod = __import__(mod) - tmpSuite = unittest.TestLoader().loadTestsFromModule(loadMod) - suite.addTest(tmpSuite) + # Make the trailing / a . for module importing + path2 = path[:-1] + "." + file + mod = __import__( path2, globals(), locals(), [path[-1]]) + result.append( unittest.TestLoader().loadTestsFromModule(mod) ) except ImportError: pass - - return unittest.TextTestRunner(verbosity=2).run(suite) + return result |