Bug 1275243 - Marionette test jobs should create HTML reports with screenshots. draft
authorHenrik Skupin <mail@hskupin.info>
Thu, 15 Dec 2016 13:34:08 +0100
changeset 449871 744a48b345245d42fab7e8ac887f161e5bf8784b
parent 449801 7652a58efa46f1c57c94bba26efc5d53b6184e83
child 449872 0cc7283aeaad2a41b9a3b689846744833c2b8de1
push id38712
push userbmo:hskupin@gmail.com
push dateThu, 15 Dec 2016 12:35:04 +0000
bugs1275243
milestone53.0a1
Bug 1275243 - Marionette test jobs should create HTML reports with screenshots. MozReview-Commit-ID: 1YQavYttfep
testing/mozharness/configs/marionette/prod_config.py
testing/mozharness/configs/marionette/test_config.py
testing/mozharness/configs/marionette/windows_config.py
testing/mozharness/configs/marionette/windows_taskcluster_config.py
testing/mozharness/scripts/marionette.py
--- a/testing/mozharness/configs/marionette/prod_config.py
+++ b/testing/mozharness/configs/marionette/prod_config.py
@@ -39,16 +39,17 @@ config = {
     "download_minidump_stackwalk": True,
     "tooltool_cache": "/builds/tooltool_cache",
     "suite_definitions": {
         "marionette_desktop": {
             "options": [
                 "-vv",
                 "--log-raw=%(raw_log_file)s",
                 "--log-errorsummary=%(error_summary_file)s",
+                "--log-html=%(html_report_file)s",
                 "--binary=%(binary)s",
                 "--address=%(address)s",
                 "--symbols-path=%(symbols_path)s"
             ],
             "run_filename": "",
             "testsdir": ""
         }
     },
--- a/testing/mozharness/configs/marionette/test_config.py
+++ b/testing/mozharness/configs/marionette/test_config.py
@@ -13,16 +13,17 @@ config = {
         'run-tests',
     ],
     "suite_definitions": {
         "marionette_desktop": {
             "options": [
                 "-vv",
                 "--log-raw=%(raw_log_file)s",
                 "--log-errorsummary=%(error_summary_file)s",
+                "--log-html=%(html_report_file)s",
                 "--binary=%(binary)s",
                 "--address=%(address)s",
                 "--symbols-path=%(symbols_path)s"
             ],
             "run_filename": "",
             "testsdir": ""
         },
     },
--- a/testing/mozharness/configs/marionette/windows_config.py
+++ b/testing/mozharness/configs/marionette/windows_config.py
@@ -41,16 +41,17 @@ config = {
     "download_minidump_stackwalk": True,
     "download_symbols": "ondemand",
     "suite_definitions": {
         "marionette_desktop": {
             "options": [
                 "-vv",
                 "--log-raw=%(raw_log_file)s",
                 "--log-errorsummary=%(error_summary_file)s",
+                "--log-html=%(html_report_file)s",
                 "--binary=%(binary)s",
                 "--address=%(address)s",
                 "--symbols-path=%(symbols_path)s"
             ],
             "run_filename": "",
             "testsdir": ""
         },
     },
--- a/testing/mozharness/configs/marionette/windows_taskcluster_config.py
+++ b/testing/mozharness/configs/marionette/windows_taskcluster_config.py
@@ -40,16 +40,17 @@ config = {
     "download_minidump_stackwalk": True,
     "download_symbols": "ondemand",
     "suite_definitions": {
         "marionette_desktop": {
             "options": [
                 "-vv",
                 "--log-raw=%(raw_log_file)s",
                 "--log-errorsummary=%(error_summary_file)s",
+                "--log-html=%(html_report_file)s",
                 "--binary=%(binary)s",
                 "--address=%(address)s",
                 "--symbols-path=%(symbols_path)s"
             ],
             "run_filename": "",
             "testsdir": ""
         },
     },
--- a/testing/mozharness/scripts/marionette.py
+++ b/testing/mozharness/scripts/marionette.py
@@ -230,29 +230,33 @@ class MarionetteTest(TestingMixin, Mercu
         Run the Marionette tests
         """
         dirs = self.query_abs_dirs()
 
         raw_log_file = os.path.join(dirs['abs_blob_upload_dir'],
                                     'marionette_raw.log')
         error_summary_file = os.path.join(dirs['abs_blob_upload_dir'],
                                           'marionette_errorsummary.log')
+        html_report_file = os.path.join(dirs['abs_blob_upload_dir'],
+                                        'report.html')
+
         config_fmt_args = {
             # emulator builds require a longer timeout
             'timeout': 60000 if self.config.get('emulator') else 10000,
             'profile': os.path.join(dirs['abs_work_dir'], 'profile'),
             'xml_output': os.path.join(dirs['abs_work_dir'], 'output.xml'),
             'html_output': os.path.join(dirs['abs_blob_upload_dir'], 'output.html'),
             'logcat_dir': dirs['abs_work_dir'],
             'emulator': 'arm',
             'symbols_path': self.symbols_path,
             'binary': self.binary_path,
             'address': self.config.get('marionette_address'),
             'raw_log_file': raw_log_file,
             'error_summary_file': error_summary_file,
+            'html_report_file': html_report_file,
             'gecko_log': dirs["abs_blob_upload_dir"],
             'this_chunk': self.config.get('this_chunk', 1),
             'total_chunks': self.config.get('total_chunks', 1)
         }
 
         self.info("The emulator type: %s" % config_fmt_args["emulator"])
         # build the marionette command arguments
         python = self.query_python_path('python')