Chromium Code Reviews| 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..29580d9064cbbba67d2671bc785ebeacf521d601 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 | 
| @@ -44,6 +44,7 @@ import sys | 
| import time | 
| from webkitpy.common.net.file_uploader import FileUploader | 
| +from webkitpy.common.webkit_finder import WebKitFinder | 
| from webkitpy.layout_tests.controllers.layout_test_finder import LayoutTestFinder | 
| from webkitpy.layout_tests.controllers.layout_test_runner import LayoutTestRunner | 
| from webkitpy.layout_tests.controllers.test_result_writer import TestResultWriter | 
| @@ -71,6 +72,7 @@ class Manager(object): | 
| printer: A Printer object to record updates to. | 
| """ | 
| self._port = port | 
| + self._executive = port.host.executive | 
| self._filesystem = port.host.filesystem | 
| self._options = options | 
| self._printer = printer | 
| @@ -88,6 +90,7 @@ class Manager(object): | 
| self._results_directory = self._port.results_directory() | 
| self._finder = LayoutTestFinder(self._port, self._options) | 
| + self._webkit_finder = WebKitFinder(port.host.filesystem) | 
| self._runner = LayoutTestRunner(self._options, self._port, self._printer, self._results_directory, self._test_is_slow) | 
| def run(self, args): | 
| @@ -95,6 +98,18 @@ class Manager(object): | 
| start_time = time.time() | 
| self._printer.write_update("Collecting tests ...") | 
| running_all_tests = False | 
| + | 
| + wpt_tests_in_test_list = False | 
| + if self._options.test_list: | 
| + for test in self._options.test_list: | 
| + if test.startswith('external/wpt'): | 
| + wpt_tests_in_test_list = True | 
| + break | 
| + | 
| + # TODO(jeffcarp): unit test | 
| + if wpt_tests_in_test_list or not self._options.test_list: | 
| + self._generate_manifest() | 
| + | 
| try: | 
| paths, test_names, running_all_tests = self._collect_tests(args) | 
| except IOError: | 
| @@ -545,3 +560,14 @@ class Manager(object): | 
| for name, value in stats.iteritems(): | 
| json_results_generator.add_path_to_trie(name, value, stats_trie) | 
| return stats_trie | 
| + | 
| + def _generate_manifest(self): | 
| + _log.info('Generating MANIFEST.json, this might result in changes to MANIFEST.json\n' | 
| 
 
foolip
2017/02/16 07:20:26
I have verified that removing MANIFEST.json from t
 
 | 
| + 'in your working directory. Please commit them along with your changes.\n' | 
| + 'See https://crbug.com/666957.') | 
| + | 
| + wpt_path = self._webkit_finder.path_from_webkit_base('LayoutTests', 'external', 'wpt') | 
| + manifest_tool_path = self._webkit_finder.path_from_webkit_base( | 
| + 'Tools', 'Scripts', 'webkitpy', 'thirdparty', 'wpt', 'wpt', 'manifest') | 
| + | 
| + self._executive.run_command(['python', manifest_tool_path, '--work', '--tests-root', wpt_path]) |