From be41793f50c29aa6c0d17a8616ce214b71d81e0a Mon Sep 17 00:00:00 2001 From: Alec Warner Date: Wed, 10 Jan 2007 13:35:03 +0000 Subject: Take Genone's suggestion and break the modules up into module oriented fashion. Tests for portage.py go in portage/ and so on and so forth... svn path=/main/trunk/; revision=5525 --- tests/__init__.py | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) (limited to 'tests/__init__.py') 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 -- cgit v1.2.3-1-g7c22