10228e267432ab826a50961695346cd73e567ccf
[aubio.git] / python / tests / run_all_tests
1 #! /usr/bin/env python
2
3 if __name__ == '__main__':
4   import os, sys, unittest
5   def load_test():
6     # get relevant files
7     curdir = os.path.dirname(sys.argv[0])
8     if curdir == '': curdir = '.'
9     files = os.listdir(curdir)
10     modfiles = filter (lambda y: y.endswith('.py'), files)
11     modfiles = filter (lambda f: f.startswith('test_'), modfiles)
12     modfiles = filter (lambda y: not 'beattracking' in y, modfiles)
13     modfiles = filter (lambda y: not 'hist' in y, modfiles)
14     modfiles = filter (lambda y: not 'scale' in y, modfiles)
15     modfiles = filter (lambda y: not 'peakpicker' in y, modfiles)
16     # get module names
17     modnames = map (lambda x: os.path.splitext(x)[0], modfiles)
18     # import them
19     modules = map (__import__, modnames)
20     # create a test suites from the imported module
21     load_from_module = unittest.defaultTestLoader.loadTestsFromModule
22     tests = map(load_from_module, modules)
23     return unittest.TestSuite(tests)
24   unittest.main(defaultTest = 'load_test')