183760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh"""Make tests/ into a package. This allows us to "import tests" and 283760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehhave tests.all_tests be a TestSuite representing all test cases 383760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehfrom all test_*.py files in tests/.""" 483760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh# Author: Collin Winter 583760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh 683760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehimport os 783760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehimport os.path 883760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehimport unittest 983760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehimport types 1083760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh 1183760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehfrom . import support 1283760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh 1383760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehall_tests = unittest.TestSuite() 1483760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh 1583760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehtests_dir = os.path.join(os.path.dirname(__file__), '..', 'tests') 1683760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehtests = [t[0:-3] for t in os.listdir(tests_dir) 1783760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh if t.startswith('test_') and t.endswith('.py')] 1883760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh 1983760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehloader = unittest.TestLoader() 2083760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh 2183760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehfor t in tests: 2283760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh __import__("",globals(),locals(),[t],level=1) 2383760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh mod = globals()[t] 2483760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh all_tests.addTests(loader.loadTestsFromModule(mod)) 25