Add links in testcase details 28/68828/1
authorCédric Ollivier <cedric.ollivier@orange.com>
Sat, 9 Nov 2019 14:47:14 +0000 (15:47 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Sat, 9 Nov 2019 14:49:03 +0000 (15:49 +0100)
It allows finding easily reports thanks to DB.

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

xtesting/ci/run_tests.py
xtesting/core/testcase.py

index 71e8cfd..0f43210 100644 (file)
@@ -172,14 +172,14 @@ class Runner():
                     test_case.run(**kwargs)
                 except KeyError:
                     test_case.run()
-                if self.report_flag:
-                    test_case.push_to_db()
                 result = test_case.is_successful()
                 LOGGER.info("Test result:\n\n%s\n", test_case)
                 if self.clean_flag:
                     test_case.clean()
                 if self.push_flag:
                     test_case.publish_artifacts()
+                if self.report_flag:
+                    test_case.push_to_db()
             except ImportError:
                 LOGGER.exception("Cannot import module %s", run_dict['module'])
             except AttributeError:
index a385651..73a7371 100644 (file)
@@ -295,6 +295,7 @@ class TestCase():
                 six.reraise(typ, value, traceback)
             path = urllib.parse.urlparse(dst_s3_url).path.strip("/")
             output_str = "\n"
+            self.details["links"] = []
             for root, _, files in os.walk(self.dir_results):
                 for pub_file in files:
                     # pylint: disable=no-member
@@ -304,10 +305,11 @@ class TestCase():
                             os.path.join(root, pub_file),
                             start=self.dir_results)))
                     dst_http_url = os.environ["HTTP_DST_URL"]
-                    output_str += "\n{}".format(
-                        os.path.join(dst_http_url, os.path.relpath(
-                            os.path.join(root, pub_file),
-                            start=self.dir_results)))
+                    link = os.path.join(dst_http_url, os.path.relpath(
+                        os.path.join(root, pub_file),
+                        start=self.dir_results))
+                    output_str += "\n{}".format(link)
+                    self.details["links"].append(link)
             self.__logger.info(
                 "All artifacts were successfully published: %s\n", output_str)
             return TestCase.EX_OK