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}')