diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2023-01-25 10:10:44 -0800 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2023-01-25 10:10:44 -0800 |
commit | 56a9680d122cbccac5a1a78a1f9ec41f341b92c2 (patch) | |
tree | 13a036d26da3ef1adbb6229cfeea18060db3a103 /readcov.py | |
download | coverage-56a9680d122cbccac5a1a78a1f9ec41f341b92c2.tar.gz coverage-56a9680d122cbccac5a1a78a1f9ec41f341b92c2.tar.bz2 coverage-56a9680d122cbccac5a1a78a1f9ec41f341b92c2.zip |
Diffstat (limited to 'readcov.py')
-rw-r--r-- | readcov.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/readcov.py b/readcov.py new file mode 100644 index 0000000..de490dc --- /dev/null +++ b/readcov.py @@ -0,0 +1,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) |