Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: tools/auto_bisect/bisect_perf_regression.py

Issue 667453004: Rename and refactor PostBuildRequestAndWait. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/auto_bisect/bisect_perf_regression.py
diff --git a/tools/auto_bisect/bisect_perf_regression.py b/tools/auto_bisect/bisect_perf_regression.py
index e80fd43999e03584150e54fe4cd943c9b84485fb..db63bba122194624b1536c4ba8d1bfef619fb539 100755
--- a/tools/auto_bisect/bisect_perf_regression.py
+++ b/tools/auto_bisect/bisect_perf_regression.py
@@ -1322,7 +1322,7 @@ class BisectPerformanceMetrics(object):
# When build archive doesn't exists, post a build request to tryserver
# and wait for the build to be produced.
if not downloaded_file:
- downloaded_file = self.PostBuildRequestAndWait(
+ downloaded_file = self._RequestBuildAndWait(
revision, fetch_build=fetch_build_func, patch=patch)
if not downloaded_file:
return False
@@ -1362,13 +1362,12 @@ class BisectPerformanceMetrics(object):
os.remove(downloaded_file)
return False
- def PostBuildRequestAndWait(self, git_revision, fetch_build, patch=None):
- """POSTs the build request job to the try server instance.
+ def _RequestBuildAndWait(self, git_revision, fetch_build, patch=None):
+ """Triggers a try job for a build job.
- A try job build request is posted to tryserver.chromium.perf master,
- and waits for the binaries to be produced and archived on cloud storage.
- Once the build is ready and stored onto cloud, build archive is downloaded
- into the output folder.
+ This function prepares and starts a try job on the tryserver.chromium.perf
+ master, and waits for the binaries to be produced and archived in cloud
+ storage. Once the build is ready it's downloaded.
Args:
git_revision: A Git hash revision.
@@ -1379,21 +1378,6 @@ class BisectPerformanceMetrics(object):
Downloaded archive file path when requested build exists and download is
successful, otherwise None.
"""
- def GetBuilderNameAndBuildTime(target_platform, target_arch='ia32'):
- """Gets builder bot name and build time in seconds based on platform."""
- # Bot names should match the one listed in tryserver.chromium's
- # master.cfg which produces builds for bisect.
- if bisect_utils.IsWindowsHost():
- if bisect_utils.Is64BitWindows() and target_arch == 'x64':
- return ('win_perf_bisect_builder', MAX_WIN_BUILD_TIME)
- return ('win_perf_bisect_builder', MAX_WIN_BUILD_TIME)
- if bisect_utils.IsLinuxHost():
- if target_platform == 'android':
- return ('android_perf_bisect_builder', MAX_LINUX_BUILD_TIME)
- return ('linux_perf_bisect_builder', MAX_LINUX_BUILD_TIME)
- if bisect_utils.IsMacHost():
- return ('mac_perf_bisect_builder', MAX_MAC_BUILD_TIME)
- raise NotImplementedError('Unsupported Platform "%s".' % sys.platform)
if not fetch_build:
return False
@@ -1406,8 +1390,8 @@ class BisectPerformanceMetrics(object):
source_control.CheckoutFileAtRevision(
bisect_utils.FILE_DEPS, git_revision, cwd=self.src_cwd)
- bot_name, build_timeout = GetBuilderNameAndBuildTime(
- self.opts.target_platform, self.opts.target_arch)
+ bot_name = self._GetBuilderName(self.opts.target_platform)
+ build_timeout = self._GetBuilderBuildTime()
target_file = None
try:
# Execute try job request to build revision with patch.
@@ -1423,6 +1407,30 @@ class BisectPerformanceMetrics(object):
return target_file
+ @staticmethod
+ def _GetBuilderName(target_platform):
+ """Gets builder bot name and build time in seconds based on platform."""
+ if bisect_utils.IsWindowsHost():
+ return 'win_perf_bisect_builder'
+ if bisect_utils.IsLinuxHost():
+ if target_platform == 'android':
+ return 'android_perf_bisect_builder'
+ return 'linux_perf_bisect_builder'
+ if bisect_utils.IsMacHost():
+ return 'mac_perf_bisect_builder'
+ raise NotImplementedError('Unsupported Platform "%s".' % sys.platform)
+
+ @staticmethod
+ def _GetBuilderBuildTime():
+ """Returns the time to wait for a build after requesting one."""
+ if bisect_utils.IsWindowsHost():
+ return MAX_WIN_BUILD_TIME
+ if bisect_utils.IsLinuxHost():
+ return MAX_LINUX_BUILD_TIME
+ if bisect_utils.IsMacHost():
+ return MAX_MAC_BUILD_TIME
+ raise NotImplementedError('Unsupported Platform "%s".' % sys.platform)
+
def IsDownloadable(self, depot):
"""Checks if build can be downloaded based on target platform and depot."""
if (self.opts.target_platform in ['chromium', 'android'] and
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698