| 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 adc10374ee98f77f897c79c963bd84f146dd9d5e..e388fce9efc0a3cada02d0801fd64b677c0c9470 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
|
| @@ -130,22 +130,41 @@ class LocalDeviceInstrumentationTestRun(
|
|
|
| #override
|
| def _RunTest(self, device, test):
|
| - test_name = self._GetTestName(test)
|
| - logging.info('preparing to run %s: %s' % (test_name, test))
|
| + extras = self._test_instance.GetHttpServerEnvironmentVars()
|
| +
|
| + if isinstance(test, list):
|
| + if not self._test_instance.driver_apk:
|
| + raise Exception('driver_apk does not exist. '
|
| + 'Please build it and try again.')
|
| +
|
| + def name_and_timeout(t):
|
| + n = self._GetTestName(t)
|
| + i = self._GetTimeoutFromAnnotations(t['annotations'], n)
|
| + return (n, i)
|
| +
|
| + test_names, timeouts = zip(*(name_and_timeout(t) for t in test))
|
| +
|
| + test_name = ','.join(test_names)
|
| + target = '%s/%s' % (
|
| + self._test_instance.driver_package,
|
| + self._test_instance.driver_name)
|
| + extras.update(
|
| + self._test_instance.GetDriverEnvironmentVars(
|
| + test_list=test_names))
|
| + timeout = sum(timeouts)
|
| + else:
|
| + test_name = self._GetTestName(test)
|
| + target = '%s/%s' % (
|
| + self._test_instance.test_package, self._test_instance.test_runner)
|
| + extras['class'] = test_name
|
| + timeout = self._GetTimeoutFromAnnotations(test['annotations'], test_name)
|
|
|
| - extras = {
|
| - 'class': test_name,
|
| - 'org.chromium.chrome.test.ChromeInstrumentationTestRunner'
|
| - '.EnableTestHttpServer': '',
|
| - }
|
| - timeout = self._GetTimeoutFromAnnotations(test['annotations'], test_name)
|
| + logging.info('preparing to run %s: %s' % (test_name, test))
|
|
|
| time_ms = lambda: int(time.time() * 1e3)
|
| start_ms = time_ms()
|
| output = device.StartInstrumentation(
|
| - '%s/%s' % (self._test_instance.test_package,
|
| - self._test_instance.test_runner),
|
| - raw=True, extras=extras, timeout=timeout, retries=0)
|
| + target, raw=True, extras=extras, timeout=timeout, retries=0)
|
| duration_ms = time_ms() - start_ms
|
|
|
| # TODO(jbudorick): Make instrumentation tests output a JSON so this
|
|
|