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

Unified Diff: tools/bisect-perf-regression.py

Issue 277993002: Add target_build_type flag to bisect-perf-regression tool to enable bisecting of a Debug build with… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | « tools/bisect-manual-test.py ('k') | tools/run-bisect-manual-test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/bisect-perf-regression.py
diff --git a/tools/bisect-perf-regression.py b/tools/bisect-perf-regression.py
index 602182436459a36f04a165b7f150084a5ffaf1a7..77a5e787f1cbae36c5bc844644c9fbb23771b7b3 100755
--- a/tools/bisect-perf-regression.py
+++ b/tools/bisect-perf-regression.py
@@ -654,8 +654,8 @@ def SetBuildSystemDefault(build_system):
raise RuntimeError('%s build not supported.' % build_system)
-def BuildWithMake(threads, targets):
- cmd = ['make', 'BUILDTYPE=Release']
+def BuildWithMake(threads, targets, build_type):
+ cmd = ['make', 'BUILDTYPE=%s' % build_type]
if threads:
cmd.append('-j%d' % threads)
@@ -667,8 +667,8 @@ def BuildWithMake(threads, targets):
return not return_code
-def BuildWithNinja(threads, targets):
- cmd = ['ninja', '-C', os.path.join('out', 'Release')]
+def BuildWithNinja(threads, targets, build_type):
+ cmd = ['ninja', '-C', os.path.join('out', build_type)]
if threads:
cmd.append('-j%d' % threads)
@@ -680,11 +680,11 @@ def BuildWithNinja(threads, targets):
return not return_code
-def BuildWithVisualStudio(targets):
+def BuildWithVisualStudio(targets, build_type):
path_to_devenv = os.path.abspath(
os.path.join(os.environ['VS100COMNTOOLS'], '..', 'IDE', 'devenv.com'))
path_to_sln = os.path.join(os.getcwd(), 'chrome', 'chrome.sln')
- cmd = [path_to_devenv, '/build', 'Release', path_to_sln]
+ cmd = [path_to_devenv, '/build', build_type, path_to_sln]
for t in targets:
cmd.extend(['/Project', t])
@@ -797,12 +797,12 @@ class DesktopBuilder(Builder):
build_success = False
if opts.build_preference == 'make':
- build_success = BuildWithMake(threads, targets)
+ build_success = BuildWithMake(threads, targets, opts.target_build_type)
elif opts.build_preference == 'ninja':
- build_success = BuildWithNinja(threads, targets)
+ build_success = BuildWithNinja(threads, targets, opts.target_build_type)
elif opts.build_preference == 'msvs':
assert IsWindows(), 'msvs is only supported on Windows.'
- build_success = BuildWithVisualStudio(targets)
+ build_success = BuildWithVisualStudio(targets, opts.target_build_type)
else:
assert False, 'No build system defined.'
return build_success
@@ -912,7 +912,7 @@ class CrosBuilder(Builder):
if depot != 'cros':
cmd += ['CHROME_ORIGIN=LOCAL_SOURCE']
- cmd += ['BUILDTYPE=Release', './build_packages',
+ cmd += ['BUILDTYPE=%s' % opts.target_build_type, './build_packages',
'--board=%s' % opts.cros_board]
return_code = RunProcess(cmd)
@@ -939,7 +939,7 @@ class CrosBuilder(Builder):
if depot != 'cros':
cmd += ['CHROME_ORIGIN=LOCAL_SOURCE']
- cmd += ['BUILDTYPE=Release', '--', './build_image',
+ cmd += ['BUILDTYPE=%s' % opts.target_build_type, '--', './build_image',
'--board=%s' % opts.cros_board, 'test']
return_code = RunProcess(cmd)
@@ -3553,10 +3553,10 @@ def RmTreeAndMkDir(path_to_dir, skip_makedir=False):
return True
-def RemoveBuildFiles():
+def RemoveBuildFiles(build_type):
"""Removes build files from previous runs."""
- if RmTreeAndMkDir(os.path.join('out', 'Release')):
- if RmTreeAndMkDir(os.path.join('build', 'Release')):
+ if RmTreeAndMkDir(os.path.join('out', build_type)):
+ if RmTreeAndMkDir(os.path.join('build', build_type)):
return True
return False
@@ -3587,6 +3587,7 @@ class BisectOptions(object):
self.debug_ignore_perf_test = None
self.gs_bucket = None
self.target_arch = 'ia32'
+ self.target_build_type = 'Release'
self.builder_host = None
self.builder_port = None
self.bisect_mode = BISECT_MODE_MEAN
@@ -3710,6 +3711,12 @@ class BisectOptions(object):
dest='target_arch',
help=('The target build architecture. Choices are "ia32" '
'(default), "x64" or "arm".'))
+ group.add_option('--target_build_type',
+ type='choice',
+ choices=['Release', 'Debug'],
+ default='Release',
+ help='The target build type. Choices are "Release" '
+ '(default), or "Debug".')
group.add_option('--builder_host',
dest='builder_host',
type='str',
@@ -3848,7 +3855,7 @@ def main():
os.chdir(os.path.join(os.getcwd(), 'src'))
- if not RemoveBuildFiles():
+ if not RemoveBuildFiles(opts.target_build_type):
raise RuntimeError('Something went wrong removing the build files.')
if not IsPlatformSupported(opts):
« no previous file with comments | « tools/bisect-manual-test.py ('k') | tools/run-bisect-manual-test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698