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 a8d9f5e6737828ccf5010f9070d4cdb553f407dd..5d56840783a27c854987fcc699aadb9ceec5d26a 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 |
@@ -75,30 +75,68 @@ class LocalDeviceInstrumentationTestRun( |
self._env.BlacklistDevice) |
@trace_event.traced |
def individual_device_set_up(dev, host_device_tuples): |
+ def single_apk_install(apk_permission_pair): |
jbudorick
2017/04/04 02:52:23
These three functions shouldn't be necessary w/ th
shenghuazhang
2017/04/05 03:00:16
Done.
|
+ apk = apk_permission_pair[0] |
+ permissions = apk_permission_pair[1] |
+ dev.Install(apk, permissions=permissions) |
+ |
+ def single_incremental_apk_install(dev_apk_script_array): |
+ dev = dev_apk_script_array[0] |
+ apk = dev_apk_script_array[1] |
+ incremental_install_script = dev_apk_script_array[2] |
+ local_device_test_run.IncrementalInstall( |
+ dev, apk, incremental_install_script) |
+ |
+ def single_apk_install_helper(array): |
+ if len(array) == 2: |
+ single_apk_install(array) |
+ elif len(array) == 3: |
+ single_incremental_apk_install(array) |
+ else: |
+ raise Exception('incorrect input array') |
+ |
+ @trace_event.traced |
def install_apk(): |
jbudorick
2017/04/04 02:52:23
Rather than keeping install_apk and having it retu
jbudorick
2017/04/04 23:03:47
My last line of ^ doesn't work, but something like
shenghuazhang
2017/04/05 03:00:16
Done.
|
+ apk_resource_array = [] |
if self._test_instance.apk_under_test: |
if self._test_instance.apk_under_test_incremental_install_script: |
- local_device_test_run.IncrementalInstall( |
+ apk_resource_array.append([ |
dev, |
self._test_instance.apk_under_test, |
- self._test_instance.apk_under_test_incremental_install_script) |
+ self._test_instance.apk_under_test_incremental_install_script]) |
else: |
permissions = self._test_instance.apk_under_test.GetPermissions() |
- dev.Install(self._test_instance.apk_under_test, |
- permissions=permissions) |
+ apk_resource_array.append( |
+ [self._test_instance.apk_under_test, permissions]) |
if self._test_instance.test_apk_incremental_install_script: |
- local_device_test_run.IncrementalInstall( |
+ apk_resource_array.append([ |
dev, |
self._test_instance.test_apk, |
- self._test_instance.test_apk_incremental_install_script) |
+ self._test_instance.test_apk_incremental_install_script]) |
else: |
permissions = self._test_instance.test_apk.GetPermissions() |
- dev.Install(self._test_instance.test_apk, permissions=permissions) |
+ apk_resource_array.append( |
+ [self._test_instance.test_apk, permissions]) |
for apk in self._test_instance.additional_apks: |
- dev.Install(apk) |
+ apk_resource_array.append([apk, None]) |
+ |
+ if self._env.concurrent_adb: |
+ def install_apk_func(arg): |
+ def internal_func(): |
+ single_apk_install_helper(arg) |
+ return internal_func |
+ install_apk_steps = [install_apk_func(apk_resource) |
+ for apk_resource in apk_resource_array] |
+ return install_apk_steps |
+ else: |
+ def install_apk_func(): |
+ for apk_resource in apk_resource_array: |
+ single_apk_install_helper(apk_resource) |
+ return [install_apk_func] |
+ def set_debug_app(): |
# Set debug app in order to enable reading command line flags on user |
# builds |
if self._test_instance.flags: |
@@ -165,8 +203,10 @@ class LocalDeviceInstrumentationTestRun( |
valgrind_tools.SetChromeTimeoutScale( |
dev, self._test_instance.timeout_scale) |
- steps = (install_apk, edit_shared_prefs, push_test_data, |
- create_flag_changer) |
+ install_apk_steps = install_apk() |
+ steps = [set_debug_app, edit_shared_prefs, push_test_data, |
+ create_flag_changer] |
+ steps = install_apk_steps + steps |
if self._env.concurrent_adb: |
reraiser_thread.RunAsync(steps) |
else: |