Chromium Code Reviews| Index: third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline.py |
| diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline.py b/third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline.py |
| index 6dc139f0fb73204374e29c399068211fb9127799..35b488063df29792fd2b5a3af4223492bb46afc0 100644 |
| --- a/third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline.py |
| +++ b/third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline.py |
| @@ -434,7 +434,7 @@ class AbstractParallelRebaselineCommand(AbstractRebaseliningCommand): |
| return (SKIP in full_expectations.get_expectations(test) and |
| SKIP not in generic_expectations.get_expectations(test)) |
| - def _run_in_parallel_and_update_scm(self, commands): |
| + def _run_in_parallel(self, commands, update_scm=True): |
| if not commands: |
| return {} |
| @@ -445,13 +445,16 @@ class AbstractParallelRebaselineCommand(AbstractRebaseliningCommand): |
| _log.error(line) |
| files_to_add, files_to_delete, lines_to_remove = self._serial_commands(command_results) |
| - if files_to_delete: |
| - self._tool.scm().delete_list(files_to_delete) |
| - if files_to_add: |
| - self._tool.scm().add_list(files_to_add) |
| + # TODO(qyearsley): Consider removing this if possible, |
| + # or making it work and produce reasonable results for rebaseline-cl. |
|
qyearsley
2016/08/19 22:45:46
Some thoughts: maybe if all file additions and del
wkorman
2016/08/19 22:54:07
Yeah, auto-rebaseline has to commit so that it can
|
| + if update_scm: |
|
wkorman
2016/08/19 22:54:07
How much of a pain to add unit test to make sure t
qyearsley
2016/08/19 23:32:27
Hmm, maybe not too much. Possible test methods cou
wkorman
2016/08/20 00:58:29
Am ok with waiting on test as we hope to turn auto
|
| + if files_to_delete: |
| + self._tool.scm().delete_list(files_to_delete) |
| + if files_to_add: |
| + self._tool.scm().add_list(files_to_add) |
| return lines_to_remove |
| - def _rebaseline(self, options, test_prefix_list): |
| + def _rebaseline(self, options, test_prefix_list, update_scm=True): |
| """Downloads new baselines in parallel, then updates expectations files |
| and optimizes baselines. |
| @@ -469,6 +472,7 @@ class AbstractParallelRebaselineCommand(AbstractRebaseliningCommand): |
| "some/other.html" but only from builder-1. |
| TODO(qyearsley): Replace test_prefix_list everywhere with some |
| sort of class that contains the same data. |
| + update_scm: If True, commands like `git add` and `git rm` will be run. |
| """ |
| for test, builds_to_check in sorted(test_prefix_list.items()): |
| _log.info("Rebaselining %s", test) |
| @@ -479,8 +483,8 @@ class AbstractParallelRebaselineCommand(AbstractRebaseliningCommand): |
| test_prefix_list, options) |
| lines_to_remove = {} |
| - self._run_in_parallel_and_update_scm(copy_baseline_commands) |
| - lines_to_remove = self._run_in_parallel_and_update_scm(rebaseline_commands) |
| + self._run_in_parallel(copy_baseline_commands, update_scm=update_scm) |
| + lines_to_remove = self._run_in_parallel(rebaseline_commands, update_scm=update_scm) |
| for test in extra_lines_to_remove: |
| if test in lines_to_remove: |
| @@ -495,7 +499,7 @@ class AbstractParallelRebaselineCommand(AbstractRebaseliningCommand): |
| # TODO(wkorman): Consider changing temporary branch to base off of HEAD rather than |
| # origin/master to ensure we run baseline optimization processes with the same code as |
| # auto-rebaseline itself. |
| - self._run_in_parallel_and_update_scm(self._optimize_baselines(test_prefix_list, options.verbose)) |
| + self._run_in_parallel(self._optimize_baselines(test_prefix_list, options.verbose), update_scm=update_scm) |
| def _suffixes_for_actual_failures(self, test, build, existing_suffixes): |
| """Gets the baseline suffixes for actual mismatch failures in some results. |