Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Side by Side Diff: build/android/pylib/host_driven/test_runner.py

Issue 1050883002: [Android] Reland cleanup of old_interface in build/android/pylib. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 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 """Runs host-driven tests on a particular device.""" 5 """Runs host-driven tests on a particular device."""
6 6
7 import logging 7 import logging
8 import sys 8 import sys
9 import time 9 import time
10 import traceback 10 import traceback
(...skipping 29 matching lines...) Expand all
40 log=str(exc_type) + ' ' + log_msg) 40 log=str(exc_type) + ' ' + log_msg)
41 41
42 42
43 class HostDrivenTestRunner(base_test_runner.BaseTestRunner): 43 class HostDrivenTestRunner(base_test_runner.BaseTestRunner):
44 """Orchestrates running a set of host-driven tests. 44 """Orchestrates running a set of host-driven tests.
45 45
46 Any Python exceptions in the tests are caught and translated into a failed 46 Any Python exceptions in the tests are caught and translated into a failed
47 result, rather than being re-raised on the main thread. 47 result, rather than being re-raised on the main thread.
48 """ 48 """
49 49
50 # TODO(jbudorick): Remove cleanup_test_files once it's no longer used.
51 # pylint: disable=unused-argument
50 #override 52 #override
51 def __init__(self, device, shard_index, tool, cleanup_test_files): 53 def __init__(self, device, shard_index, tool, cleanup_test_files=None):
52 """Creates a new HostDrivenTestRunner. 54 """Creates a new HostDrivenTestRunner.
53 55
54 Args: 56 Args:
55 device: Attached android device. 57 device: Attached android device.
56 shard_index: Shard index. 58 shard_index: Shard index.
57 tool: Name of the Valgrind tool. 59 tool: Name of the Valgrind tool.
58 cleanup_test_files: Whether or not to cleanup test files on device. 60 cleanup_test_files: Deprecated.
59 """ 61 """
60 62
61 super(HostDrivenTestRunner, self).__init__(device, tool, cleanup_test_files) 63 super(HostDrivenTestRunner, self).__init__(device, tool)
62 64
63 # The shard index affords the ability to create unique port numbers (e.g. 65 # The shard index affords the ability to create unique port numbers (e.g.
64 # DEFAULT_PORT + shard_index) if the test so wishes. 66 # DEFAULT_PORT + shard_index) if the test so wishes.
65 self.shard_index = shard_index 67 self.shard_index = shard_index
66 68
69 # pylint: enable=unused-argument
70
67 #override 71 #override
68 def RunTest(self, test): 72 def RunTest(self, test):
69 """Sets up and runs a test case. 73 """Sets up and runs a test case.
70 74
71 Args: 75 Args:
72 test: An object which is ostensibly a subclass of HostDrivenTestCase. 76 test: An object which is ostensibly a subclass of HostDrivenTestCase.
73 77
74 Returns: 78 Returns:
75 A TestRunResults object which contains the result produced by the test 79 A TestRunResults object which contains the result produced by the test
76 and, in the case of a failure, the test that should be retried. 80 and, in the case of a failure, the test that should be retried.
77 """ 81 """
78 82
79 assert isinstance(test, test_case.HostDrivenTestCase) 83 assert isinstance(test, test_case.HostDrivenTestCase)
80 84
81 start_date_ms = int(time.time()) * 1000 85 start_date_ms = int(time.time()) * 1000
82 exception_raised = False 86 exception_raised = False
83 87
84 try: 88 try:
85 test.SetUp(str(self.device), self.shard_index, self._cleanup_test_files) 89 test.SetUp(str(self.device), self.shard_index)
86 except Exception: 90 except Exception:
87 logging.exception( 91 logging.exception(
88 'Caught exception while trying to run SetUp() for test: ' + 92 'Caught exception while trying to run SetUp() for test: ' +
89 test.tagged_name) 93 test.tagged_name)
90 # Tests whose SetUp() method has failed are likely to fail, or at least 94 # Tests whose SetUp() method has failed are likely to fail, or at least
91 # yield invalid results. 95 # yield invalid results.
92 exc_info = sys.exc_info() 96 exc_info = sys.exc_info()
93 results = base_test_result.TestRunResults() 97 results = base_test_result.TestRunResults()
94 results.AddResult(HostDrivenExceptionTestResult( 98 results.AddResult(HostDrivenExceptionTestResult(
95 test.tagged_name, start_date_ms, exc_info)) 99 test.tagged_name, start_date_ms, exc_info))
(...skipping 24 matching lines...) Expand all
120 # until the test is fixed. 124 # until the test is fixed.
121 exc_info = sys.exc_info() 125 exc_info = sys.exc_info()
122 results = base_test_result.TestRunResults() 126 results = base_test_result.TestRunResults()
123 results.AddResult(HostDrivenExceptionTestResult( 127 results.AddResult(HostDrivenExceptionTestResult(
124 test.tagged_name, start_date_ms, exc_info)) 128 test.tagged_name, start_date_ms, exc_info))
125 129
126 if not results.DidRunPass(): 130 if not results.DidRunPass():
127 return results, test 131 return results, test
128 else: 132 else:
129 return results, None 133 return results, None
OLDNEW
« no previous file with comments | « build/android/pylib/host_driven/test_case.py ('k') | build/android/pylib/instrumentation/test_options.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698