Protect if detail is returned as None 78/73178/1
authorCédric Ollivier <cedric.ollivier@orange.com>
Fri, 21 Jan 2022 10:08:50 +0000 (11:08 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Fri, 21 Jan 2022 10:11:27 +0000 (11:11 +0100)
It occured when running ansible.

Change-Id: I908270fdb76fbc3bdf60787b189cdbc29c41b52b
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
(cherry picked from commit 769898458263b7f138c7ffc9126c376781fa71d4)

xtesting/core/ansible.py
xtesting/core/testcase.py

index 7ccace9..fa7b533 100644 (file)
@@ -58,7 +58,7 @@ class Ansible(testcase.TestCase):
                     kwargs["quiet"] = True
                 kwargs["artifact_dir"] = self.res_dir
                 runner = ansible_runner.run(**kwargs)
-                self.details = runner.stats
+                self.details = runner.stats or {}
                 if runner.rc == 0:
                     self.result = 100
                 status = self.EX_OK
index f7814f7..179a568 100644 (file)
@@ -302,6 +302,8 @@ class TestCase(metaclass=abc.ABCMeta):
             path = urlparse(dst_s3_url).path.strip("/")
             dst_http_url = os.environ["HTTP_DST_URL"]
             output_str = "\n"
+            # protects if test cases return details as None
+            self.details = self.details or {}
             self.details["links"] = []
             for log_file in [self.output_log_name, self.output_debug_log_name]:
                 if os.path.exists(os.path.join(self.dir_results, log_file)):