summaryrefslogtreecommitdiffstats
path: root/tools/auto_bisect
diff options
context:
space:
mode:
authorprasadv <prasadv@google.com>2015-02-27 17:59:54 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-28 02:00:37 +0000
commitb3002837d27fe6ed516e8e6912e75ebfbe08b562 (patch)
tree512ecd3f394224438653f9bdcb8f4971aa53f92c /tools/auto_bisect
parent918b8195c559db1316fd6b1c961324cd0a53721a (diff)
downloadchromium_src-b3002837d27fe6ed516e8e6912e75ebfbe08b562.zip
chromium_src-b3002837d27fe6ed516e8e6912e75ebfbe08b562.tar.gz
chromium_src-b3002837d27fe6ed516e8e6912e75ebfbe08b562.tar.bz2
Make perf try jobs for win x64 build x64 binaries.
Perf try jobs running on Win x64 bisect bots should build and run tests on x64 binaries. BUG=462639 Review URL: https://codereview.chromium.org/961193002 Cr-Commit-Position: refs/heads/master@{#318570}
Diffstat (limited to 'tools/auto_bisect')
-rwxr-xr-xtools/auto_bisect/bisect_perf_regression.py13
-rw-r--r--tools/auto_bisect/builder.py10
-rwxr-xr-xtools/auto_bisect/configs/try.py1
-rw-r--r--tools/auto_bisect/configs/winx64.bisect.dromaeo.cfg15
-rw-r--r--tools/auto_bisect/configs/winx64.perf_test.kraken.cfg12
5 files changed, 46 insertions, 5 deletions
diff --git a/tools/auto_bisect/bisect_perf_regression.py b/tools/auto_bisect/bisect_perf_regression.py
index 62f9cb2..71f701c 100755
--- a/tools/auto_bisect/bisect_perf_regression.py
+++ b/tools/auto_bisect/bisect_perf_regression.py
@@ -1178,7 +1178,12 @@ class BisectPerformanceMetrics(object):
build_success = self._DownloadAndUnzipBuild(
revision, depot, build_type='Release', create_patch=create_patch)
else:
- # Build locally.
+ # Print the current environment set on the machine.
+ print 'Full Environment:'
+ for key, value in sorted(os.environ.items()):
+ print '%s: %s' % (key, value)
+ # Print the environment before proceeding with compile.
+ sys.stdout.flush()
build_success = self.builder.Build(depot, self.opts)
os.chdir(cwd)
return build_success
@@ -2635,9 +2640,9 @@ class BisectOptions(object):
help='The target build architecture. Choices are "ia32" '
'(default), "x64" or "arm".')
group.add_argument('--target_build_type', default='Release',
- choices=['Release', 'Debug'],
+ choices=['Release', 'Debug', 'Release_x64'],
help='The target build type. Choices are "Release" '
- '(default), or "Debug".')
+ '(default), Release_x64 or "Debug".')
group.add_argument('--builder_type', default=fetch_build.PERF_BUILDER,
choices=[fetch_build.PERF_BUILDER,
fetch_build.FULL_BUILDER, ''],
@@ -2731,6 +2736,8 @@ class BisectOptions(object):
raise RuntimeError('Invalid metric specified: [%s]' % opts.metric)
opts.metric = metric_values
+ if opts.target_arch == 'x64' and opts.target_build_type == 'Release':
+ opts.target_build_type = 'Release_x64'
opts.repeat_test_count = min(max(opts.repeat_test_count, 1), 100)
opts.max_time_minutes = min(max(opts.max_time_minutes, 1), 60)
opts.truncate_percent = min(max(opts.truncate_percent, 0), 25)
diff --git a/tools/auto_bisect/builder.py b/tools/auto_bisect/builder.py
index 1c74f22..9a93089 100644
--- a/tools/auto_bisect/builder.py
+++ b/tools/auto_bisect/builder.py
@@ -43,7 +43,7 @@ class Builder(object):
if opts.goma_dir:
opts.goma_dir = opts.goma_dir.encode('string_escape')
SetBuildSystemDefault(opts.build_preference, opts.use_goma,
- opts.goma_dir)
+ opts.goma_dir, opts.target_arch)
else:
if not opts.build_preference:
if 'ninja' in os.getenv('GYP_GENERATORS', default=''):
@@ -191,13 +191,16 @@ class AndroidChromeBuilder(AndroidBuilder):
return AndroidBuilder._GetTargets(self) + ['chrome_apk']
-def SetBuildSystemDefault(build_system, use_goma, goma_dir):
+def SetBuildSystemDefault(build_system, use_goma, goma_dir, target_arch='ia32'):
"""Sets up any environment variables needed to build with the specified build
system.
Args:
build_system: A string specifying build system. Currently only 'ninja' or
'make' are supported.
+ use_goma: Determines whether to GOMA for compile.
+ goma_dir: GOMA directory path.
+ target_arch: The target build architecture, ia32 or x64. Default is ia32.
"""
if build_system == 'ninja':
gyp_var = os.getenv('GYP_GENERATORS', default='')
@@ -224,6 +227,9 @@ def SetBuildSystemDefault(build_system, use_goma, goma_dir):
if goma_dir:
os.environ['GYP_DEFINES'] += ' gomadir=%s' % goma_dir
+ # Produce 64 bit chromium binaries when target architecure is set to x64.
+ if target_arch == 'x64':
+ os.environ['GYP_DEFINES'] += ' target_arch=%s' % target_arch
def SetupPlatformBuildEnvironment(opts):
"""Performs any platform-specific setup.
diff --git a/tools/auto_bisect/configs/try.py b/tools/auto_bisect/configs/try.py
index 943e859..0e2dd8d 100755
--- a/tools/auto_bisect/configs/try.py
+++ b/tools/auto_bisect/configs/try.py
@@ -31,6 +31,7 @@ PLATFORM_BOT_MAP = {
'linux': ['linux_perf_bisect'],
'mac': ['mac_perf_bisect', 'mac_10_9_perf_bisect'],
'win': ['win_perf_bisect', 'win_8_perf_bisect', 'win_xp_perf_bisect'],
+ 'winx64': ['win_x64_perf_bisect'],
'android': [
'android_gn_perf_bisect',
'android_nexus4_perf_bisect',
diff --git a/tools/auto_bisect/configs/winx64.bisect.dromaeo.cfg b/tools/auto_bisect/configs/winx64.bisect.dromaeo.cfg
new file mode 100644
index 0000000..24f9592
--- /dev/null
+++ b/tools/auto_bisect/configs/winx64.bisect.dromaeo.cfg
@@ -0,0 +1,15 @@
+# Config based on http://crbug.com/444762.
+
+config = {
+ 'command': 'python tools/perf/run_benchmark -v --browser=release dromaeo.domcorequery',
+ 'good_revision': '309431',
+ 'bad_revision': '309442',
+ 'metric': 'dom/dom',
+ 'repeat_count': '5',
+ 'max_time_minutes': '5',
+ 'truncate_percent': '20',
+ 'builder_type': 'perf',
+ 'target_arch': 'x64',
+}
+
+ # Workaround git try issue, see crbug.com/257689
diff --git a/tools/auto_bisect/configs/winx64.perf_test.kraken.cfg b/tools/auto_bisect/configs/winx64.perf_test.kraken.cfg
new file mode 100644
index 0000000..17196f7
--- /dev/null
+++ b/tools/auto_bisect/configs/winx64.perf_test.kraken.cfg
@@ -0,0 +1,12 @@
+# This config just runs the kraken test once.
+
+config = {
+ "command": "python tools/perf/run_benchmark -v --browser=release kraken",
+ "max_time_minutes": "10",
+ "repeat_count": "1",
+ "target_arch": "x64",
+ "truncate_percent": "0"
+}
+
+# Workaround git try issue, see crbug.com/257689
+