Tsukihjy/testcase / methods /utils /cal_pass_rate.py
download
raw
1.61 kB
import json
def read_jsonl_to_array(file_path):
data = []
with open(file_path, 'r') as file:
for line in file:
data.append(json.loads(line)) # 解析每一行并添加到数组中
return data
# result_pass = []
# for i in range(8):
# file_name = f"/home/i-luoxianzhen/data/TestCase-Gen/saved_tests/predo/test_pass_rate-{i}.json"
# result_pass += read_jsonl_to_array(file_name)
# result_dict = {}
# for item in result_pass:
# if item['tcb_id'] not in result_dict.keys():
# result_dict[item['tcb_id']] = item
# else:
# if item['right_nums'] == 0:
# continue
# elif result_dict[item['tcb_id']]['right_nums'] == 0:
# result_dict[item['tcb_id']] = item
# else:
# result_dict[item['tcb_id']]['right_nums'] += item['right_nums']
# result_dict[item['tcb_id']]['gen_nums'] += item['gen_nums']
# total_pass_rate = 0.0
# for k, v in result_dict.items():
# if v['gen_nums'] != 0:
# total_pass_rate += v['right_nums'] / v['gen_nums']
# total_pass_rate = total_pass_rate / len(result_dict) * 100
# print(f"生成的准确率:{round(total_pass_rate, 2)}")
import os
dir_path = "/home/i-luoxianzhen/data/TestCase-Gen/saved_tests/lcb/"
file_list = os.listdir(dir_path)
total_nums = 0
for file in file_list:
data = read_jsonl_to_array(file_path=os.path.join(dir_path, file))
total_nums += len(data)
print(f"平均testcase个数:{round(total_nums / 758, 2)}")
print(f"平均testcase个数(不计入生成0个的题目):{round(total_nums / len(file_list), 2)}")

Xet Storage Details

Size:
1.61 kB
·
Xet hash:
02d2d726662bf4350367cf37653be3e41d689e139e6ef9bffe7f9a8a65855e89

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.