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

Unified Diff: build/android/pylib/local/device/local_device_instrumentation_test_run.py

Issue 1680233002: Android Add _incremental targets for instrumentation tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: build/android/pylib/local/device/local_device_instrumentation_test_run.py
diff --git a/build/android/pylib/local/device/local_device_instrumentation_test_run.py b/build/android/pylib/local/device/local_device_instrumentation_test_run.py
index c0850fa0c8d61db4aa6ff2c23c64fd33de536de7..8f951c988021dfc7dfe768c9e7dbd72f1e34aa93 100644
--- a/build/android/pylib/local/device/local_device_instrumentation_test_run.py
+++ b/build/android/pylib/local/device/local_device_instrumentation_test_run.py
@@ -7,6 +7,7 @@ import re
import time
from devil.android import device_errors
+from devil.utils import reraiser_thread
from pylib import flag_changer
from pylib import valgrind_tools
from pylib.base import base_test_result
@@ -67,34 +68,57 @@ class LocalDeviceInstrumentationTestRun(
@local_device_test_run.handle_shard_failures_with(
self._env.BlacklistDevice)
def individual_device_set_up(dev, host_device_tuples):
- dev.Install(self._test_instance.apk_under_test,
- permissions=self._test_instance.apk_under_test_permissions)
- dev.Install(self._test_instance.test_apk,
- permissions=self._test_instance.test_permissions)
- for apk in self._test_instance.additional_apks:
- dev.Install(apk)
-
- external_storage = dev.GetExternalStoragePath()
- host_device_tuples = [
- (h, substitute_external_storage(d, external_storage))
- for h, d in host_device_tuples]
- logging.info('instrumentation data deps:')
- for h, d in host_device_tuples:
- logging.info('%r -> %r', h, d)
- dev.PushChangedFiles(host_device_tuples)
- if self._test_instance.flags:
- if not self._test_instance.package_info:
- logging.error("Couldn't set flags: no package info")
- elif not self._test_instance.package_info.cmdline_file:
- logging.error("Couldn't set flags: no cmdline_file")
+ def install_apk():
jbudorick 2016/02/09 23:32:32 nit through line 86: either - no parameters on th
agrieve 2016/02/10 01:56:56 Done.
+ if self._test_instance.apk_under_test_incremental_install_script:
+ local_device_test_run.IncrementalInstall(dev,
+ self._test_instance.apk_under_test,
+ self._test_instance.apk_under_test_incremental_install_script)
else:
- self._CreateFlagChangerIfNeeded(dev)
- logging.debug('Attempting to set flags: %r',
- self._test_instance.flags)
- self._flag_changers[str(dev)].AddFlags(self._test_instance.flags)
+ dev.Install(self._test_instance.apk_under_test,
+ permissions=self._test_instance.apk_under_test.GetPermissions())
- valgrind_tools.SetChromeTimeoutScale(
- dev, self._test_instance.timeout_scale)
+ if self._test_instance.test_apk_incremental_install_script:
+ local_device_test_run.IncrementalInstall(dev,
+ self._test_instance.test_apk,
+ self._test_instance.test_apk_incremental_install_script)
+ else:
+ dev.Install(self._test_instance.test_apk,
+ permissions=self._test_instance.test_apk.GetPermissions())
+
+ for apk in self._test_instance.additional_apks:
+ dev.Install(apk)
+
+ def push_test_data():
+ external_storage = dev.GetExternalStoragePath()
+ host_device_tuples_substituted = [
+ (h, substitute_external_storage(d, external_storage))
+ for h, d in host_device_tuples]
+ logging.info('instrumentation data deps:')
+ for h, d in host_device_tuples_substituted:
+ logging.info('%r -> %r', h, d)
+ dev.PushChangedFiles(host_device_tuples_substituted)
+
+ def create_flag_changer():
+ if self._test_instance.flags:
+ if not self._test_instance.package_info:
+ logging.error("Couldn't set flags: no package info")
+ elif not self._test_instance.package_info.cmdline_file:
+ logging.error("Couldn't set flags: no cmdline_file")
+ else:
+ self._CreateFlagChangerIfNeeded(dev)
+ logging.debug('Attempting to set flags: %r',
+ self._test_instance.flags)
+ self._flag_changers[str(dev)].AddFlags(self._test_instance.flags)
+
+ valgrind_tools.SetChromeTimeoutScale(
+ dev, self._test_instance.timeout_scale)
+
+ steps = (install_apk, push_test_data, create_flag_changer)
+ if self._env.concurrent_adb:
+ reraiser_thread.RunAsync(steps)
+ else:
+ for step in steps:
+ step()
self._env.parallel_devices.pMap(
individual_device_set_up,

Powered by Google App Engine
This is Rietveld 408576698