Index: tools/bisect-builds.py |
diff --git a/tools/bisect-builds.py b/tools/bisect-builds.py |
index 9d0d7bace809f3e8c3d47d7cbc3e0af1a75dc269..c363d99e7c521df0117551af0feb74aecb3108c9 100755 |
--- a/tools/bisect-builds.py |
+++ b/tools/bisect-builds.py |
@@ -77,6 +77,9 @@ SEARCH_PATTERN = { |
'blink': BLINK_SEARCH_PATTERN, |
} |
+CREDENTIAL_ERROR_MESSAGE = ('You are attempting to access protected data with ' |
+ 'no configured credentials') |
+ |
############################################################################### |
import httplib |
@@ -134,10 +137,10 @@ class PathContext(object): |
# _binary_name = The name of the executable to run. |
if self.platform in ('linux', 'linux64', 'linux-arm'): |
self._binary_name = 'chrome' |
- elif self.platform == 'mac': |
+ elif self.platform in ('mac', 'mac64'): |
self.archive_name = 'chrome-mac.zip' |
self._archive_extract_dir = 'chrome-mac' |
- elif self.platform == 'win': |
+ elif self.platform in ('win', 'win64'): |
self.archive_name = 'chrome-win32.zip' |
self._archive_extract_dir = 'chrome-win32' |
self._binary_name = 'chrome.exe' |
@@ -156,10 +159,17 @@ class PathContext(object): |
elif self.platform == 'mac': |
self._listing_platform_dir = 'mac/' |
self._binary_name = 'Google Chrome.app/Contents/MacOS/Google Chrome' |
+ elif self.platform == 'mac64': |
+ self._listing_platform_dir = 'mac64/' |
+ self._binary_name = 'Google Chrome.app/Contents/MacOS/Google Chrome' |
elif self.platform == 'win': |
self._listing_platform_dir = 'win/' |
self.archive_name = 'chrome-win.zip' |
self._archive_extract_dir = 'chrome-win' |
+ elif self.platform == 'win64': |
+ self._listing_platform_dir = 'win64/' |
+ self.archive_name = 'chrome-win64.zip' |
+ self._archive_extract_dir = 'chrome-win64' |
else: |
if self.platform in ('linux', 'linux64', 'linux-arm'): |
self.archive_name = 'chrome-linux.zip' |
@@ -424,7 +434,8 @@ class PathContext(object): |
env=None) |
stdout, stderr = gsutil.communicate() |
if gsutil.returncode: |
- if re.findall(r'status[ |=]40[1|3]', stderr): |
+ if (re.findall(r'status[ |=]40[1|3]', stderr) or |
+ stderr.startswith(CREDENTIAL_ERROR_MESSAGE)): |
print ('Follow these steps to configure your credentials and try' |
' running the bisect-builds.py again.:\n' |
' 1. Run "python %s config" and follow its instructions.\n' |
@@ -432,7 +443,7 @@ class PathContext(object): |
' 3. For the project-id, just enter 0.' % gsutil_path) |
sys.exit(1) |
else: |
- raise Exception('Error running the gsutil command') |
+ raise Exception('Error running the gsutil command: %s' % stderr) |
return stdout |
def GsutilList(bucket): |
@@ -953,7 +964,7 @@ def main(): |
'Tip: add "-- --no-first-run" to bypass the first run prompts.') |
parser = optparse.OptionParser(usage=usage) |
# Strangely, the default help output doesn't include the choice list. |
- choices = ['mac', 'win', 'linux', 'linux64', 'linux-arm'] |
+ choices = ['mac', 'mac64', 'win', 'win64', 'linux', 'linux64', 'linux-arm'] |
# linux-chromiumos lacks a continuous archive http://crbug.com/78158 |
parser.add_option('-a', '--archive', |
choices=choices, |