aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra/bots/recipe_modules/flavor/gn_android_flavor.py
diff options
context:
space:
mode:
authorGravatar Kevin Lubick <kjlubick@google.com>2016-11-14 13:42:27 -0500
committerGravatar Kevin Lubick <kjlubick@google.com>2016-11-14 20:34:04 +0000
commitb03b5aca54122d72204c17dcf3ef15036dbe120a (patch)
tree25e38438597b8b08a4525dc4e7e94e464f0810b1 /infra/bots/recipe_modules/flavor/gn_android_flavor.py
parent2e27207eb43b4459aeaf603636a9570576456618 (diff)
Add skpbench job
This entails a few parts: 1. Isolating tools/skpbench/ to be used by the perf task. 2. Adding skpbench to BUILD_PRODUCTS_ISOLATE_WHITELIST 3. Add recipe commands to run skpbench. While it is conceptually similar to nanobench, it doesn't support images nor svgs, only skps, so we don't need to copy those to devices or bring them in via CIPD. 4. Add recipe commands to parse skpbench output and upload to Perf. 5. Update gen_tasks.go to handle skpbench jobs and tasks. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4551 Change-Id: I09bf0b078067279e138e95eca9316e55539ec735 Reviewed-on: https://skia-review.googlesource.com/4551 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Eric Boren <borenet@google.com>
Diffstat (limited to 'infra/bots/recipe_modules/flavor/gn_android_flavor.py')
-rw-r--r--infra/bots/recipe_modules/flavor/gn_android_flavor.py27
1 files changed, 12 insertions, 15 deletions
diff --git a/infra/bots/recipe_modules/flavor/gn_android_flavor.py b/infra/bots/recipe_modules/flavor/gn_android_flavor.py
index c409258134..67c8045b0d 100644
--- a/infra/bots/recipe_modules/flavor/gn_android_flavor.py
+++ b/infra/bots/recipe_modules/flavor/gn_android_flavor.py
@@ -5,10 +5,6 @@
import default_flavor
import subprocess
-# Data should go under in _data_dir, which may be preserved across runs.
-_data_dir = '/sdcard/revenge_of_the_skiabot/'
-# Executables go under _bin_dir, which, well, allows executable files.
-_bin_dir = '/data/local/tmp/'
"""GN Android flavor utils, used for building Skia for Android with GN."""
class GNAndroidFlavorUtils(default_flavor.DefaultFlavorUtils):
@@ -17,13 +13,13 @@ class GNAndroidFlavorUtils(default_flavor.DefaultFlavorUtils):
self._ever_ran_adb = False
self.device_dirs = default_flavor.DeviceDirs(
- dm_dir = _data_dir + 'dm_out',
- perf_data_dir = _data_dir + 'perf',
- resource_dir = _data_dir + 'resources',
- images_dir = _data_dir + 'images',
- skp_dir = _data_dir + 'skps',
- svg_dir = _data_dir + 'svgs',
- tmp_dir = _data_dir)
+ dm_dir = self.m.vars.android_data_dir + 'dm_out',
+ perf_data_dir = self.m.vars.android_data_dir + 'perf',
+ resource_dir = self.m.vars.android_data_dir + 'resources',
+ images_dir = self.m.vars.android_data_dir + 'images',
+ skp_dir = self.m.vars.android_data_dir + 'skps',
+ svg_dir = self.m.vars.android_data_dir + 'svgs',
+ tmp_dir = self.m.vars.android_data_dir)
def _strip_environment(self):
self.m.vars.default_env = {k: v for (k,v)
@@ -120,14 +116,15 @@ class GNAndroidFlavorUtils(default_flavor.DefaultFlavorUtils):
def step(self, name, cmd, env=None, **kwargs):
app = self.m.vars.skia_out.join(self.m.vars.configuration, cmd[0])
self._adb('push %s' % cmd[0],
- 'push', app, _bin_dir)
+ 'push', app, self.m.vars.android_bin_dir)
sh = '%s.sh' % cmd[0]
self.m.run.writefile(self.m.vars.tmp_dir.join(sh),
'set -x; %s%s; echo $? >%src' %
- (_bin_dir, subprocess.list2cmdline(map(str, cmd)), _bin_dir))
+ (self.m.vars.android_bin_dir, subprocess.list2cmdline(map(str, cmd)),
+ self.m.vars.android_bin_dir))
self._adb('push %s' % sh,
- 'push', self.m.vars.tmp_dir.join(sh), _bin_dir)
+ 'push', self.m.vars.tmp_dir.join(sh), self.m.vars.android_bin_dir)
self._adb('clear log', 'logcat', '-c')
self.m.python.inline('%s' % cmd[0], """
@@ -142,7 +139,7 @@ class GNAndroidFlavorUtils(default_flavor.DefaultFlavorUtils):
except ValueError:
print "Couldn't read the return code. Probably killed for OOM."
sys.exit(1)
- """, args=[_bin_dir, sh])
+ """, args=[self.m.vars.android_bin_dir, sh])
def copy_file_to_device(self, host, device):
self._adb('push %s %s' % (host, device), 'push', host, device)