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