Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 glob | 5 import glob |
| 6 import logging | 6 import logging |
| 7 import os | 7 import os |
| 8 import sys | 8 import sys |
| 9 | 9 |
| 10 from base_test_runner import BaseTestRunner | 10 from base_test_runner import BaseTestRunner |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 28 gtest_filter: A gtest_filter flag. | 28 gtest_filter: A gtest_filter flag. |
| 29 test_arguments: Additional arguments to pass to the test binary. | 29 test_arguments: Additional arguments to pass to the test binary. |
| 30 timeout: Timeout for each test. | 30 timeout: Timeout for each test. |
| 31 rebaseline: Whether or not to run tests in isolation and update the filter. | 31 rebaseline: Whether or not to run tests in isolation and update the filter. |
| 32 performance_test: Whether or not performance test(s). | 32 performance_test: Whether or not performance test(s). |
| 33 cleanup_test_files: Whether or not to cleanup test files on device. | 33 cleanup_test_files: Whether or not to cleanup test files on device. |
| 34 tool: Name of the Valgrind tool. | 34 tool: Name of the Valgrind tool. |
| 35 shard_index: index number of the shard on which the test suite will run. | 35 shard_index: index number of the shard on which the test suite will run. |
| 36 dump_debug_info: Whether or not to dump debug information. | 36 dump_debug_info: Whether or not to dump debug information. |
| 37 build_type: 'Release' or 'Debug'. | 37 build_type: 'Release' or 'Debug'. |
| 38 in_webkit_checkout: Whether the suite is being run from a WebKit checkout. | |
| 38 """ | 39 """ |
| 39 | 40 |
| 40 def __init__(self, device, test_suite, gtest_filter, test_arguments, timeout, | 41 def __init__(self, device, test_suite, gtest_filter, test_arguments, timeout, |
| 41 rebaseline, performance_test, cleanup_test_files, tool_name, | 42 rebaseline, performance_test, cleanup_test_files, tool_name, |
| 42 shard_index, dump_debug_info, fast_and_loose, build_type): | 43 shard_index, dump_debug_info, fast_and_loose, build_type, |
| 44 in_webkit_checkout): | |
| 43 BaseTestRunner.__init__(self, device, tool_name, shard_index, build_type) | 45 BaseTestRunner.__init__(self, device, tool_name, shard_index, build_type) |
| 44 self._running_on_emulator = self.device.startswith('emulator') | 46 self._running_on_emulator = self.device.startswith('emulator') |
| 45 self._gtest_filter = gtest_filter | 47 self._gtest_filter = gtest_filter |
| 46 self._test_arguments = test_arguments | 48 self._test_arguments = test_arguments |
| 47 self.test_results = TestResults() | 49 self.test_results = TestResults() |
| 48 if dump_debug_info: | 50 if dump_debug_info: |
| 49 self.dump_debug_info = debug_info.GTestDebugInfo(self.adb, device, | 51 self.dump_debug_info = debug_info.GTestDebugInfo(self.adb, device, |
| 50 os.path.basename(test_suite), gtest_filter) | 52 os.path.basename(test_suite), gtest_filter) |
| 51 else: | 53 else: |
| 52 self.dump_debug_info = None | 54 self.dump_debug_info = None |
| 53 self.fast_and_loose = fast_and_loose | 55 self.fast_and_loose = fast_and_loose |
| 56 self.in_webkit_checkout = in_webkit_checkout | |
| 54 | 57 |
| 55 logging.warning('Test suite: ' + test_suite) | 58 logging.warning('Test suite: ' + test_suite) |
| 56 if os.path.splitext(test_suite)[1] == '.apk': | 59 if os.path.splitext(test_suite)[1] == '.apk': |
| 57 self.test_package = TestPackageApk(self.adb, device, | 60 self.test_package = TestPackageApk(self.adb, device, |
| 58 test_suite, timeout, rebaseline, performance_test, cleanup_test_files, | 61 test_suite, timeout, rebaseline, performance_test, cleanup_test_files, |
| 59 self.tool, self.dump_debug_info) | 62 self.tool, self.dump_debug_info) |
| 60 else: | 63 else: |
| 61 # Put a copy into the android out/target directory, to allow stack trace | 64 # Put a copy into the android out/target directory, to allow stack trace |
| 62 # generation. | 65 # generation. |
| 63 symbols_dir = os.path.join(constants.CHROME_DIR, 'out', build_type, | 66 symbols_dir = os.path.join(constants.CHROME_DIR, 'out', build_type, |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 81 """Returns the filename of gtest filter.""" | 84 """Returns the filename of gtest filter.""" |
| 82 return os.path.join(sys.path[0], 'gtest_filter', | 85 return os.path.join(sys.path[0], 'gtest_filter', |
| 83 self.test_package.test_suite_basename + '_disabled') | 86 self.test_package.test_suite_basename + '_disabled') |
| 84 | 87 |
| 85 def _GetAdditionalEmulatorFilterName(self): | 88 def _GetAdditionalEmulatorFilterName(self): |
| 86 """Returns the filename of additional gtest filter for emulator.""" | 89 """Returns the filename of additional gtest filter for emulator.""" |
| 87 return os.path.join(sys.path[0], 'gtest_filter', | 90 return os.path.join(sys.path[0], 'gtest_filter', |
| 88 self.test_package.test_suite_basename + | 91 self.test_package.test_suite_basename + |
| 89 '_emulator_additional_disabled') | 92 '_emulator_additional_disabled') |
| 90 | 93 |
| 94 def _PathToWebKitRoot(self): | |
| 95 """Returns the relative directory to the WebKit checkout, relative to | |
|
bulach
2012/11/15 01:06:39
needs to be one liner.
"""Returns the relative dir
Peter Beverloo
2012/11/15 12:11:29
Done.
| |
| 96 Chrome's src/ directory.""" | |
| 97 if self.in_webkit_checkout: | |
| 98 return os.path.join('..', '..', '..') | |
| 99 return os.path.join('third_party', 'WebKit') | |
| 100 | |
| 91 def GetDisabledTests(self): | 101 def GetDisabledTests(self): |
| 92 """Returns a list of disabled tests. | 102 """Returns a list of disabled tests. |
| 93 | 103 |
| 94 Returns: | 104 Returns: |
| 95 A list of disabled tests obtained from gtest_filter/test_suite_disabled. | 105 A list of disabled tests obtained from gtest_filter/test_suite_disabled. |
| 96 """ | 106 """ |
| 97 disabled_tests = run_tests_helper.GetExpectations(self._GetFilterFileName()) | 107 disabled_tests = run_tests_helper.GetExpectations(self._GetFilterFileName()) |
| 98 if self._running_on_emulator: | 108 if self._running_on_emulator: |
| 99 # Append emulator's filter file. | 109 # Append emulator's filter file. |
| 100 disabled_tests.extend(run_tests_helper.GetExpectations( | 110 disabled_tests.extend(run_tests_helper.GetExpectations( |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 221 return [ | 231 return [ |
| 222 'chrome/test/data/dromaeo', | 232 'chrome/test/data/dromaeo', |
| 223 'chrome/test/data/json2.js', | 233 'chrome/test/data/json2.js', |
| 224 'chrome/test/data/sunspider', | 234 'chrome/test/data/sunspider', |
| 225 'chrome/test/data/v8_benchmark', | 235 'chrome/test/data/v8_benchmark', |
| 226 'chrome/test/perf/sunspider_uitest.js', | 236 'chrome/test/perf/sunspider_uitest.js', |
| 227 'chrome/test/perf/v8_benchmark_uitest.js', | 237 'chrome/test/perf/v8_benchmark_uitest.js', |
| 228 ] | 238 ] |
| 229 elif self.test_package.test_suite_basename == 'webkit_unit_tests': | 239 elif self.test_package.test_suite_basename == 'webkit_unit_tests': |
| 230 return [ | 240 return [ |
| 231 'third_party/WebKit/Source/WebKit/chromium/tests/data', | 241 ['%s/Source/WebKit/chromium/tests/data' % self._PathToWebKitRoot(), |
| 242 'third_party/Source/WebKit/chromium/tests/data'] | |
|
bulach
2012/11/15 01:06:39
ahn, I see... yeah, it seems entirely the wrong le
Peter Beverloo
2012/11/15 12:11:29
Done, I've now put this in a method under StripAnd
| |
| 232 ] | 243 ] |
| 233 elif self.test_package.test_suite_basename == 'content_unittests': | 244 elif self.test_package.test_suite_basename == 'content_unittests': |
| 234 return [ | 245 return [ |
| 235 'content/test/data/gpu/webgl_conformance_test_expectations.txt', | 246 'content/test/data/gpu/webgl_conformance_test_expectations.txt', |
| 236 'net/data/ssl/certificates/', | 247 'net/data/ssl/certificates/', |
| 237 'webkit/data/dom_storage/webcore_test_database.localstorage', | 248 'webkit/data/dom_storage/webcore_test_database.localstorage', |
| 238 'third_party/hyphen/hyph_en_US.dic', | 249 'third_party/hyphen/hyph_en_US.dic', |
| 239 ] | 250 ] |
| 240 elif self.test_package.test_suite_basename == 'media_unittests': | 251 elif self.test_package.test_suite_basename == 'media_unittests': |
| 241 return [ | 252 return [ |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 350 self.tool.CleanUpEnvironment() | 361 self.tool.CleanUpEnvironment() |
| 351 if self.test_package.cleanup_test_files: | 362 if self.test_package.cleanup_test_files: |
| 352 self.adb.RemovePushedFiles() | 363 self.adb.RemovePushedFiles() |
| 353 if self.dump_debug_info: | 364 if self.dump_debug_info: |
| 354 self.dump_debug_info.StopRecordingLog() | 365 self.dump_debug_info.StopRecordingLog() |
| 355 if self._performance_test_setup: | 366 if self._performance_test_setup: |
| 356 self._performance_test_setup.TearDown() | 367 self._performance_test_setup.TearDown() |
| 357 if self.dump_debug_info: | 368 if self.dump_debug_info: |
| 358 self.dump_debug_info.ArchiveNewCrashFiles() | 369 self.dump_debug_info.ArchiveNewCrashFiles() |
| 359 super(SingleTestRunner, self).TearDown() | 370 super(SingleTestRunner, self).TearDown() |
| OLD | NEW |