Exemple #1
0
def handle_test(args, configs):
    from Workspace import Workspace
    from Module import do_test_cycle

    parser = argparse.ArgumentParser(description=cmd_description_test,
                                     usage=cmd_usage_test)
    if workspace_args is not None:
        [parser.add_argument(*arg[0], **arg[1]) for arg in workspace_args]
    my_args = parser.parse_args(args)

    wksp = Workspace(my_args, configs=configs)

    if wksp.num_modules > 20:
        from Module import do_test_cycle
        # Start a parallel process queue
        start = time.time()
        multi_proc(do_test_cycle, wksp.module_objs)
        print(f'Time taken = {time.time() - start:.2f}')
        # run( do_test_cycle, wksp.module_objs )
    else:
        # Runs tests with current process
        start = time.time()
        wksp.find_wksp_test_src_files()
        wksp.find_wksp_tests_and_groups()
        wksp.gen_wksp_test_runners()
        wksp.run_wksp_tests()
        wksp.calculate_test_result_totals()
        wksp.print_test_summary()
        print(f'Time taken = {time.time() - start:.10f}')