mailr2774 - /branches/test_suite/test_suite/unit_tests/unit_test_runner.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by garyt on November 08, 2006 - 11:16:
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()




Related Messages


Powered by MHonArc, Updated Wed Nov 08 17:40:05 2006