Add Apps.AppListSearchQueryLength UMA histogram.
[chromium-blink-merge.git] / build / android / pylib / base / test_run_factory.py
blob8c71ebbd0a0dee03649cd8edc02dc61b960201aa
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 from pylib.gtest import gtest_test_instance
6 from pylib.gtest import local_device_gtest_run
7 from pylib.instrumentation import instrumentation_test_instance
8 from pylib.local.device import local_device_environment
9 from pylib.local.device import local_device_instrumentation_test_run
10 from pylib.remote.device import remote_device_environment
11 from pylib.remote.device import remote_device_gtest_run
12 from pylib.remote.device import remote_device_instrumentation_test_run
13 from pylib.remote.device import remote_device_uirobot_test_run
14 from pylib.uirobot import uirobot_test_instance
17 def CreateTestRun(_args, env, test_instance, error_func):
18 if isinstance(env, local_device_environment.LocalDeviceEnvironment):
19 if isinstance(test_instance, gtest_test_instance.GtestTestInstance):
20 return local_device_gtest_run.LocalDeviceGtestRun(env, test_instance)
21 if isinstance(test_instance,
22 instrumentation_test_instance.InstrumentationTestInstance):
23 return (local_device_instrumentation_test_run
24 .LocalDeviceInstrumentationTestRun(env, test_instance))
26 if isinstance(env, remote_device_environment.RemoteDeviceEnvironment):
27 if isinstance(test_instance, gtest_test_instance.GtestTestInstance):
28 return remote_device_gtest_run.RemoteDeviceGtestTestRun(
29 env, test_instance)
30 if isinstance(test_instance,
31 instrumentation_test_instance.InstrumentationTestInstance):
32 return (remote_device_instrumentation_test_run
33 .RemoteDeviceInstrumentationTestRun(env, test_instance))
34 if isinstance(test_instance, uirobot_test_instance.UirobotTestInstance):
35 return remote_device_uirobot_test_run.RemoteDeviceUirobotTestRun(
36 env, test_instance)
39 error_func('Unable to create test run for %s tests in %s environment'
40 % (str(test_instance), str(env)))