Spaces:
Build error
Build error
import json | |
import sys | |
def extract_test_results(res_file_path: str) -> tuple[list[str], list[str]]: | |
passed = [] | |
failed = [] | |
with open(res_file_path, 'r') as file: | |
for line in file: | |
data = json.loads(line.strip()) | |
instance_id = data['instance_id'] | |
resolved = False | |
if 'test_result' in data and 'result' in data['test_result']: | |
resolved = data['test_result']['result'] | |
if resolved: | |
passed.append(instance_id) | |
else: | |
failed.append(instance_id) | |
return passed, failed | |
if __name__ == '__main__': | |
if len(sys.argv) != 2: | |
print( | |
'Usage: poetry run python summarise_results.py <path_to_output_jsonl_file>' | |
) | |
sys.exit(1) | |
json_file_path = sys.argv[1] | |
passed_tests, failed_tests = extract_test_results(json_file_path) | |
succ_rate = len(passed_tests) / (len(passed_tests) + len(failed_tests)) | |
print( | |
f'\nPassed {len(passed_tests)} tests, failed {len(failed_tests)} tests, resolve rate = {succ_rate}' | |
) | |
print('PASSED TESTS:') | |
print(passed_tests) | |
print('FAILED TESTS:') | |
print(failed_tests) | |