| Index: third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
|
| diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
|
| index 73311ca6072e0864cb7f8e0db1ead66dd02e08b3..dc1ece7d3ec7c2bb39cf0bf582c52f95199b44a8 100644
|
| --- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
|
| +++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
|
| @@ -96,16 +96,31 @@ class Manager(object):
|
| self._printer.write_update("Collecting tests ...")
|
| running_all_tests = False
|
| try:
|
| - paths, test_names, running_all_tests = self._collect_tests(args)
|
| + paths, all_test_names, running_all_tests = self._collect_tests(args)
|
| except IOError:
|
| # This is raised if --test-list doesn't exist
|
| return test_run_results.RunDetails(exit_code=test_run_results.NO_TESTS_EXIT_STATUS)
|
|
|
| + # Create a sorted list of test files so the subset chunk,
|
| + # if used, contains alphabetically consecutive tests.
|
| + if self._options.order == 'natural':
|
| + all_test_names.sort(key=self._port.test_key)
|
| + elif self._options.order == 'random':
|
| + all_test_names.sort()
|
| + random.Random(self._options.seed).shuffle(all_test_names)
|
| +
|
| + test_names, tests_in_other_chunks = self._finder.split_into_chunks(all_test_names)
|
| +
|
| self._printer.write_update("Parsing expectations ...")
|
| self._expectations = test_expectations.TestExpectations(self._port, test_names)
|
|
|
| tests_to_run, tests_to_skip = self._prepare_lists(paths, test_names)
|
| - self._printer.print_found(len(test_names), len(tests_to_run), self._options.repeat_each, self._options.iterations)
|
| +
|
| + self._expectations.remove_tests(tests_in_other_chunks)
|
| +
|
| + self._printer.print_found(
|
| + len(all_test_names), len(test_names), len(tests_to_run),
|
| + self._options.repeat_each, self._options.iterations)
|
|
|
| # Check to make sure we're not skipping every test.
|
| if not tests_to_run:
|
| @@ -242,21 +257,6 @@ class Manager(object):
|
| tests_to_skip = self._finder.skip_tests(paths, test_names, self._expectations, self._http_tests(test_names))
|
| tests_to_run = [test for test in test_names if test not in tests_to_skip]
|
|
|
| - if not tests_to_run:
|
| - return tests_to_run, tests_to_skip
|
| -
|
| - # Create a sorted list of test files so the subset chunk,
|
| - # if used, contains alphabetically consecutive tests.
|
| - if self._options.order == 'natural':
|
| - tests_to_run.sort(key=self._port.test_key)
|
| - elif self._options.order == 'random':
|
| - tests_to_run.sort()
|
| - random.Random(self._options.seed).shuffle(tests_to_run)
|
| -
|
| - tests_to_run, tests_in_other_chunks = self._finder.split_into_chunks(tests_to_run)
|
| - self._expectations.add_extra_skipped_tests(tests_in_other_chunks)
|
| - tests_to_skip.update(tests_in_other_chunks)
|
| -
|
| return tests_to_run, tests_to_skip
|
|
|
| def _test_input_for_file(self, test_file):
|
|
|