summaryrefslogtreecommitdiffstats
path: root/tests/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/__init__.py')
-rw-r--r--tests/__init__.py32
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