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

Side by Side Diff: build/android/pylib/local/device/local_device_test_run.py

Issue 2032253004: [Android] Ensure test names are unique during retry determination. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed Created 4 years, 6 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 2014 The Chromium Authors. All rights reserved. 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 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 import fnmatch 5 import fnmatch
6 import functools 6 import functools
7 import imp 7 import imp
8 import logging 8 import logging
9 9
10 from devil import base_error 10 from devil import base_error
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 all_test_results = {r.GetName(): r for r in try_results.GetAll()} 155 all_test_results = {r.GetName(): r for r in try_results.GetAll()}
156 156
157 def should_retry(name): 157 def should_retry(name):
158 # When specifying a test filter, names can contain trailing wildcards. 158 # When specifying a test filter, names can contain trailing wildcards.
159 # See local_device_gtest_run._ExtractTestsFromFilter() 159 # See local_device_gtest_run._ExtractTestsFromFilter()
160 if name.endswith('*'): 160 if name.endswith('*'):
161 return any(fnmatch.fnmatch(n, name) and is_failure(t) 161 return any(fnmatch.fnmatch(n, name) and is_failure(t)
162 for n, t in all_test_results.iteritems()) 162 for n, t in all_test_results.iteritems())
163 return is_failure(all_test_results.get(name)) 163 return is_failure(all_test_results.get(name))
164 164
165 return [t for t in tests if should_retry(self._GetTestName(t))] 165 return [t for t in tests if should_retry(self._GetUniqueTestName(t))]
166 166
167 def GetTool(self, device): 167 def GetTool(self, device):
168 if not str(device) in self._tools: 168 if not str(device) in self._tools:
169 self._tools[str(device)] = valgrind_tools.CreateTool( 169 self._tools[str(device)] = valgrind_tools.CreateTool(
170 self._env.tool, device) 170 self._env.tool, device)
171 return self._tools[str(device)] 171 return self._tools[str(device)]
172 172
173 def _CreateShards(self, tests): 173 def _CreateShards(self, tests):
174 raise NotImplementedError 174 raise NotImplementedError
175 175
176 # pylint: disable=no-self-use 176 # pylint: disable=no-self-use
177 def _GetTestName(self, test): 177 def _GetUniqueTestName(self, test):
178 return test 178 return test
179 179
180 def _GetTests(self): 180 def _GetTests(self):
181 raise NotImplementedError 181 raise NotImplementedError
182 182
183 def _RunTest(self, device, test): 183 def _RunTest(self, device, test):
184 raise NotImplementedError 184 raise NotImplementedError
185 185
186 def _ShouldShard(self): 186 def _ShouldShard(self):
187 raise NotImplementedError 187 raise NotImplementedError
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698