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

Unified Diff: scripts/slave/recipe_modules/chromium_android/api.py

Issue 2485763002: Use devil's adb with each bisect iteration, also start/stop daemons. (Closed)
Patch Set: Whitespace cleanup. Created 4 years, 1 month 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
Index: scripts/slave/recipe_modules/chromium_android/api.py
diff --git a/scripts/slave/recipe_modules/chromium_android/api.py b/scripts/slave/recipe_modules/chromium_android/api.py
index 3dc2fc01ff338c0a3fe6ba5a002514b624fcfa52..38a2a8e4f334ba9c8e902fabb77a2c37d76cc211 100644
--- a/scripts/slave/recipe_modules/chromium_android/api.py
+++ b/scripts/slave/recipe_modules/chromium_android/api.py
@@ -24,6 +24,7 @@ class AndroidApi(recipe_api.RecipeApi):
super(AndroidApi, self).__init__(**kwargs)
self._devices = None
self._file_changes_path = None
+ self.logcat_gs_bucket = 'chromium-android'
def get_config_defaults(self):
return {
@@ -1153,14 +1154,47 @@ class AndroidApi(recipe_api.RecipeApi):
if self.m.chromium.c.gyp_env.GYP_DEFINES.get('asan', 0) == 1:
self.asan_device_setup()
- def common_tests_final_steps(self, logcat_gs_bucket='chromium-android'):
ghost stip (do not use) 2016/11/07 23:57:48 I had to pull this out so that we could make the l
jbudorick 2016/11/08 00:18:31 You could also do something like def create_and
ghost stip (do not use) 2016/11/08 20:56:33 logcat_dump might be called outside of it though,
jbudorick 2016/11/08 21:37:08 At that point, I think it's on the caller. We cou
+ def common_tests_final_steps(self):
self.shutdown_device_monitor()
- self.logcat_dump(gs_bucket=logcat_gs_bucket)
+ self.logcat_dump(gs_bucket=self.logcat_gs_bucket)
self.stack_tool_steps()
if self.m.chromium.c.gyp_env.GYP_DEFINES.get('asan', 0) == 1:
self.asan_device_teardown()
self.test_report()
+ @contextlib.contextmanager
+ def android_build_wrapper(self, api):
+ """A context manager for use as auto_bisect's build_context_mgr.
+
+ This wraps every overall bisect run.
+ """
+ try:
+ api.chromium_android.common_tests_setup_steps(
+ perf_setup=True, remove_system_webview=True)
+ api.chromium.runhooks()
+
+ yield
+ finally:
+ api.auto_bisect.ensure_checkout()
+ api.chromium_android.common_tests_final_steps()
+
+ @contextlib.contextmanager
+ def android_test_wrapper(self, api):
+ """A context manager for use as auto_bisect's test_context_mgr.
+
+ This wraps each individual bisect test.
+ """
+ try:
+ self.use_devil_adb()
ghost stip (do not use) 2016/11/07 23:57:48 this is the "new logic" of the CL. does it look ok
jbudorick 2016/11/08 00:18:31 I'm not sure that we'll want to do this every time
ghost stip (do not use) 2016/11/08 20:56:32 isn't that the whole point of doing this work?
jbudorick 2016/11/08 21:37:08 For bisect, yes. I would be interested in using th
+ self.spawn_logcat_monitor()
+ self.spawn_device_monitor()
+
+ yield
+ finally:
+ self.shutdown_device_monitor()
+ self.logcat_dump(gs_bucket=self.logcat_gs_bucket)
+ self.stack_tool_steps()
ghost stip (do not use) 2016/11/07 23:57:48 do we need this? do we want it?
jbudorick 2016/11/08 00:18:31 Yes and yes. Us not having stack symbolization on
ghost stip (do not use) 2016/11/08 20:56:32 ok, I wasn't sure if I was duplicating some other
+
def run_bisect_script(self, extra_src='', path_to_config='', **kwargs):
self.m.step('prepare bisect perf regression',
[self.m.path['checkout'].join('tools',

Powered by Google App Engine
This is Rietveld 408576698