validate: Mark tests as SKIPPED when installation is missing a GStreamer plugin

This commit is contained in:
Thibault Saunier 2017-02-07 13:12:09 -03:00
parent 9790823d2a
commit addd76fc85
4 changed files with 16 additions and 3 deletions

View file

@ -58,6 +58,8 @@ gst_validate_report_serialize (GstValidateReport * report)
JsonObject *jreport = json_object_new ();
json_object_set_string_member (jreport, "type", "report");
json_object_set_string_member (jreport, "issue-id",
g_quark_to_string (report->issue->issue_id));
json_object_set_string_member (jreport, "summary", report->issue->summary);
json_object_set_string_member (jreport, "level",
gst_validate_report_level_get_name (report->level));

View file

@ -809,6 +809,12 @@ class GstValidateTest(Test):
if self.result in [Result.FAILED, self.result is Result.PASSED]:
return
for report in self.reports:
if report.get('issue-id') == 'runtime::missing-plugin':
self.set_result(Result.SKIPPED, "%s\n%s" % (report['summary'],
report['details']))
return
self.debug("%s returncode: %s", self, self.process.returncode)
criticals, not_found_expected_failures, expected_returncode = self.check_reported_issues()

View file

@ -69,7 +69,10 @@ class Reporter(Loggable):
self._start_time = time.time()
def set_failed(self, test):
self.stats["failures"] += 1
if test.result == Result.SKIPPED:
self.stats["skipped"] += 1
else:
self.stats["failures"] += 1
def set_passed(self, test):
self.stats["passed"] += 1
@ -79,7 +82,8 @@ class Reporter(Loggable):
if test.result == Result.PASSED:
self.set_passed(test)
elif test.result == Result.FAILED or \
test.result == Result.TIMEOUT:
test.result == Result.TIMEOUT or \
test.result == Result.SKIPPED:
self.set_failed(test)
else:
raise UnknownResult("%s" % test.result)
@ -200,7 +204,7 @@ class XunitReporter(Reporter):
def set_failed(self, test):
"""Add failure output to Xunit report.
"""
self.stats['failures'] += 1
super().set_failed(test)
stack_trace = ''
if test.stack_trace:

View file

@ -54,6 +54,7 @@ class Result(object):
FAILED = "Failed"
TIMEOUT = "Timeout"
PASSED = "Passed"
SKIPPED = "Skipped"
KNOWN_ERROR = "Known error"