aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra/bots/recipe_modules/flavor/gn_android_flavor.py
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2016-09-14 11:15:54 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-09-14 11:15:54 -0700
commit7de2d40dccdd7db09fcd3460a9bde8cc9082874b (patch)
tree676790cd1e5fe60014471476149f9a35f710cc1c /infra/bots/recipe_modules/flavor/gn_android_flavor.py
parent7bbda991af353fbe6b34132132d211d23a3dba8c (diff)
merge run and check-rc steps
This'll make the 'dm' or 'nanobench' step go red like you'd hope. The N5 should pass and the N10 and N7 should fail, showing us both sides. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339713003 Review-Url: https://codereview.chromium.org/2339713003
Diffstat (limited to 'infra/bots/recipe_modules/flavor/gn_android_flavor.py')
-rw-r--r--infra/bots/recipe_modules/flavor/gn_android_flavor.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/infra/bots/recipe_modules/flavor/gn_android_flavor.py b/infra/bots/recipe_modules/flavor/gn_android_flavor.py
index 9cb5b546d4..80952e8c8e 100644
--- a/infra/bots/recipe_modules/flavor/gn_android_flavor.py
+++ b/infra/bots/recipe_modules/flavor/gn_android_flavor.py
@@ -37,7 +37,7 @@ class GNAndroidFlavorUtils(default_flavor.DefaultFlavorUtils):
def _adb(self, title, *cmd, **kwargs):
self._ever_ran_adb = True
- # The only non-infra adb call (check rc) happens to not use _adb().
+ # The only non-infra adb steps (dm / nanobench) happen to not use _adb().
if 'infra_step' not in kwargs:
kwargs['infra_step'] = True
return self._run(title, 'adb', *cmd, **kwargs)
@@ -78,6 +78,7 @@ class GNAndroidFlavorUtils(default_flavor.DefaultFlavorUtils):
def cleanup_steps(self):
if self._ever_ran_adb:
+ self._adb('dump log', 'logcat', '-d')
self._adb('reboot', 'reboot')
self._adb('kill adb server', 'kill-server')
@@ -94,15 +95,19 @@ class GNAndroidFlavorUtils(default_flavor.DefaultFlavorUtils):
'push', self.m.vars.tmp_dir.join(sh), _bin_dir)
self._adb('clear log', 'logcat', '-c')
- self._adb(cmd[0], 'shell', 'sh', _bin_dir + sh)
- self._adb('dump log ', 'logcat', '-d')
-
- self.m.python.inline('check %s rc' % cmd[0], """
+ self.m.python.inline('%s' % cmd[0], """
import subprocess
import sys
- sys.exit(int(subprocess.check_output(['adb', 'shell', 'cat',
- '%src'])))
- """ % _bin_dir)
+ bin_dir = sys.argv[1]
+ sh = sys.argv[2]
+ subprocess.check_call(['adb', 'shell', 'sh', bin_dir + sh])
+ try:
+ sys.exit(int(subprocess.check_output(['adb', 'shell', 'cat',
+ bin_dir + 'rc'])))
+ except ValueError:
+ print "Couldn't read the return code. Probably killed for OOM."
+ sys.exit(1)
+ """, args=[_bin_dir, sh])
def copy_file_to_device(self, host, device):
self._adb('push %s %s' % (host, device), 'push', host, device)