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

Side by Side Diff: scripts/slave/recipe_modules/skia/appurify_flavor.py

Issue 1320423005: Skia Appurify bot: write nanobench flags to an asset file (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Move --outResultsFile to recipe Created 5 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | scripts/slave/recipe_modules/skia/fake_specs.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 5
6 import android_devices 6 import android_devices
7 import copy 7 import copy
8 import default_flavor 8 import default_flavor
9 9
10 10
11 """Appurify flavor utils, used for building and running tests in Appurify.""" 11 """Appurify flavor utils, used for building and running tests in Appurify."""
12 12
13 13
14 class AppurifyFlavorUtils(default_flavor.DefaultFlavorUtils): 14 class AppurifyFlavorUtils(default_flavor.DefaultFlavorUtils):
15 def __init__(self, skia_api): 15 def __init__(self, skia_api):
16 super(AppurifyFlavorUtils, self).__init__(skia_api) 16 super(AppurifyFlavorUtils, self).__init__(skia_api)
17 self.device = self._skia_api.builder_spec['device_cfg'] 17 self.device = self._skia_api.builder_spec['device_cfg']
18 slave_info = android_devices.SLAVE_INFO.get( 18 slave_info = android_devices.SLAVE_INFO.get(
19 self._skia_api.slave_name, 19 self._skia_api.slave_name,
20 android_devices.SLAVE_INFO['default']) 20 android_devices.SLAVE_INFO['default'])
21 self.android_tools = self._skia_api.m.path['slave_build'].join( 21 self.android_tools = self._skia_api.m.path['slave_build'].join(
22 'skia', 'platform_tools', 'android') 22 'skia', 'platform_tools', 'android')
23 self.android_bin = self.android_tools.join('bin') 23 self.android_bin = self.android_tools.join('bin')
24 self.apk_dir = self.android_tools.join('apps', 'visualbench', 'build', 24 self.apk_dir = self.android_tools.join('apps', 'visualbench', 'build',
25 'outputs', 'apk') 25 'outputs', 'apk')
26 self.assets_dir = self.android_tools.join('apps', 'visualbench', 'src',
27 'main', 'assets')
26 self._android_sdk_root = slave_info.android_sdk_root 28 self._android_sdk_root = slave_info.android_sdk_root
27 self._default_env = {'ANDROID_SDK_ROOT': self._android_sdk_root, 29 self._default_env = {'ANDROID_SDK_ROOT': self._android_sdk_root,
28 'ANDROID_HOME': self._android_sdk_root, 30 'ANDROID_HOME': self._android_sdk_root,
29 'SKIA_ANDROID_VERBOSE_SETUP': 1} 31 'SKIA_ANDROID_VERBOSE_SETUP': 1}
30 32
31 def step(self, name, cmd, env=None, **kwargs): 33 def step(self, name, cmd, env=None, **kwargs):
32 # Extract the json file name from the command; ignore the rest. 34 # Extract the json file name from the command; ignore the rest.
33 json_file = None 35 json_file = None
34 for i, arg in enumerate(cmd): 36 for i, arg in enumerate(cmd):
35 if str(arg) == '--outResultsFile': 37 if str(arg) == '--outResultsFile':
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 self._skia_api.perf_data_dir.join(json_file)) 77 self._skia_api.perf_data_dir.join(json_file))
76 return result 78 return result
77 79
78 def compile(self, target): 80 def compile(self, target):
79 """Build the given target.""" 81 """Build the given target."""
80 env = dict(self._default_env) 82 env = dict(self._default_env)
81 ccache = self._skia_api.ccache() 83 ccache = self._skia_api.ccache()
82 if ccache: 84 if ccache:
83 env['ANDROID_MAKE_CCACHE'] = ccache 85 env['ANDROID_MAKE_CCACHE'] = ccache
84 86
87 # Write the nanobench flags to a file inside the APK.
88 args = list(self._skia_api.nanobench_flags)
89 args.extend(['--outResultsFile', '/sdcard/skia_results/visualbench.json'])
90 self.create_clean_host_dir(self.assets_dir)
91 self._skia_api._writefile(self.assets_dir.join('nanobench_flags.txt'),
92 ' '.join(args))
93
85 cmd = [self.android_bin.join('android_ninja'), target, '-d', self.device] 94 cmd = [self.android_bin.join('android_ninja'), target, '-d', self.device]
86 self._skia_api.run(self._skia_api.m.step, 'build %s' % target, cmd=cmd, 95 self._skia_api.run(self._skia_api.m.step, 'build %s' % target, cmd=cmd,
87 env=env, cwd=self._skia_api.m.path['checkout']) 96 env=env, cwd=self._skia_api.m.path['checkout'])
OLDNEW
« no previous file with comments | « no previous file | scripts/slave/recipe_modules/skia/fake_specs.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698