45 lines
843 B
Python
45 lines
843 B
Python
import re
|
|
from six import print_
|
|
|
|
valgrind_log = open('log','r').read()
|
|
|
|
inblock = False
|
|
l = 0
|
|
i = 0
|
|
keep = dict()
|
|
|
|
limit_re = r'type'
|
|
|
|
for line in valgrind_log.splitlines():
|
|
if line.startswith('{'):
|
|
inblock = True
|
|
block = []
|
|
continue
|
|
if line.startswith('}'):
|
|
inblock = False
|
|
l = 0
|
|
i += 1
|
|
ok = False
|
|
name = ""
|
|
for x in block[2:]:
|
|
name = name + x
|
|
if re.search(limit_re, x):
|
|
ok = True
|
|
break
|
|
if ok:
|
|
keep[name] = block
|
|
continue
|
|
if inblock:
|
|
block.append(line)
|
|
i = 43
|
|
for x in keep:
|
|
block = keep[x]
|
|
print_("{")
|
|
print_(" suppression", i)
|
|
for x in block[1:]:
|
|
print_(x)
|
|
if re.search(limit_re, x):
|
|
break
|
|
print_('}')
|
|
i += 1
|