| 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 """Helper class for instrumenation test jar.""" | 5 """Helper class for instrumenation test jar.""" |
| 6 # pylint: disable=W0702 | 6 # pylint: disable=W0702 |
| 7 | 7 |
| 8 import logging | 8 import logging |
| 9 import os | 9 import os |
| 10 import pickle | 10 import pickle |
| (...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 """ | 261 """ |
| 262 if annotation_filter_list: | 262 if annotation_filter_list: |
| 263 available_tests = self.GetAnnotatedTests(annotation_filter_list) | 263 available_tests = self.GetAnnotatedTests(annotation_filter_list) |
| 264 # Include un-annotated tests in SmallTest. | 264 # Include un-annotated tests in SmallTest. |
| 265 if annotation_filter_list.count(self._DEFAULT_ANNOTATION) > 0: | 265 if annotation_filter_list.count(self._DEFAULT_ANNOTATION) > 0: |
| 266 for test in self._GetTestsMissingAnnotation(): | 266 for test in self._GetTestsMissingAnnotation(): |
| 267 logging.warning( | 267 logging.warning( |
| 268 '%s has no annotations. Assuming "%s".', test, | 268 '%s has no annotations. Assuming "%s".', test, |
| 269 self._DEFAULT_ANNOTATION) | 269 self._DEFAULT_ANNOTATION) |
| 270 available_tests.append(test) | 270 available_tests.append(test) |
| 271 if exclude_annotation_list: | |
| 272 excluded_tests = self.GetAnnotatedTests(exclude_annotation_list) | |
| 273 available_tests = list(set(available_tests) - set(excluded_tests)) | |
| 274 else: | 271 else: |
| 275 available_tests = [m for m in self.GetTestMethods() | 272 available_tests = [m for m in self.GetTestMethods() |
| 276 if not self.IsHostDrivenTest(m)] | 273 if not self.IsHostDrivenTest(m)] |
| 277 | 274 |
| 275 if exclude_annotation_list: |
| 276 excluded_tests = self.GetAnnotatedTests(exclude_annotation_list) |
| 277 available_tests = list(set(available_tests) - set(excluded_tests)) |
| 278 |
| 278 tests = [] | 279 tests = [] |
| 279 if test_filter: | 280 if test_filter: |
| 280 # |available_tests| are in adb instrument format: package.path.class#test. | 281 # |available_tests| are in adb instrument format: package.path.class#test. |
| 281 | 282 |
| 282 # Maps a 'class.test' name to each 'package.path.class#test' name. | 283 # Maps a 'class.test' name to each 'package.path.class#test' name. |
| 283 sanitized_test_names = dict([ | 284 sanitized_test_names = dict([ |
| 284 (t.split('.')[-1].replace('#', '.'), t) for t in available_tests]) | 285 (t.split('.')[-1].replace('#', '.'), t) for t in available_tests]) |
| 285 # Filters 'class.test' names and populates |tests| with the corresponding | 286 # Filters 'class.test' names and populates |tests| with the corresponding |
| 286 # 'package.path.class#test' names. | 287 # 'package.path.class#test' names. |
| 287 tests = [ | 288 tests = [ |
| (...skipping 10 matching lines...) Expand all Loading... |
| 298 'ro.build.version.sdk').pGet(None)] | 299 'ro.build.version.sdk').pGet(None)] |
| 299 tests = filter( | 300 tests = filter( |
| 300 lambda t: self._IsTestValidForSdkRange(t, min(sdk_versions)), | 301 lambda t: self._IsTestValidForSdkRange(t, min(sdk_versions)), |
| 301 tests) | 302 tests) |
| 302 | 303 |
| 303 return tests | 304 return tests |
| 304 | 305 |
| 305 @staticmethod | 306 @staticmethod |
| 306 def IsHostDrivenTest(test): | 307 def IsHostDrivenTest(test): |
| 307 return 'pythonDrivenTests' in test | 308 return 'pythonDrivenTests' in test |
| OLD | NEW |