async def generate(whitelist: Set[str], verbose: bool): test_case_names = set(get_directories(inputs_path)) - {"__pycache__"} path_whitelist = set() name_whitelist = set() for item in whitelist: if item in test_case_names: name_whitelist.add(item) continue path_whitelist.add(item) generation_tasks = [] for test_case_name in sorted(test_case_names): test_case_input_path = inputs_path.joinpath(test_case_name).resolve() if (whitelist and str(test_case_input_path) not in path_whitelist and test_case_name not in name_whitelist): continue generation_tasks.append( generate_test_case_output(test_case_input_path, test_case_name, verbose)) failed_test_cases = [] # Wait for all subprocs and match any failures to names to report for test_case_name, result in zip(sorted(test_case_names), await asyncio.gather(*generation_tasks)): if result != 0: failed_test_cases.append(test_case_name) if failed_test_cases: sys.stderr.write( "\n\033[31;1;4mFailed to generate the following test cases:\033[0m\n" ) for failed_test_case in failed_test_cases: sys.stderr.write(f"- {failed_test_case}\n")
def __init__(self, path, services: Set[str], xfail: Set[str]): _all = set(get_directories(path)) - {"__pycache__"} _services = services _messages = (_all - services) - {"__pycache__"} _messages_with_json = { test for test in _messages if get_test_case_json_data(test) } unknown_xfail_tests = xfail - _all if unknown_xfail_tests: raise Exception( f"Unknown test(s) in config.py: {unknown_xfail_tests}") self.all = self.apply_xfail_marks(_all, xfail) self.services = self.apply_xfail_marks(_services, xfail) self.messages = self.apply_xfail_marks(_messages, xfail) self.messages_with_json = self.apply_xfail_marks( _messages_with_json, xfail)