def main(args): verbosity = 1 options, args = getopt.getopt(args, "vh", ["verbose", "help"]) for opt, value in options: if opt in ("-v", "--verbose"): verbosity = 2 if opt in ("-h", "--help"): print __doc__ return 0 if len(args) != 0: search_paths = args else: search_paths = top_dirs loader = unittest.defaultTestLoader suite = unittest.TestSuite() temp_maker = libc_test.TempMaker() try: for module in get_test_case_modules(search_paths): if hasattr(module, "get_test_cases"): suite.addTests(testrunner.make_test_suite_from_cases( module.get_test_cases(module, temp_maker))) else: suite.addTests(testrunner.load_tests_from_module(module)) runner = unittest.TextTestRunner(verbosity=verbosity) result = runner.run(suite) return not result.wasSuccessful() finally: temp_maker.destroy()
cases = [x for x in module.__dict__.values() if isinstance(x, type) and issubclass(x, LibcTest)] tmp_dir = temp_maker.make_temp_dir() executable = compile_into_one_executable(cases, tmp_dir) tests = [] for case in cases: class Case(case): def _compile_executable(self): return executable main_args = [case.entry] Case.__name__ = case.__name__ tests.extend(testrunner.get_cases_from_unittest_class(Case)) return tests def run_tests(suite): runner = unittest.TextTestRunner(verbosity=1) runner.run(suite) if __name__ == "__main__": if sys.argv[1:2] == ["--slow"]: sys.argv.pop(1) unittest.main() else: temp_maker = TempMaker() try: cases = get_test_cases(__import__("__main__"), temp_maker) run_tests(testrunner.make_test_suite_from_cases(cases)) finally: temp_maker.destroy()