OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Class for running uiautomator tests on a single device.""" | 5 """Class for running uiautomator tests on a single device.""" |
6 | 6 |
7 from pylib.instrumentation import test_options | 7 from pylib.instrumentation import test_options as instr_test_options |
8 from pylib.instrumentation import test_runner as instr_test_runner | 8 from pylib.instrumentation import test_runner as instr_test_runner |
9 | 9 |
10 | 10 |
11 class TestRunner(instr_test_runner.TestRunner): | 11 class TestRunner(instr_test_runner.TestRunner): |
12 """Responsible for running a series of tests connected to a single device.""" | 12 """Responsible for running a series of tests connected to a single device.""" |
13 | 13 |
14 def __init__(self, test_options, device, shard_index, test_pkg, | 14 def __init__(self, test_options, device, shard_index, test_pkg, |
15 ports_to_forward): | 15 ports_to_forward): |
16 """Create a new TestRunner. | 16 """Create a new TestRunner. |
17 | 17 |
18 Args: | 18 Args: |
19 test_options: A UIAutomatorOptions object. | 19 test_options: A UIAutomatorOptions object. |
20 device: Attached android device. | 20 device: Attached android device. |
21 shard_index: Shard index. | 21 shard_index: Shard index. |
22 test_pkg: A TestPackage object. | 22 test_pkg: A TestPackage object. |
23 ports_to_forward: A list of port numbers for which to set up forwarders. | 23 ports_to_forward: A list of port numbers for which to set up forwarders. |
24 Can be optionally requested by a test case. | 24 Can be optionally requested by a test case. |
25 """ | 25 """ |
26 # Create an InstrumentationOptions object to pass to the super class | 26 # Create an InstrumentationOptions object to pass to the super class |
27 instrumentation_options = test_options.InstrumentationOptions( | 27 instrumentation_options = instr_test_options.InstrumentationOptions( |
28 test_options.build_type, | 28 test_options.build_type, |
29 test_options.tool, | 29 test_options.tool, |
30 test_options.cleanup_test_files, | 30 test_options.cleanup_test_files, |
31 test_options.push_deps, | 31 test_options.push_deps, |
32 test_options.annotations, | 32 test_options.annotations, |
33 test_options.exclude_annotations, | 33 test_options.exclude_annotations, |
34 test_options.test_filter, | 34 test_options.test_filter, |
35 test_options.test_data, | 35 test_options.test_data, |
36 test_options.save_perf_json, | 36 test_options.save_perf_json, |
37 test_options.screenshot_failures, | 37 test_options.screenshot_failures, |
38 test_options.disable_assertions, | 38 test_options.disable_assertions, |
39 wait_for_debugger=False, | 39 wait_for_debugger=False, |
40 test_apk=None) | 40 test_apk=None, |
| 41 test_apk_path=None, |
| 42 test_apk_jar_path=None) |
41 super(TestRunner, self).__init__(instrumentation_options, device, | 43 super(TestRunner, self).__init__(instrumentation_options, device, |
42 shard_index, test_pkg, ports_to_forward) | 44 shard_index, test_pkg, ports_to_forward) |
43 | 45 |
44 self.package_name = test_options.package_name | 46 self.package_name = test_options.package_name |
45 | 47 |
46 #override | 48 #override |
47 def InstallTestPackage(self): | 49 def InstallTestPackage(self): |
48 self.test_pkg.Install(self.adb) | 50 self.test_pkg.Install(self.adb) |
49 | 51 |
50 #override | 52 #override |
51 def PushDataDeps(self): | 53 def PushDataDeps(self): |
52 pass | 54 pass |
53 | 55 |
54 #override | 56 #override |
55 def _RunTest(self, test, timeout): | 57 def _RunTest(self, test, timeout): |
56 self.adb.ClearApplicationState(self.package_name) | 58 self.adb.ClearApplicationState(self.package_name) |
57 if 'Feature:FirstRunExperience' in self.test_pkg.GetTestAnnotations(test): | 59 if 'Feature:FirstRunExperience' in self.test_pkg.GetTestAnnotations(test): |
58 self.flags.RemoveFlags(['--disable-fre']) | 60 self.flags.RemoveFlags(['--disable-fre']) |
59 else: | 61 else: |
60 self.flags.AddFlags(['--disable-fre']) | 62 self.flags.AddFlags(['--disable-fre']) |
61 return self.adb.RunUIAutomatorTest( | 63 return self.adb.RunUIAutomatorTest( |
62 test, self.test_pkg.GetPackageName(), timeout) | 64 test, self.test_pkg.GetPackageName(), timeout) |
OLD | NEW |