Bug 1278900 - [mach] Also look for config.status when detecting an objdir, r=gps
authorAndrew Halberstadt <ahalberstadt@mozilla.com>
Wed, 08 Jun 2016 10:33:54 -0400
changeset 341408 9e6cbeb45a5c61364128b127f6511cc0052a1041
parent 341407 0a4f4e0aa89a6fdc6fabeb39e7fcd7a63f43bb93
child 341409 5da4159b46b9687235a110ddd37e44967914f5f3
push id6389
push userraliiev@mozilla.com
push dateMon, 19 Sep 2016 13:38:22 +0000
treeherdermozilla-beta@01d67bfe6c81 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs1278900
milestone50.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1278900 - [mach] Also look for config.status when detecting an objdir, r=gps Currently the mach binary will look for 'mozinfo.json' and if it finds it assume we are in an objdir. But now, 'mozinfo.json' can also be found in an extracted tests.zip (depending which zips were used). This trips up the tests.zip mach environment and causes some problems. This works around the issue by looking for both 'mozinfo.json' and 'config.status' MozReview-Commit-ID: BIXcCm4LzE2
mach
--- a/mach
+++ b/mach
@@ -41,19 +41,20 @@ def check_and_get_mach(dir_path):
         if os.path.isfile(mach_path):
             return load_mach(dir_path, mach_path)
     return None
 
 
 def get_mach():
     # Check whether the current directory is within a mach src or obj dir.
     for dir_path in ancestors(os.getcwd()):
-        # If we find a "mozinfo.json" file, we are in the objdir.
+        # If we find a "config.status" and "mozinfo.json" file, we are in the objdir.
+        config_status_path = os.path.join(dir_path, 'config.status')
         mozinfo_path = os.path.join(dir_path, 'mozinfo.json')
-        if os.path.isfile(mozinfo_path):
+        if os.path.isfile(config_status_path) and os.path.isfile(mozinfo_path):
             import json
             info = json.load(open(mozinfo_path))
             if 'mozconfig' in info and 'MOZCONFIG' not in os.environ:
                 # If the MOZCONFIG environment variable is not already set, set it
                 # to the value from mozinfo.json.  This will tell the build system
                 # to look for a config file at the path in $MOZCONFIG rather than
                 # its default locations.
                 #