run_all_tests: added script to run all tests
authorPaul Brossier <piem@piem.org>
Tue, 10 Jul 2012 02:35:24 +0000 (19:35 -0700)
committerPaul Brossier <piem@piem.org>
Tue, 10 Jul 2012 02:35:24 +0000 (19:35 -0700)
interfaces/python/run_all_tests [new file with mode: 0755]

diff --git a/interfaces/python/run_all_tests b/interfaces/python/run_all_tests
new file mode 100755 (executable)
index 0000000..17233ab
--- /dev/null
@@ -0,0 +1,20 @@
+#! /usr/bin/python
+
+if __name__ == '__main__':
+  import os, sys, unittest
+  def load_test():
+    # get relevant files
+    curdir = os.path.dirname(sys.argv[0])
+    if curdir == '': curdir = '.'
+    files = os.listdir(curdir)
+    modfiles = filter (lambda y: y.endswith('.py'), files) 
+    modfiles = filter (lambda f: f.startswith('test_'), modfiles)
+    # get module names
+    modnames = map (lambda x: os.path.splitext(x)[0], modfiles)
+    # import them
+    modules = map (__import__, modnames)
+    # create a test suites from the imported module
+    load_from_module = unittest.defaultTestLoader.loadTestsFromModule
+    tests = map(load_from_module, modules)
+    return unittest.TestSuite(tests)
+  unittest.main(defaultTest = 'load_test')