Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(221)

Side by Side Diff: third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline.py

Issue 2111243002: Add docstring for AbstractParallelRebaselineCommand._rebaseline. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2010 Google Inc. All rights reserved. 1 # Copyright (c) 2010 Google Inc. All rights reserved.
2 # 2 #
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are 4 # modification, are permitted provided that the following conditions are
5 # met: 5 # met:
6 # 6 #
7 # * Redistributions of source code must retain the above copyright 7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above 9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following disclaimer 10 # copyright notice, this list of conditions and the following disclaimer
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 _log.error(line) 487 _log.error(line)
488 488
489 files_to_add, files_to_delete, lines_to_remove = self._serial_commands(c ommand_results) 489 files_to_add, files_to_delete, lines_to_remove = self._serial_commands(c ommand_results)
490 if files_to_delete: 490 if files_to_delete:
491 self._tool.scm().delete_list(files_to_delete) 491 self._tool.scm().delete_list(files_to_delete)
492 if files_to_add: 492 if files_to_add:
493 self._tool.scm().add_list(files_to_add) 493 self._tool.scm().add_list(files_to_add)
494 return lines_to_remove 494 return lines_to_remove
495 495
496 def _rebaseline(self, options, test_prefix_list): 496 def _rebaseline(self, options, test_prefix_list):
497 """Downloads new baselines in parallel, then updates expectations files
498 and optimizes baselines.
499
500 Args:
501 options: An object with the options passed to the current command.
502 test_prefix_list: A map of test names to builder names to baseline
503 suffixes to rebaseline. For example:
504 {
505 "some/test.html": {"builder-1": ["txt"], "builder-2": ["txt" ]},
506 "some/other.html": {"builder-1": ["txt"]}
507 }
508 This would mean that new text baselines should be downloaded for
509 "some/test.html" on both builder-1 and builder-2, and new text
510 baselines should be downloaded for "some/other.html" but only
511 from builder-1.
512 """
497 for test, builders_to_check in sorted(test_prefix_list.items()): 513 for test, builders_to_check in sorted(test_prefix_list.items()):
498 _log.info("Rebaselining %s" % test) 514 _log.info("Rebaselining %s" % test)
499 for builder, suffixes in sorted(builders_to_check.items()): 515 for builder, suffixes in sorted(builders_to_check.items()):
500 _log.debug(" %s: %s" % (builder, ",".join(suffixes))) 516 _log.debug(" %s: %s" % (builder, ",".join(suffixes)))
501 517
502 copy_baseline_commands, rebaseline_commands, extra_lines_to_remove = sel f._rebaseline_commands(test_prefix_list, options) 518 copy_baseline_commands, rebaseline_commands, extra_lines_to_remove = sel f._rebaseline_commands(test_prefix_list, options)
503 lines_to_remove = {} 519 lines_to_remove = {}
504 520
505 self._run_in_parallel_and_update_scm(copy_baseline_commands) 521 self._run_in_parallel_and_update_scm(copy_baseline_commands)
506 lines_to_remove = self._run_in_parallel_and_update_scm(rebaseline_comman ds) 522 lines_to_remove = self._run_in_parallel_and_update_scm(rebaseline_comman ds)
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 def _tests_to_rebaseline(self, port): 573 def _tests_to_rebaseline(self, port):
558 tests_to_rebaseline = {} 574 tests_to_rebaseline = {}
559 for path, value in port.expectations_dict().items(): 575 for path, value in port.expectations_dict().items():
560 expectations = TestExpectations(port, include_overrides=False, expec tations_dict={path: value}) 576 expectations = TestExpectations(port, include_overrides=False, expec tations_dict={path: value})
561 for test in expectations.get_rebaselining_failures(): 577 for test in expectations.get_rebaselining_failures():
562 suffixes = TestExpectations.suffixes_for_expectations(expectatio ns.get_expectations(test)) 578 suffixes = TestExpectations.suffixes_for_expectations(expectatio ns.get_expectations(test))
563 tests_to_rebaseline[test] = suffixes or BASELINE_SUFFIX_LIST 579 tests_to_rebaseline[test] = suffixes or BASELINE_SUFFIX_LIST
564 return tests_to_rebaseline 580 return tests_to_rebaseline
565 581
566 def _add_tests_to_rebaseline_for_port(self, port_name): 582 def _add_tests_to_rebaseline_for_port(self, port_name):
583 """Adds tests to self._test_prefix_list for the given port."""
wkorman 2016/06/30 19:17:12 Which tests does it add?
qyearsley 2016/06/30 21:20:39 I believe it's tests that appear in the TestExpect
567 builder_name = self._tool.builders.builder_name_for_port_name(port_name) 584 builder_name = self._tool.builders.builder_name_for_port_name(port_name)
568 if not builder_name: 585 if not builder_name:
569 return 586 return
570 tests = self._tests_to_rebaseline(self._tool.port_factory.get(port_name) ).items() 587 tests = self._tests_to_rebaseline(self._tool.port_factory.get(port_name) ).items()
571 588
572 if tests: 589 if tests:
573 _log.info("Retrieving results for %s from %s." % (port_name, builder _name)) 590 _log.info("Retrieving results for %s from %s." % (port_name, builder _name))
574 591
575 for test_name, suffixes in tests: 592 for test_name, suffixes in tests:
576 _log.info(" %s (%s)" % (test_name, ','.join(suffixes))) 593 _log.info(" %s (%s)" % (test_name, ','.join(suffixes)))
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 issue_already_closed = tool.executive.run_command( 918 issue_already_closed = tool.executive.run_command(
902 ['git', 'config', 'branch.%s.rietveldissue' % rebaseline _branch_name], 919 ['git', 'config', 'branch.%s.rietveldissue' % rebaseline _branch_name],
903 return_exit_code=True) 920 return_exit_code=True)
904 if not issue_already_closed: 921 if not issue_already_closed:
905 self._run_git_cl_command(options, ['set_close']) 922 self._run_git_cl_command(options, ['set_close'])
906 923
907 tool.scm().ensure_cleanly_tracking_remote_master() 924 tool.scm().ensure_cleanly_tracking_remote_master()
908 if old_branch_name_or_ref: 925 if old_branch_name_or_ref:
909 tool.scm().checkout_branch(old_branch_name_or_ref) 926 tool.scm().checkout_branch(old_branch_name_or_ref)
910 tool.scm().delete_branch(rebaseline_branch_name) 927 tool.scm().delete_branch(rebaseline_branch_name)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698