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

--HG--
extra : rebase_source : 6e2dc0502de1cddec8eccdfe30524864be81536c
This commit is contained in:
Andrew Halberstadt 2016-06-08 10:33:54 -04:00
parent e1d8d2ed7b
commit b5b5de46a4

5
mach
View File

@ -46,9 +46,10 @@ def check_and_get_mach(dir_path):
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: