xref: /XiangShan/scripts/coverage/statistics.py (revision d70a22729e83ef255c566a9eed5c479baa1c6bf4)
1#/usr/bin/python3
2# -*- coding: UTF-8 -*-
3import sys
4import re
5import copy
6
7if __name__ == "__main__":
8    assert len(sys.argv) == 2, "Expect input_file"
9    input_file = sys.argv[1]
10    coverred = 0
11    not_coverred = 0
12    with open(input_file) as f:
13        for line in f:
14            coverred_pattern = re.compile('^\s*(\d+)\s+if')
15            not_coverred_pattern = re.compile('^\s*(%0+)\s+if')
16
17            coverred_match = coverred_pattern.search(line)
18            not_coverred_match = not_coverred_pattern.search(line)
19
20            assert not (coverred_match and not_coverred_match)
21
22            if coverred_match:
23                coverred += 1
24
25            if not_coverred_match:
26                not_coverred += 1
27    print("cover: %d not_cover: %d coverage: %f" %
28            (coverred, not_coverred, float(coverred) / (coverred + not_coverred)))
29