Chromium Code Reviews| 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: |