Bug 1304508 - Use mach for running "check" target; r?ted draft
authorGregory Szorc <gps@mozilla.com>
Mon, 24 Apr 2017 18:24:48 -0700
changeset 570923 50260ff4e3221efda4f638548ced10f05eb4438c
parent 570922 fa7352f0b64030011c96f3bd4317ccbae28cdee1
child 570924 3e74c4261b022bf72e3144301eeb52c6a88feb63
push id56623
push usergszorc@mozilla.com
push dateMon, 01 May 2017 17:20:54 +0000
reviewersted
bugs1304508
milestone55.0a1
Bug 1304508 - Use mach for running "check" target; r?ted We switch mozharness to use `mach build` to invoke the "check" make target instead of using `make` itself. Because `mach` is the interface that everyone should use and `make` is an implementation detail. My editor also snuck in a change to normalize a CRLF line ending. MozReview-Commit-ID: 4gdE6oeK0Lz
testing/mozharness/mozharness/mozilla/building/buildbase.py
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -1836,40 +1836,42 @@ or run without that action (ie: --no-{ac
             self.info('Skipping due to forced artifact build.')
             return
         c = self.config
         dirs = self.query_abs_dirs()
 
         env = self.query_build_env()
         env.update(self.query_check_test_env())
 
-        if c.get('enable_pymake'):  # e.g. windows
-            pymake_path = os.path.join(dirs['abs_src_dir'], 'build',
-                                       'pymake', 'make.py')
-            cmd = ['python', pymake_path]
-        else:
-            cmd = ['make']
-        cmd.extend(['-k', 'check'])
+        python = self.query_exe('python2.7')
+        cmd = [
+            python, 'mach',
+            '--log-no-times',
+            'build',
+            '-v',
+            '--keep-going',
+            'check',
+        ]
 
         parser = CheckTestCompleteParser(config=c,
                                          log_obj=self.log_obj)
         return_code = self.run_command_m(command=cmd,
-                                         cwd=dirs['abs_obj_dir'],
+                                         cwd=dirs['abs_src_dir'],
                                          env=env,
                                          output_parser=parser)
         tbpl_status = parser.evaluate_parser(return_code)
         return_code = EXIT_STATUS_DICT[tbpl_status]
 
         if return_code:
             self.return_code = self.worst_level(
                 return_code,  self.return_code,
                 AUTOMATION_EXIT_CODES[::-1]
             )
-            self.error("'make -k check' did not run successfully. Please check "
-                       "log for errors.")
+            self.error("'mach build check' did not run successfully. Please "
+                       "check log for errors.")
 
     def _load_build_resources(self):
         p = self.config.get('build_resources_path') % self.query_abs_dirs()
         if not os.path.exists(p):
             self.info('%s does not exist; not loading build resources' % p)
             return None
 
         with open(p, 'rb') as fh:
@@ -2039,17 +2041,17 @@ or run without that action (ie: --no-{ac
             },
             "suites": [],
         }
         if (installer_size or size_measurements) and not c.get('debug_build'):
             if installer.endswith('.apk'): # Android
                 perfherder_data["suites"].append({
                     "name": "installer size",
                     "value": installer_size,
-                    "alertChangeType": "absolute",
+                    "alertChangeType": "absolute",
                     "alertThreshold": (200 * 1024),
                     "subtests": size_measurements
                 })
             else:
                 perfherder_data["suites"].append({
                     "name": "installer size",
                     "value": installer_size,
                     "alertThreshold": 1.0,