From e5a8e46cd90a8ce4c0f8a301987853fcb24e859c Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Tue, 8 Feb 2022 13:41:07 -0500 Subject: [PATCH] report-xfstests.py: Count the number of passing tests Rather than relying on the `tests` field, which may be inaccurate for some reason. Signed-off-by: Anna Schumaker --- reporter/testproperties.py | 4 ++-- reporter/testresults.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/reporter/testproperties.py b/reporter/testproperties.py index 4bc5d3f..e7dbe9f 100644 --- a/reporter/testproperties.py +++ b/reporter/testproperties.py @@ -25,11 +25,11 @@ class NotRun(GObject.GObject): class Results(Property): def __init__(self, properties): - total = properties["TESTS"] time = properties["TIME"] + passed = properties["PASSED"] failed = properties["FAILURES"] skipped = properties["SKIPPED"] - passed = int(total) - (int(skipped) + int(failed)) + total = int(passed) + int(failed) + int(skipped) Property.__init__(self, "RESULTS", f"Ran {total} tests in {time} seconds: " \ f"{passed} passed, {failed} failed, {skipped} skipped") diff --git a/reporter/testresults.py b/reporter/testresults.py index 78152b6..8460615 100644 --- a/reporter/testresults.py +++ b/reporter/testresults.py @@ -52,6 +52,7 @@ class TestResults: for file in sorted(testdir.iterdir()): self.versions.append(file.stem) + passed = 0 root = xml.etree.ElementTree.parse(file).getroot() for prop in root.attrib.keys(): @@ -65,12 +66,14 @@ class TestResults: elif elm.tag == "testcase": if len(elm) == 0: result = PassingTest(elm) + passed += 1 elif elm[0].tag == "skipped": result = SkippedTest(elm) self.skipped.add(result.message) elif elm[0].tag == "failure": result = FailedTest(elm) self.add_testcase(elm.attrib["name"], file.stem, result) + self.set_property("passed", file.stem, str(passed)) def set_property(self, name, vers, value): self.properties.setdefault(vers, dict())[name.upper()] = value