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

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

Issue 2129323002: Remove self._builder_data from Rebaseline classes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased 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 | « third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline.py ('k') | 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 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 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 unittest 5 import unittest
6 6
7 from webkitpy.common.net.buildbot_mock import MockBuilder 7 from webkitpy.common.net.buildbot_mock import MockBuilder
8 from webkitpy.common.net.layouttestresults import LayoutTestResults 8 from webkitpy.common.net.layouttestresults import LayoutTestResults
9 from webkitpy.common.system.executive_mock import MockExecutive 9 from webkitpy.common.system.executive_mock import MockExecutive
10 from webkitpy.common.system.executive_mock import MockExecutive2 10 from webkitpy.common.system.executive_mock import MockExecutive2
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 self.tool.filesystem.write_text_file( 45 self.tool.filesystem.write_text_file(
46 self.tool.filesystem.join(self.mac_port.layout_tests_dir(), "Virtual TestSuites"), '[]') 46 self.tool.filesystem.join(self.mac_port.layout_tests_dir(), "Virtual TestSuites"), '[]')
47 47
48 # In AbstractParallelRebaselineCommand._rebaseline_commands, a default p ort 48 # In AbstractParallelRebaselineCommand._rebaseline_commands, a default p ort
49 # object is gotten using self.tool.port_factory.get(), which is used to get 49 # object is gotten using self.tool.port_factory.get(), which is used to get
50 # test paths -- and the layout tests directory may be different for the "test" 50 # test paths -- and the layout tests directory may be different for the "test"
51 # ports and real ports. Since only "test" ports are used in this class, 51 # ports and real ports. Since only "test" ports are used in this class,
52 # we can make the default port also a "test" port. 52 # we can make the default port also a "test" port.
53 self.original_port_factory_get = self.tool.port_factory.get 53 self.original_port_factory_get = self.tool.port_factory.get
54 test_port = self.tool.port_factory.get('test') 54 test_port = self.tool.port_factory.get('test')
55 self._builder_data = {}
55 56
56 def get_test_port(port_name=None, options=None, **kwargs): 57 def get_test_port(port_name=None, options=None, **kwargs):
57 if not port_name: 58 if not port_name:
58 return test_port 59 return test_port
59 return self.original_port_factory_get(port_name, options, **kwargs) 60 return self.original_port_factory_get(port_name, options, **kwargs)
60 61
61 self.tool.port_factory.get = get_test_port 62 self.tool.port_factory.get = get_test_port
62 63
63 def tearDown(self): 64 def tearDown(self):
64 self.tool.port_factory.get = self.original_port_factory_get 65 self.tool.port_factory.get = self.original_port_factory_get
(...skipping 24 matching lines...) Expand all
89 "expected": "PASS", 90 "expected": "PASS",
90 "actual": "IMAGE+TEXT" 91 "actual": "IMAGE+TEXT"
91 }, 92 },
92 "second-test.html": { 93 "second-test.html": {
93 "expected": "FAIL", 94 "expected": "FAIL",
94 "actual": "IMAGE+TEXT" 95 "actual": "IMAGE+TEXT"
95 } 96 }
96 } 97 }
97 } 98 }
98 }) 99 })
99 for builder in ['MOCK Win7', 'MOCK Win7 (dbg)', 'MOCK Mac10.11']: 100
100 self.command._builder_data[builder] = data 101 def builder_data():
102 self._builder_data = {}
103 for builder in ['MOCK Win7', 'MOCK Win7 (dbg)', 'MOCK Mac10.11']:
104 self._builder_data[builder] = data
105 return self._builder_data
106
107 self.command.builder_data = builder_data
101 108
102 class TestCopyExistingBaselinesInternal(BaseTestCase): 109 class TestCopyExistingBaselinesInternal(BaseTestCase):
103 command_constructor = CopyExistingBaselinesInternal 110 command_constructor = CopyExistingBaselinesInternal
104 111
105 def setUp(self): 112 def setUp(self):
106 super(TestCopyExistingBaselinesInternal, self).setUp() 113 super(TestCopyExistingBaselinesInternal, self).setUp()
107 114
108 def test_copying_overwritten_baseline(self): 115 def test_copying_overwritten_baseline(self):
109 self.tool.executive = MockExecutive2() 116 self.tool.executive = MockExecutive2()
110 117
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 super(TestRebaselineJson, self).setUp() 337 super(TestRebaselineJson, self).setUp()
331 self.tool.executive = MockExecutive2() 338 self.tool.executive = MockExecutive2()
332 339
333 def tearDown(self): 340 def tearDown(self):
334 super(TestRebaselineJson, self).tearDown() 341 super(TestRebaselineJson, self).tearDown()
335 342
336 def test_rebaseline_test_passes_on_all_builders(self): 343 def test_rebaseline_test_passes_on_all_builders(self):
337 self._setup_mock_builder_data() 344 self._setup_mock_builder_data()
338 345
339 def builder_data(): 346 def builder_data():
340 self.command._builder_data['MOCK Win7'] = LayoutTestResults({ 347 self._builder_data['MOCK Win7'] = LayoutTestResults({
341 "tests": { 348 "tests": {
342 "userscripts": { 349 "userscripts": {
343 "first-test.html": { 350 "first-test.html": {
344 "expected": "NEEDSREBASELINE", 351 "expected": "NEEDSREBASELINE",
345 "actual": "PASS" 352 "actual": "PASS"
346 } 353 }
347 } 354 }
348 } 355 }
349 }) 356 })
350 return self.command._builder_data 357 return self._builder_data
351 358
352 self.command.builder_data = builder_data 359 self.command.builder_data = builder_data
353 360
354 options = MockOptions(optimize=True, verbose=True, results_directory=Non e) 361 options = MockOptions(optimize=True, verbose=True, results_directory=Non e)
355 362
356 self._write(self.mac_expectations_path, "Bug(x) userscripts/first-test.h tml [ Failure ]\n") 363 self._write(self.mac_expectations_path, "Bug(x) userscripts/first-test.h tml [ Failure ]\n")
357 self._write("userscripts/first-test.html", "Dummy test contents") 364 self._write("userscripts/first-test.html", "Dummy test contents")
358 365
359 self.command._rebaseline(options, {"userscripts/first-test.html": {"MOCK Win7": ["txt", "png"]}}) 366 self.command._rebaseline(options, {"userscripts/first-test.html": {"MOCK Win7": ["txt", "png"]}})
360 367
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 def _write_test_file(self, port, path, contents): 602 def _write_test_file(self, port, path, contents):
596 abs_path = self.tool.filesystem.join(port.layout_tests_dir(), path) 603 abs_path = self.tool.filesystem.join(port.layout_tests_dir(), path)
597 self.tool.filesystem.write_text_file(abs_path, contents) 604 self.tool.filesystem.write_text_file(abs_path, contents)
598 605
599 def test_rebaseline_expectations(self): 606 def test_rebaseline_expectations(self):
600 self._zero_out_test_expectations() 607 self._zero_out_test_expectations()
601 608
602 self.tool.executive = MockExecutive2() 609 self.tool.executive = MockExecutive2()
603 610
604 def builder_data(): 611 def builder_data():
605 self.command._builder_data['MOCK Mac10.11'] = self.command._builder_ data['MOCK Mac10.10'] = LayoutTestResults({ 612 self._builder_data['MOCK Mac10.11'] = self._builder_data['MOCK Mac10 .10'] = LayoutTestResults({
606 "tests": { 613 "tests": {
607 "userscripts": { 614 "userscripts": {
608 "another-test.html": { 615 "another-test.html": {
609 "expected": "PASS", 616 "expected": "PASS",
610 "actual": "PASS TEXT" 617 "actual": "PASS TEXT"
611 }, 618 },
612 "images.svg": { 619 "images.svg": {
613 "expected": "FAIL", 620 "expected": "FAIL",
614 "actual": "IMAGE+TEXT" 621 "actual": "IMAGE+TEXT"
615 } 622 }
616 } 623 }
617 } 624 }
618 }) 625 })
619 return self.command._builder_data 626 return self._builder_data
620 627
621 self.command.builder_data = builder_data 628 self.command.builder_data = builder_data
622 629
623 self._write("userscripts/another-test.html", "Dummy test contents") 630 self._write("userscripts/another-test.html", "Dummy test contents")
624 self._write("userscripts/images.svg", "Dummy test contents") 631 self._write("userscripts/images.svg", "Dummy test contents")
625 self.command._tests_to_rebaseline = lambda port: { 632 self.command._tests_to_rebaseline = lambda port: {
626 'userscripts/another-test.html': set(['txt']), 633 'userscripts/another-test.html': set(['txt']),
627 'userscripts/images.svg': set(['png']), 634 'userscripts/images.svg': set(['png']),
628 'userscripts/not-actually-failing.html': set(['txt', 'png', 'wav']), 635 'userscripts/not-actually-failing.html': set(['txt', 'png', 'wav']),
629 } 636 }
(...skipping 22 matching lines...) Expand all
652 '--builder', 'MOCK Mac10.11', '--test', 'userscripts/images.svg '], 659 '--builder', 'MOCK Mac10.11', '--test', 'userscripts/images.svg '],
653 ], 660 ],
654 ]) 661 ])
655 662
656 def test_rebaseline_expectations_reftests(self): 663 def test_rebaseline_expectations_reftests(self):
657 self._zero_out_test_expectations() 664 self._zero_out_test_expectations()
658 665
659 self.tool.executive = MockExecutive2() 666 self.tool.executive = MockExecutive2()
660 667
661 def builder_data(): 668 def builder_data():
662 self.command._builder_data['MOCK Mac10.10'] = self.command._builder_ data['MOCK Mac10.11'] = LayoutTestResults({ 669 self._builder_data['MOCK Mac10.10'] = self._builder_data['MOCK Mac10 .11'] = LayoutTestResults({
663 "tests": { 670 "tests": {
664 "userscripts": { 671 "userscripts": {
665 "reftest-text.html": { 672 "reftest-text.html": {
666 "expected": "PASS", 673 "expected": "PASS",
667 "actual": "TEXT" 674 "actual": "TEXT"
668 }, 675 },
669 "reftest-image.html": { 676 "reftest-image.html": {
670 "expected": "FAIL", 677 "expected": "FAIL",
671 "actual": "IMAGE" 678 "actual": "IMAGE"
672 }, 679 },
673 "reftest-image-text.html": { 680 "reftest-image-text.html": {
674 "expected": "FAIL", 681 "expected": "FAIL",
675 "actual": "IMAGE+TEXT" 682 "actual": "IMAGE+TEXT"
676 } 683 }
677 } 684 }
678 } 685 }
679 }) 686 })
680 return self.command._builder_data 687 return self._builder_data
681 688
682 self.command.builder_data = builder_data 689 self.command.builder_data = builder_data
683 690
684 self._write("userscripts/reftest-text.html", "Dummy test contents") 691 self._write("userscripts/reftest-text.html", "Dummy test contents")
685 self._write("userscripts/reftest-text-expected.html", "Dummy test conten ts") 692 self._write("userscripts/reftest-text-expected.html", "Dummy test conten ts")
686 self._write("userscripts/reftest-text-expected.html", "Dummy test conten ts") 693 self._write("userscripts/reftest-text-expected.html", "Dummy test conten ts")
687 self.command._tests_to_rebaseline = lambda port: { 694 self.command._tests_to_rebaseline = lambda port: {
688 'userscripts/reftest-text.html': set(['txt']), 695 'userscripts/reftest-text.html': set(['txt']),
689 'userscripts/reftest-image.html': set(['png']), 696 'userscripts/reftest-image.html': set(['png']),
690 'userscripts/reftest-image-text.html': set(['png', 'txt']), 697 'userscripts/reftest-image-text.html': set(['png', 'txt']),
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 def test_rebaseline_without_other_expectations(self): 745 def test_rebaseline_without_other_expectations(self):
739 self._write("userscripts/another-test.html", "Dummy test contents") 746 self._write("userscripts/another-test.html", "Dummy test contents")
740 self._write(self.mac_expectations_path, "Bug(x) userscripts/another-test .html [ Rebaseline ]\n") 747 self._write(self.mac_expectations_path, "Bug(x) userscripts/another-test .html [ Rebaseline ]\n")
741 self.assertDictEqual(self.command._tests_to_rebaseline(self.mac_port), 748 self.assertDictEqual(self.command._tests_to_rebaseline(self.mac_port),
742 {'userscripts/another-test.html': ('png', 'wav', 't xt')}) 749 {'userscripts/another-test.html': ('png', 'wav', 't xt')})
743 750
744 def test_rebaseline_test_passes_everywhere(self): 751 def test_rebaseline_test_passes_everywhere(self):
745 test_port = self.tool.port_factory.get('test') 752 test_port = self.tool.port_factory.get('test')
746 753
747 def builder_data(): 754 def builder_data():
748 self.command._builder_data['MOCK Mac10.10'] = self.command._builder_ data['MOCK Mac10.11'] = LayoutTestResults({ 755 self._builder_data['MOCK Mac10.10'] = self._builder_data['MOCK Mac10 .11'] = LayoutTestResults({
749 "tests": { 756 "tests": {
750 "fast": { 757 "fast": {
751 "dom": { 758 "dom": {
752 "prototype-taco.html": { 759 "prototype-taco.html": {
753 "expected": "FAIL", 760 "expected": "FAIL",
754 "actual": "PASS", 761 "actual": "PASS",
755 "is_unexpected": True 762 "is_unexpected": True
756 } 763 }
757 } 764 }
758 } 765 }
759 } 766 }
760 }) 767 })
761 return self.command._builder_data 768 return self._builder_data
762 769
763 self.command.builder_data = builder_data 770 self.command.builder_data = builder_data
764 771
765 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """ 772 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
766 Bug(foo) fast/dom/prototype-taco.html [ Rebaseline ] 773 Bug(foo) fast/dom/prototype-taco.html [ Rebaseline ]
767 """) 774 """)
768 775
769 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 776 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
770 777
771 self.tool.executive = MockLineRemovingExecutive() 778 self.tool.executive = MockLineRemovingExecutive()
772 779
773 self.tool.builders = BuilderList({ 780 self.tool.builders = BuilderList({
774 "MOCK Mac10.10": {"port_name": "test-mac-mac10.10", "specifiers": [" Mac10.10", "Release"]}, 781 "MOCK Mac10.10": {"port_name": "test-mac-mac10.10", "specifiers": [" Mac10.10", "Release"]},
775 "MOCK Mac10.11": {"port_name": "test-mac-mac10.11", "specifiers": [" Mac10.11", "Release"]}, 782 "MOCK Mac10.11": {"port_name": "test-mac-mac10.11", "specifiers": [" Mac10.11", "Release"]},
776 }) 783 })
777 784
778 self.command.execute(self.options, [], self.tool) 785 self.command.execute(self.options, [], self.tool)
779 self.assertEqual(self.tool.executive.calls, []) 786 self.assertEqual(self.tool.executive.calls, [])
780 787
781 # The mac ports should both be removed since they're the only ones in th e builder list. 788 # The mac ports should both be removed since they're the only ones in th e builder list.
782 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_to_g eneric_test_expectations_file()), """ 789 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_to_g eneric_test_expectations_file()), """
783 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ Rebaseline ] 790 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ Rebaseline ]
784 """) 791 """)
785 792
786 def test_rebaseline_missing(self): 793 def test_rebaseline_missing(self):
787 def builder_data(): 794 def builder_data():
788 self.command._builder_data['MOCK Mac10.10'] = LayoutTestResults({ 795 self._builder_data['MOCK Mac10.10'] = LayoutTestResults({
789 "tests": { 796 "tests": {
790 "fast": { 797 "fast": {
791 "dom": { 798 "dom": {
792 "missing-text.html": { 799 "missing-text.html": {
793 "expected": "PASS", 800 "expected": "PASS",
794 "actual": "MISSING", 801 "actual": "MISSING",
795 "is_unexpected": True, 802 "is_unexpected": True,
796 "is_missing_text": True 803 "is_missing_text": True
797 }, 804 },
798 "missing-text-and-image.html": { 805 "missing-text-and-image.html": {
799 "expected": "PASS", 806 "expected": "PASS",
800 "actual": "MISSING", 807 "actual": "MISSING",
801 "is_unexpected": True, 808 "is_unexpected": True,
802 "is_missing_text": True, 809 "is_missing_text": True,
803 "is_missing_image": True 810 "is_missing_image": True
804 }, 811 },
805 "missing-image.html": { 812 "missing-image.html": {
806 "expected": "PASS", 813 "expected": "PASS",
807 "actual": "MISSING", 814 "actual": "MISSING",
808 "is_unexpected": True, 815 "is_unexpected": True,
809 "is_missing_image": True 816 "is_missing_image": True
810 } 817 }
811 } 818 }
812 } 819 }
813 } 820 }
814 }) 821 })
815 return self.command._builder_data 822 return self._builder_data
816 823
817 self.command.builder_data = builder_data 824 self.command.builder_data = builder_data
818 825
819 self._write('fast/dom/missing-text.html', "Dummy test contents") 826 self._write('fast/dom/missing-text.html', "Dummy test contents")
820 self._write('fast/dom/missing-text-and-image.html', "Dummy test contents ") 827 self._write('fast/dom/missing-text-and-image.html', "Dummy test contents ")
821 self._write('fast/dom/missing-image.html', "Dummy test contents") 828 self._write('fast/dom/missing-image.html', "Dummy test contents")
822 829
823 self.command._tests_to_rebaseline = lambda port: { 830 self.command._tests_to_rebaseline = lambda port: {
824 'fast/dom/missing-text.html': set(['txt', 'png']), 831 'fast/dom/missing-text.html': set(['txt', 'png']),
825 'fast/dom/missing-text-and-image.html': set(['txt', 'png']), 832 'fast/dom/missing-text-and-image.html': set(['txt', 'png']),
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ] 1049 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ]
1043 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-06-14 20:18:46 +0000 11) crbug.com/24182 [ Mac10.11 ] fast/dom/prototype -strawberry.html [ NeedsRebaseline ] 1050 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-06-14 20:18:46 +0000 11) crbug.com/24182 [ Mac10.11 ] fast/dom/prototype -strawberry.html [ NeedsRebaseline ]
1044 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 12) crbug.com/24182 fast/dom/prototype-chocolate.ht ml [ NeedsRebaseline ] 1051 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 12) crbug.com/24182 fast/dom/prototype-chocolate.ht ml [ NeedsRebaseline ]
1045 624caaaaaa path/to/TestExpectations (<foo@chromium.org> 2013-04-28 04:52:41 +0000 12) crbug.com/24182 path/to/not-cycled-through-bots .html [ NeedsRebaseline ] 1052 624caaaaaa path/to/TestExpectations (<foo@chromium.org> 2013-04-28 04:52:41 +0000 12) crbug.com/24182 path/to/not-cycled-through-bots .html [ NeedsRebaseline ]
1046 0000000000 path/to/TestExpectations (<foo@chromium.org> 2013-04-28 04:52:41 +0000 12) crbug.com/24182 path/to/locally-changed-lined.h tml [ NeedsRebaseline ] 1053 0000000000 path/to/TestExpectations (<foo@chromium.org> 2013-04-28 04:52:41 +0000 12) crbug.com/24182 path/to/locally-changed-lined.h tml [ NeedsRebaseline ]
1047 """ 1054 """
1048 self.tool.scm().blame = blame 1055 self.tool.scm().blame = blame
1049 1056
1050 test_port = self.tool.port_factory.get('test') 1057 test_port = self.tool.port_factory.get('test')
1051 1058
1052 original_builder_data = self.command.builder_data
1053 def builder_data(): 1059 def builder_data():
1054 original_builder_data()
1055 # Have prototype-chocolate only fail on "MOCK Mac10.11". 1060 # Have prototype-chocolate only fail on "MOCK Mac10.11".
1056 self.command._builder_data['MOCK Mac10.11'] = LayoutTestResults({ 1061 self._builder_data['MOCK Mac10.11'] = LayoutTestResults({
1057 "tests": { 1062 "tests": {
1058 "fast": { 1063 "fast": {
1059 "dom": { 1064 "dom": {
1060 "prototype-taco.html": { 1065 "prototype-taco.html": {
1061 "expected": "PASS", 1066 "expected": "PASS",
1062 "actual": "PASS TEXT", 1067 "actual": "PASS TEXT",
1063 "is_unexpected": True 1068 "is_unexpected": True
1064 }, 1069 },
1065 "prototype-chocolate.html": { 1070 "prototype-chocolate.html": {
1066 "expected": "FAIL", 1071 "expected": "FAIL",
1067 "actual": "PASS" 1072 "actual": "PASS"
1068 }, 1073 },
1069 "prototype-strawberry.html": { 1074 "prototype-strawberry.html": {
1070 "expected": "PASS", 1075 "expected": "PASS",
1071 "actual": "IMAGE PASS", 1076 "actual": "IMAGE PASS",
1072 "is_unexpected": True 1077 "is_unexpected": True
1073 } 1078 }
1074 } 1079 }
1075 } 1080 }
1076 } 1081 }
1077 }) 1082 })
1078 return self.command._builder_data 1083 return self._builder_data
1079 1084
1080 self.command.builder_data = builder_data 1085 self.command.builder_data = builder_data
1081 1086
1082 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """ 1087 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
1083 crbug.com/24182 [ Debug ] path/to/norebaseline.html [ Rebaseline ] 1088 crbug.com/24182 [ Debug ] path/to/norebaseline.html [ Rebaseline ]
1084 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] 1089 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ]
1085 crbug.com/24182 [ Mac10.11 ] fast/dom/prototype-strawberry.html [ NeedsRebaselin e ] 1090 crbug.com/24182 [ Mac10.11 ] fast/dom/prototype-strawberry.html [ NeedsRebaselin e ]
1086 crbug.com/24182 fast/dom/prototype-chocolate.html [ NeedsRebaseline ] 1091 crbug.com/24182 fast/dom/prototype-chocolate.html [ NeedsRebaseline ]
1087 crbug.com/24182 path/to/not-cycled-through-bots.html [ NeedsRebaseline ] 1092 crbug.com/24182 path/to/not-cycled-through-bots.html [ NeedsRebaseline ]
1088 crbug.com/24182 path/to/locally-changed-lined.html [ NeedsRebaseline ] 1093 crbug.com/24182 path/to/locally-changed-lined.html [ NeedsRebaseline ]
(...skipping 13 matching lines...) Expand all
1102 self.command.tree_status = lambda: 'closed' 1107 self.command.tree_status = lambda: 'closed'
1103 self._execute_command_with_mock_options() 1108 self._execute_command_with_mock_options()
1104 self.assertEqual(self.tool.executive.calls, []) 1109 self.assertEqual(self.tool.executive.calls, [])
1105 1110
1106 self.command.tree_status = lambda: 'open' 1111 self.command.tree_status = lambda: 'open'
1107 self.tool.executive.calls = [] 1112 self.tool.executive.calls = []
1108 self._execute_command_with_mock_options() 1113 self._execute_command_with_mock_options()
1109 1114
1110 self.assertEqual(self.tool.executive.calls, [ 1115 self.assertEqual(self.tool.executive.calls, [
1111 [ 1116 [
1112 ['python', 'echo', 'copy-existing-baselines-internal', '--suffix es', 'txt,png',
1113 '--builder', 'MOCK Mac10.10', '--test', 'fast/dom/prototype-cho colate.html'],
1114 ['python', 'echo', 'copy-existing-baselines-internal', '--suffix es', 'png', 1117 ['python', 'echo', 'copy-existing-baselines-internal', '--suffix es', 'png',
1115 '--builder', 'MOCK Mac10.11', '--test', 'fast/dom/prototype-str awberry.html'], 1118 '--builder', 'MOCK Mac10.11', '--test', 'fast/dom/prototype-str awberry.html'],
1116 ['python', 'echo', 'copy-existing-baselines-internal', '--suffix es', 'txt', 1119 ['python', 'echo', 'copy-existing-baselines-internal', '--suffix es', 'txt',
1117 '--builder', 'MOCK Mac10.10', '--test', 'fast/dom/prototype-tac o.html'],
1118 ['python', 'echo', 'copy-existing-baselines-internal', '--suffix es', 'txt',
1119 '--builder', 'MOCK Mac10.11', '--test', 'fast/dom/prototype-tac o.html'], 1120 '--builder', 'MOCK Mac10.11', '--test', 'fast/dom/prototype-tac o.html'],
1120 ], 1121 ],
1121 [ 1122 [
1122 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'tx t,png', 1123 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'pn g',
1123 '--builder', 'MOCK Mac10.10', '--test', 'fast/dom/prototype-cho colate.html'], 1124 '--builder', 'MOCK Mac10.11', '--test', 'fast/dom/prototype-str awberry.html'],
1124 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'pn g', '--builder',
1125 'MOCK Mac10.11', '--test', 'fast/dom/prototype-strawberry.html' ],
1126 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'tx t',
1127 '--builder', 'MOCK Mac10.10', '--test', 'fast/dom/prototype-tac o.html'],
1128 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'tx t', 1125 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'tx t',
1129 '--builder', 'MOCK Mac10.11', '--test', 'fast/dom/prototype-tac o.html'], 1126 '--builder', 'MOCK Mac10.11', '--test', 'fast/dom/prototype-tac o.html'],
1130 ], 1127 ],
1131 [ 1128 [
1132 ['python', 'echo', 'optimize-baselines', '--no-modify-scm', 1129 ['python', 'echo', 'optimize-baselines', '--no-modify-scm',
1133 '--suffixes', 'txt,png', 'fast/dom/prototype-chocolate.html'], 1130 '--suffixes', 'png', 'fast/dom/prototype-strawberry.html'],
1134 ['python', 'echo', 'optimize-baselines', '--no-modify-scm', 1131 ['python', 'echo', 'optimize-baselines', '--no-modify-scm',
1135 '--suffixes', 'png', 'fast/dom/prototype-strawberry.html'], 1132 '--suffixes', 'txt', 'fast/dom/prototype-taco.html'],
1136 ['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--s uffixes', 'txt', 'fast/dom/prototype-taco.html'],
1137 ], 1133 ],
1138 ['git', 'cl', 'upload', '-f'], 1134 ['git', 'cl', 'upload', '-f'],
1139 ['git', 'pull'], 1135 ['git', 'pull'],
1140 ['git', 'cl', 'land', '-f', '-v'], 1136 ['git', 'cl', 'land', '-f', '-v'],
1141 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietveldi ssue'], 1137 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietveldi ssue'],
1142 ]) 1138 ])
1143 1139
1144 # The mac ports should both be removed since they're the only ones in bu ilders._exact_matches. 1140 # The mac ports should both be removed since they're the only ones in bu ilders._exact_matches.
1145 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_to_g eneric_test_expectations_file()), """ 1141 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_to_g eneric_test_expectations_file()), """
1146 crbug.com/24182 [ Debug ] path/to/norebaseline.html [ Rebaseline ] 1142 crbug.com/24182 [ Debug ] path/to/norebaseline.html [ Rebaseline ]
1147 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ NeedsRebaseline ] 1143 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ NeedsRebaseline ]
1148 crbug.com/24182 [ Linux Win ] fast/dom/prototype-chocolate.html [ NeedsRebaselin e ] 1144 crbug.com/24182 [ Linux Win ] fast/dom/prototype-chocolate.html [ NeedsRebaselin e ]
1149 crbug.com/24182 path/to/not-cycled-through-bots.html [ NeedsRebaseline ] 1145 crbug.com/24182 path/to/not-cycled-through-bots.html [ NeedsRebaseline ]
1150 crbug.com/24182 path/to/locally-changed-lined.html [ NeedsRebaseline ] 1146 crbug.com/24182 path/to/locally-changed-lined.html [ NeedsRebaseline ]
1151 """) 1147 """)
1152 1148
1153 def test_execute_git_cl_hangs(self): 1149 def test_execute_git_cl_hangs(self):
1154 def blame(_): 1150 def blame(_):
1155 return """ 1151 return """
1156 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ] 1152 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ]
1157 """ 1153 """
1158 self.tool.scm().blame = blame 1154 self.tool.scm().blame = blame
1159 1155
1160 test_port = self.tool.port_factory.get('test') 1156 test_port = self.tool.port_factory.get('test')
1161 1157
1162 original_builder_data = self.command.builder_data 1158 original_builder_data = self.command.builder_data
1163 def builder_data(): 1159 def builder_data():
1164 original_builder_data() 1160 original_builder_data()
1165 # have prototype-chocolate only fail on "MOCK Mac10.10". 1161 # Have prototype-chocolate only fail on "MOCK Mac10.11".
1166 self.command._builder_data['MOCK Mac10.11'] = LayoutTestResults({ 1162 self._builder_data['MOCK Mac10.11'] = LayoutTestResults({
1167 "tests": { 1163 "tests": {
1168 "fast": { 1164 "fast": {
1169 "dom": { 1165 "dom": {
1170 "prototype-taco.html": { 1166 "prototype-taco.html": {
1171 "expected": "PASS", 1167 "expected": "PASS",
1172 "actual": "PASS TEXT", 1168 "actual": "PASS TEXT",
1173 "is_unexpected": True 1169 "is_unexpected": True
1174 } 1170 }
1175 } 1171 }
1176 } 1172 }
1177 } 1173 }
1178 }) 1174 })
1179 return self.command._builder_data 1175 return self._builder_data
1180 1176
1181 self.command.builder_data = builder_data 1177 self.command.builder_data = builder_data
1182 1178
1183 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """ 1179 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
1184 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] 1180 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ]
1185 """) 1181 """)
1186 1182
1187 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 1183 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1188 1184
1189 self.tool.builders = BuilderList({ 1185 self.tool.builders = BuilderList({
(...skipping 22 matching lines...) Expand all
1212 def test_execute_test_passes_everywhere(self): 1208 def test_execute_test_passes_everywhere(self):
1213 def blame(_): 1209 def blame(_):
1214 return """ 1210 return """
1215 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ] 1211 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ]
1216 """ 1212 """
1217 self.tool.scm().blame = blame 1213 self.tool.scm().blame = blame
1218 1214
1219 test_port = self.tool.port_factory.get('test') 1215 test_port = self.tool.port_factory.get('test')
1220 1216
1221 def builder_data(): 1217 def builder_data():
1222 self.command._builder_data['MOCK Mac10.10'] = self.command._builder_ data['MOCK Mac10.11'] = LayoutTestResults({ 1218 self._builder_data['MOCK Mac10.10'] = self._builder_data['MOCK Mac10 .11'] = LayoutTestResults({
1223 "tests": { 1219 "tests": {
1224 "fast": { 1220 "fast": {
1225 "dom": { 1221 "dom": {
1226 "prototype-taco.html": { 1222 "prototype-taco.html": {
1227 "expected": "FAIL", 1223 "expected": "FAIL",
1228 "actual": "PASS", 1224 "actual": "PASS",
1229 "is_unexpected": True 1225 "is_unexpected": True
1230 } 1226 }
1231 } 1227 }
1232 } 1228 }
1233 } 1229 }
1234 }) 1230 })
1235 return self.command._builder_data 1231 return self._builder_data
1236 1232
1237 self.command.builder_data = builder_data 1233 self.command.builder_data = builder_data
1238 1234
1239 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """ 1235 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
1240 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] 1236 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ]
1241 """) 1237 """)
1242 1238
1243 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 1239 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1244 1240
1245 self.tool.executive = MockLineRemovingExecutive() 1241 self.tool.executive = MockLineRemovingExecutive()
(...skipping 20 matching lines...) Expand all
1266 def test_execute_use_alternate_rebaseline_branch(self): 1262 def test_execute_use_alternate_rebaseline_branch(self):
1267 def blame(_): 1263 def blame(_):
1268 return """ 1264 return """
1269 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ] 1265 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ]
1270 """ 1266 """
1271 self.tool.scm().blame = blame 1267 self.tool.scm().blame = blame
1272 1268
1273 test_port = self.tool.port_factory.get('test') 1269 test_port = self.tool.port_factory.get('test')
1274 1270
1275 def builder_data(): 1271 def builder_data():
1276 self.command._builder_data['MOCK Win'] = LayoutTestResults({ 1272 self._builder_data['MOCK Win'] = LayoutTestResults({
1277 "tests": { 1273 "tests": {
1278 "fast": { 1274 "fast": {
1279 "dom": { 1275 "dom": {
1280 "prototype-taco.html": { 1276 "prototype-taco.html": {
1281 "expected": "FAIL", 1277 "expected": "FAIL",
1282 "actual": "PASS", 1278 "actual": "PASS",
1283 "is_unexpected": True 1279 "is_unexpected": True
1284 } 1280 }
1285 } 1281 }
1286 } 1282 }
1287 } 1283 }
1288 }) 1284 })
1289 return self.command._builder_data 1285 return self._builder_data
1290 1286
1291 self.command.builder_data = builder_data 1287 self.command.builder_data = builder_data
1292 1288
1293 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """ 1289 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
1294 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] 1290 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ]
1295 """) 1291 """)
1296 1292
1297 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 1293 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1298 1294
1299 self.tool.executive = MockLineRemovingExecutive() 1295 self.tool.executive = MockLineRemovingExecutive()
(...skipping 22 matching lines...) Expand all
1322 def test_execute_stuck_on_alternate_rebaseline_branch(self): 1318 def test_execute_stuck_on_alternate_rebaseline_branch(self):
1323 def blame(_): 1319 def blame(_):
1324 return """ 1320 return """
1325 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ] 1321 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ]
1326 """ 1322 """
1327 self.tool.scm().blame = blame 1323 self.tool.scm().blame = blame
1328 1324
1329 test_port = self.tool.port_factory.get('test') 1325 test_port = self.tool.port_factory.get('test')
1330 1326
1331 def builder_data(): 1327 def builder_data():
1332 self.command._builder_data['MOCK Win'] = LayoutTestResults({ 1328 self._builder_data['MOCK Win'] = LayoutTestResults({
1333 "tests": { 1329 "tests": {
1334 "fast": { 1330 "fast": {
1335 "dom": { 1331 "dom": {
1336 "prototype-taco.html": { 1332 "prototype-taco.html": {
1337 "expected": "FAIL", 1333 "expected": "FAIL",
1338 "actual": "PASS", 1334 "actual": "PASS",
1339 "is_unexpected": True 1335 "is_unexpected": True
1340 } 1336 }
1341 } 1337 }
1342 } 1338 }
1343 } 1339 }
1344 }) 1340 })
1345 return self.command._builder_data 1341 return self._builder_data
1346 1342
1347 self.command.builder_data = builder_data 1343 self.command.builder_data = builder_data
1348 1344
1349 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """ 1345 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
1350 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] 1346 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ]
1351 """) 1347 """)
1352 1348
1353 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 1349 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1354 1350
1355 self.tool.executive = MockLineRemovingExecutive() 1351 self.tool.executive = MockLineRemovingExecutive()
(...skipping 23 matching lines...) Expand all
1379 def _basic_execute_test(self, expected_executive_calls, auth_refresh_token_j son=None, commit_author=None, dry_run=False): 1375 def _basic_execute_test(self, expected_executive_calls, auth_refresh_token_j son=None, commit_author=None, dry_run=False):
1380 def blame(_): 1376 def blame(_):
1381 return """ 1377 return """
1382 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ] 1378 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org> 2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe baseline ]
1383 """ 1379 """
1384 self.tool.scm().blame = blame 1380 self.tool.scm().blame = blame
1385 1381
1386 test_port = self.tool.port_factory.get('test') 1382 test_port = self.tool.port_factory.get('test')
1387 1383
1388 def builder_data(): 1384 def builder_data():
1389 self.command._builder_data['MOCK Mac10.10'] = self.command._builder_ data['MOCK Mac10.11'] = LayoutTestResults({ 1385 self._builder_data['MOCK Mac10.10'] = self._builder_data['MOCK Mac10 .11'] = LayoutTestResults({
1390 "tests": { 1386 "tests": {
1391 "fast": { 1387 "fast": {
1392 "dom": { 1388 "dom": {
1393 "prototype-taco.html": { 1389 "prototype-taco.html": {
1394 "expected": "FAIL", 1390 "expected": "FAIL",
1395 "actual": "PASS", 1391 "actual": "PASS",
1396 "is_unexpected": True 1392 "is_unexpected": True
1397 } 1393 }
1398 } 1394 }
1399 } 1395 }
1400 } 1396 }
1401 }) 1397 })
1402 return self.command._builder_data 1398 return self._builder_data
1403 1399
1404 self.command.builder_data = builder_data 1400 self.command.builder_data = builder_data
1405 1401
1406 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """ 1402 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
1407 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] 1403 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ]
1408 """) 1404 """)
1409 1405
1410 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 1406 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1411 1407
1412 self.tool.executive = MockLineRemovingExecutive() 1408 self.tool.executive = MockLineRemovingExecutive()
(...skipping 20 matching lines...) Expand all
1433 ['git', 'cl', 'upload', '-f', '--auth-refresh-token-json', RIETV ELD_REFRESH_TOKEN], 1429 ['git', 'cl', 'upload', '-f', '--auth-refresh-token-json', RIETV ELD_REFRESH_TOKEN],
1434 ['git', 'pull'], 1430 ['git', 'pull'],
1435 ['git', 'cl', 'land', '-f', '-v', '--auth-refresh-token-json', R IETVELD_REFRESH_TOKEN], 1431 ['git', 'cl', 'land', '-f', '-v', '--auth-refresh-token-json', R IETVELD_REFRESH_TOKEN],
1436 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv eldissue'], 1432 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv eldissue'],
1437 ], 1433 ],
1438 auth_refresh_token_json=RIETVELD_REFRESH_TOKEN) 1434 auth_refresh_token_json=RIETVELD_REFRESH_TOKEN)
1439 1435
1440 def test_execute_with_dry_run(self): 1436 def test_execute_with_dry_run(self):
1441 self._basic_execute_test([], dry_run=True) 1437 self._basic_execute_test([], dry_run=True)
1442 self.assertEqual(self.tool.scm().local_commits(), []) 1438 self.assertEqual(self.tool.scm().local_commits(), [])
OLDNEW
« no previous file with comments | « third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698