Author: varioustoxins
Date: Wed Nov 8 11:15:47 2006
New Revision: 2774
URL: http://svn.gna.org/viewcvs/relax?rev=2774&view=rev
Log:
initial checkin of a unit test runner
note this version only runs one test test_float.py!
Added:
branches/test_suite/test_suite/unit_tests/unit_test_runner.py
Added: branches/test_suite/test_suite/unit_tests/unit_test_runner.py
URL:
http://svn.gna.org/viewcvs/relax/branches/test_suite/test_suite/unit_tests/unit_test_runner.py?rev=2774&view=auto
==============================================================================
--- branches/test_suite/test_suite/unit_tests/unit_test_runner.py (added)
+++ branches/test_suite/test_suite/unit_tests/unit_test_runner.py Wed Nov 8
11:15:47 2006
@@ -1,0 +1,40 @@
+import os,re,unittest,string,sys
+
+class TestFinder:
+ pattern = re.compile('test.*\.py$')
+ suite = unittest.TestSuite()
+ def __init__(self,rootPath=None):
+ self.rootPath = rootPath
+ if self.rootPath == None:
+ self.rootPath = os.getcwd()
+ def importClass(self,name):
+ mod = __import__(name)
+ components = name.split('.')
+ for comp in components[1:]:
+ mod = getattr(mod, comp)
+ return mod
+
+ def scanPaths(self,path=None):
+ for (dirpath, dirnames, filenames) in os.walk(self.rootPath):
+ print dirpath, dirnames, filenames
+ for filename in filenames:
+ if self.pattern.match(filename):
+ moduleName = os.path.splitext(filename)[0]
+ className = string.upper(moduleName[0]) + moduleName[1:]
+ module = __import__ (moduleName)
+ clazz = getattr(module,className)
+
+
+ self.suite =
unittest.TestLoader().loadTestsFromTestCase(clazz)
+ #
+ def run(self):
+ runner = unittest.TextTestRunner()
+ runner.run(self.suite)
+
+class run_unit_tests(object):
+ def __init__(self,test_directory=None):
+ pass
+if __name__ == '__main__':
+ finder = TestFinder()
+ finder.scanPaths()
+ finder.run()
_______________________________________________
relax (http://nmr-relax.com)
This is the relax-commits mailing list
relax-commits@xxxxxxx
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits