mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
Add my script to dump per-file or per-function coverage
This commit is contained in:
parent
edaf681735
commit
90701c1de4
72
scripts/test/cov-display
Executable file
72
scripts/test/cov-display
Executable file
@ -0,0 +1,72 @@
|
||||
#!/usr/bin/python
|
||||
import sys, re
|
||||
|
||||
none0, some0 = 0,0
|
||||
branchTaken0, branchNot0 = 0,0
|
||||
|
||||
BRANCH = False
|
||||
FUNC = False
|
||||
|
||||
if sys.argv[1] == '-b':
|
||||
BRANCH = True
|
||||
del sys.argv[1]
|
||||
|
||||
if sys.argv[1] == '-f':
|
||||
FUNC = True
|
||||
del sys.argv[1]
|
||||
|
||||
def show(name, none, some):
|
||||
if some+none == 0:
|
||||
none = 1
|
||||
print name, none, some, "%.02f"%(100*(float(some)/(some+none)))
|
||||
|
||||
for fn in sys.argv[1:]:
|
||||
none = some = branchTaken = branchNot = 0
|
||||
inFunc = ""
|
||||
for line in open(fn, 'r'):
|
||||
m = re.match(r'^[^:]*:([^:]*):(.*)', line)
|
||||
if m:
|
||||
body = m.group(2).rstrip()
|
||||
lineno = m.group(1).strip()
|
||||
else:
|
||||
body = ""
|
||||
lineno = "?"
|
||||
m = re.match(r'^([A-Za-z_][A-Za-z0-9_]*)(?:, *)?\(', body)
|
||||
if m:
|
||||
inFunc = "%s:%s %s" %(fn,lineno,m.group(1))
|
||||
elif body == "}":
|
||||
if FUNC and inFunc:
|
||||
show(inFunc, none, some)
|
||||
none = some = 0
|
||||
inFunc = None
|
||||
if re.match(r'^ *###', line):
|
||||
none += 1
|
||||
elif re.match(r'^ *\d', line):
|
||||
some += 1
|
||||
else:
|
||||
m = re.match(r'^branch.*taken (\d+)%', line)
|
||||
if m:
|
||||
if int(m.group(1)) == 0:
|
||||
branchNot += 1
|
||||
else:
|
||||
branchTaken += 1
|
||||
|
||||
none0 += none
|
||||
some0 += some
|
||||
branchTaken0 += branchTaken
|
||||
branchNot0 += branchNot
|
||||
if FUNC:
|
||||
pass
|
||||
elif BRANCH:
|
||||
if branchTaken or branchNot:
|
||||
show(fn, branchNot, branchTaken)
|
||||
else:
|
||||
if some or none:
|
||||
show(fn, none, some)
|
||||
|
||||
if BRANCH:
|
||||
if branchTaken0 or branchNot0:
|
||||
show("TOTAL", branchNot0, branchTaken0)
|
||||
else:
|
||||
if some0 or none0:
|
||||
show("TOTAL", none0, some0)
|
Loading…
Reference in New Issue
Block a user