validate: display the URL of ignored Valgrind bugs

Summary:
We don't want to forget about those so best to remind it when starting tests
as we do with blacklisted tests.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D131
This commit is contained in:
Guillaume Desmottes 2015-04-27 14:04:05 +02:00 committed by Thibault Saunier
parent c5c39d88b1
commit 133c415ade
3 changed files with 34 additions and 1 deletions

View file

@ -2,6 +2,14 @@
### can't easily address because they are lower in the stack.
### All the other suppressions should be added ton common/gst.supp
### Each set of suppression rules should be prefixed by either:
### - FIXED: if the bug/leak has been fixed upstream but we keep the rule
### because the fix may not be deployed yet (because it's lower in the
### stack and not in gst itself).
### - PENDING: if the bug/leak hasn't been fixed yet. In this case, please
### add an url to the bug report.
# PENDING: https://bugs.freedesktop.org/show_bug.cgi?id=90073
{
Leak in mesa fixed with http://lists.freedesktop.org/archives/mesa-dev/2015-April/082101.html
Memcheck:Leak
@ -30,6 +38,7 @@
fun:glXQueryVersion
}
# FIXED
{
Fixed in pixman master
Memcheck:Leak

View file

@ -30,7 +30,7 @@ from launcher.baseclasses import GstValidateTest, Test, \
GstValidateBaseTestManager, MediaDescriptor, MediaFormatCombination
from launcher.utils import path2url, DEFAULT_TIMEOUT, which, \
GST_SECOND, Result, Protocols, mkdir, printc, Colors
GST_SECOND, Result, Protocols, mkdir, printc, Colors, get_valgrind_suppression_file
#
# Private global variables #
@ -538,6 +538,23 @@ not been tested and explicitely activated if you set use --wanted-tests ALL""")
group.add_argument("--validate-check-uri", dest="validate_uris",
action="append", help="defines the uris to run default tests on")
def print_valgrind_bugs(self):
# Look for all the 'pending' bugs in our supp file
bugs = []
p = get_valgrind_suppression_file('data', 'gstvalidate.supp')
with open(p) as f:
for l in f.readlines():
l = l.strip()
if l.startswith('# PENDING:'):
tmp = l.split(' ')
bugs.append(tmp[2])
if bugs:
msg = "Ignored valgrind bugs:\n"
for b in bugs:
msg += " + %s\n" % b
printc(msg, Colors.FAIL, True)
def populate_testsuite(self):
if self._is_populated is True:

View file

@ -860,6 +860,10 @@ class TestsManager(Loggable):
self.reporter = reporter
self.populate_testsuite()
if self.options.valgrind:
self.print_valgrind_bugs()
if options.wanted_tests:
for patterns in options.wanted_tests:
for pattern in patterns.split(","):
@ -970,6 +974,9 @@ class TestsManager(Loggable):
def needs_http_server(self):
return False
def print_valgrind_bugs(self):
pass
class TestsGenerator(Loggable):