コード例 #1
0
ファイル: all_tests.py プロジェクト: mseaborn/plash
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()
コード例 #2
0
ファイル: libc_test.py プロジェクト: mseaborn/plash
    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()