From 4970d3bfe0e8e580beaa86ae7c41977e2e93ab3f Mon Sep 17 00:00:00 2001 From: Bellengé Maxime Date: Thu, 30 Jun 2022 11:56:51 +0200 Subject: Add deny_skipping parameter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It takes into account or not skip tests in the global result It also adds unit tests to cover it. It should be noted that if follows the deny skipping model proposed by Functest (tempest). Change-Id: I15fa7a3946c6e3b2ae190e4f8abf3b9361a391a4 Signed-off-by: Cédric Ollivier --- xtesting/core/robotframework.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'xtesting/core') diff --git a/xtesting/core/robotframework.py b/xtesting/core/robotframework.py index 775ed1ce..2952de60 100644 --- a/xtesting/core/robotframework.py +++ b/xtesting/core/robotframework.py @@ -56,6 +56,7 @@ class RobotFramework(testcase.TestCase): def __init__(self, **kwargs): super().__init__(**kwargs) self.xml_file = os.path.join(self.res_dir, 'output.xml') + self.deny_skipping = kwargs.get("deny_skipping", False) def parse_results(self): """Parse output.xml and get the details in it.""" @@ -63,9 +64,15 @@ class RobotFramework(testcase.TestCase): visitor = ResultVisitor() result.visit(visitor) try: - self.result = 100 * ( - result.suite.statistics.passed / - result.suite.statistics.total) + if self.deny_skipping: + self.result = 100 * ( + result.suite.statistics.passed / + result.suite.statistics.total) + else: + self.result = 100 * (( + result.suite.statistics.passed + + result.suite.statistics.skipped) / + result.suite.statistics.total) except ZeroDivisionError: self.__logger.error("No test has been run") self.start_time = timestamp_to_secs(result.suite.starttime) -- cgit 1.2.3-korg