blob: de490dcc6c30729f5fe2677f074da64ac00c675b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import json
def process_cpp_coverage(parsed: dict):
for data in cov["data"]:
for file in data["files"]:
print(file["filename"])
for seg in file["segments"]:
# https://github.com/llvm/llvm-project/blob/main/llvm/tools/llvm-cov/CoverageExporterJson.cpp
print("row, col, cnt, has_cnt, is_reg_entry, is_gap", seg)
return
def process_py_coverage(parsed: dict):
for filename, vals in parsed["files"].items():
print(filename)
print(vals["missing_lines"])
return
def json_dispatch(parsed: dict):
if "type" in parsed and parsed["type"] == "llvm.coverage.json.export":
process_cpp_coverage(parsed)
elif "meta" in parsed:
process_py_coverage(parsed)
return
if __name__ == "__main__":
flist = ["cov.json", "coverage.json"]
for file in flist:
with open(file, "rt") as cov_json:
cov = json.load(cov_json)
json_dispatch(cov)
|