+#!/usr/bin/python
+
+import unittest
+import os
+
+basedir = os.path.realpath(os.path.dirname(__file__))
+unittestsdir = os.path.join( \
+ basedir, \
+ "unittests")
+
+unittestmodules = []
+
+fullsuite = unittest.TestSuite()
+
+# walk our directory tree looking for any modules available
+for root, dir, files in os.walk(unittestsdir):
+ for file in files:
+ if file[-3:] == ".py" and file != "__init__.py":
+ moduleinfo = ".".join(root[len(basedir)+1:].split(os.sep))
+ unittestmodules.append(".".join((moduleinfo, file[0:-3])))
+
+# run through the found modules and look for test suites
+for unittestmodule in unittestmodules:
+ # try importing the test and getting the suite
+ try:
+ suite_func = getattr(__import__(unittestmodule, {}, {}, ['']), "suite")
+ # add the suite to the tests
+ fullsuite.addTest(suite_func())
+ except:
+ # there was not test suite in there to run, skip it
+ pass
+
+testrunner = unittest.TextTestRunner()
+testrunner.run(fullsuite)