OLD | NEW |
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 15 matching lines...) Expand all Loading... |
26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
28 | 28 |
29 import webkitpy.thirdparty.unittest2 as unittest | 29 import webkitpy.thirdparty.unittest2 as unittest |
30 | 30 |
31 from webkitpy.common.checkout.baselineoptimizer import BaselineOptimizer | 31 from webkitpy.common.checkout.baselineoptimizer import BaselineOptimizer |
32 from webkitpy.common.checkout.scm.scm_mock import MockSCM | 32 from webkitpy.common.checkout.scm.scm_mock import MockSCM |
33 from webkitpy.common.host_mock import MockHost | 33 from webkitpy.common.host_mock import MockHost |
34 from webkitpy.common.net.buildbot.buildbot_mock import MockBuilder | 34 from webkitpy.common.net.buildbot.buildbot_mock import MockBuilder |
35 from webkitpy.common.net.layouttestresults import LayoutTestResults | 35 from webkitpy.common.net.layouttestresults import LayoutTestResults |
| 36 from webkitpy.common.system.executive_mock import MockExecutive |
36 from webkitpy.common.system.executive_mock import MockExecutive2 | 37 from webkitpy.common.system.executive_mock import MockExecutive2 |
37 from webkitpy.common.system.outputcapture import OutputCapture | 38 from webkitpy.common.system.outputcapture import OutputCapture |
38 from webkitpy.thirdparty.mock import Mock | 39 from webkitpy.thirdparty.mock import Mock |
39 from webkitpy.tool.commands.rebaseline import * | 40 from webkitpy.tool.commands.rebaseline import * |
40 from webkitpy.tool.mocktool import MockTool, MockOptions | 41 from webkitpy.tool.mocktool import MockTool, MockOptions |
41 | 42 |
42 | 43 |
43 class _BaseTestCase(unittest.TestCase): | 44 class _BaseTestCase(unittest.TestCase): |
44 MOCK_WEB_RESULT = 'MOCK Web result, convert 404 to None=True' | 45 MOCK_WEB_RESULT = 'MOCK Web result, convert 404 to None=True' |
45 WEB_PREFIX = 'http://example.com/f/builders/WebKit Mac10.7/results/layout-te
st-results' | 46 WEB_PREFIX = 'http://example.com/f/builders/WebKit Mac10.7/results/layout-te
st-results' |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 "actual": "PASS" | 354 "actual": "PASS" |
354 } | 355 } |
355 } | 356 } |
356 } | 357 } |
357 });""") | 358 });""") |
358 return self.command._builder_data | 359 return self.command._builder_data |
359 | 360 |
360 self.command.builder_data = builder_data | 361 self.command.builder_data = builder_data |
361 | 362 |
362 options = MockOptions(optimize=True, verbose=True, results_directory=Non
e) | 363 options = MockOptions(optimize=True, verbose=True, results_directory=Non
e) |
| 364 |
| 365 self._write(self.lion_expectations_path, "Bug(x) userscripts/first-test.
html [ ImageOnlyFailure ]\n") |
363 self._write("userscripts/first-test.html", "Dummy test contents") | 366 self._write("userscripts/first-test.html", "Dummy test contents") |
| 367 |
364 self.command._rebaseline(options, {"userscripts/first-test.html": {"MOC
K builder": ["txt", "png"]}}) | 368 self.command._rebaseline(options, {"userscripts/first-test.html": {"MOC
K builder": ["txt", "png"]}}) |
365 | 369 |
366 # Note that we have one run_in_parallel() call followed by a run_command
() | 370 # Note that we have one run_in_parallel() call followed by a run_command
() |
367 self.assertEqual(self.tool.executive.calls, | 371 self.assertEqual(self.tool.executive.calls, |
368 [[['echo', 'optimize-baselines', '--no-modify-scm', '--suffixes', ''
, 'userscripts/first-test.html', '--verbose']]]) | 372 [[['echo', 'optimize-baselines', '--no-modify-scm', '--suffixes', ''
, 'userscripts/first-test.html', '--verbose']]]) |
369 | 373 |
370 def test_rebaseline_all(self): | 374 def test_rebaseline_all(self): |
371 self._setup_mock_builder_data() | 375 self._setup_mock_builder_data() |
372 | 376 |
373 options = MockOptions(optimize=True, verbose=True, results_directory=Non
e) | 377 options = MockOptions(optimize=True, verbose=True, results_directory=Non
e) |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 self._write("SmokeTests", "fast/html/article-element.html") | 511 self._write("SmokeTests", "fast/html/article-element.html") |
508 self._write("userscripts/first-test.html", "Dummy test contents") | 512 self._write("userscripts/first-test.html", "Dummy test contents") |
509 self._setup_mock_builder_data() | 513 self._setup_mock_builder_data() |
510 | 514 |
511 self.command._rebaseline(options, {"userscripts/first-test.html": {"Web
Kit Mac10.7": ["txt", "png"]}}) | 515 self.command._rebaseline(options, {"userscripts/first-test.html": {"Web
Kit Mac10.7": ["txt", "png"]}}) |
512 | 516 |
513 new_expectations = self._read(self.lion_expectations_path) | 517 new_expectations = self._read(self.lion_expectations_path) |
514 self.assertMultiLineEqual(new_expectations, "Bug(x) [ Linux Mavericks Mo
untainLion Retina SnowLeopard Win ] userscripts/first-test.html [ ImageOnlyFailu
re ]\n") | 518 self.assertMultiLineEqual(new_expectations, "Bug(x) [ Linux Mavericks Mo
untainLion Retina SnowLeopard Win ] userscripts/first-test.html [ ImageOnlyFailu
re ]\n") |
515 | 519 |
516 | 520 |
517 | |
518 class TestRebaseline(_BaseTestCase): | 521 class TestRebaseline(_BaseTestCase): |
519 # This command shares most of its logic with RebaselineJson, so these tests
just test what is different. | 522 # This command shares most of its logic with RebaselineJson, so these tests
just test what is different. |
520 | 523 |
521 command_constructor = Rebaseline # AKA webkit-patch rebaseline | 524 command_constructor = Rebaseline # AKA webkit-patch rebaseline |
522 | 525 |
523 def test_rebaseline(self): | 526 def test_rebaseline(self): |
524 self.command._builders_to_pull_from = lambda: [MockBuilder('MOCK builder
')] | 527 self.command._builders_to_pull_from = lambda: [MockBuilder('MOCK builder
')] |
525 | 528 |
526 self._write("userscripts/first-test.html", "test data") | 529 self._write("userscripts/first-test.html", "test data") |
527 | 530 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
560 builders._exact_matches = old_exact_matches | 563 builders._exact_matches = old_exact_matches |
561 | 564 |
562 calls = filter(lambda x: x != ['qmake', '-v'] and x[0] != 'perl', self.t
ool.executive.calls) | 565 calls = filter(lambda x: x != ['qmake', '-v'] and x[0] != 'perl', self.t
ool.executive.calls) |
563 self.assertEqual(calls, | 566 self.assertEqual(calls, |
564 [[['echo', 'copy-existing-baselines-internal', '--suffixes', 'txt,pn
g', '--builder', 'MOCK builder', '--test', 'userscripts/first-test.html', '--ver
bose'], | 567 [[['echo', 'copy-existing-baselines-internal', '--suffixes', 'txt,pn
g', '--builder', 'MOCK builder', '--test', 'userscripts/first-test.html', '--ver
bose'], |
565 ['echo', 'copy-existing-baselines-internal', '--suffixes', 'txt,pn
g', '--builder', 'MOCK builder', '--test', 'userscripts/second-test.html', '--ve
rbose']], | 568 ['echo', 'copy-existing-baselines-internal', '--suffixes', 'txt,pn
g', '--builder', 'MOCK builder', '--test', 'userscripts/second-test.html', '--ve
rbose']], |
566 [['echo', 'rebaseline-test-internal', '--suffixes', 'txt,png', '--b
uilder', 'MOCK builder', '--test', 'userscripts/first-test.html', '--verbose'], | 569 [['echo', 'rebaseline-test-internal', '--suffixes', 'txt,png', '--b
uilder', 'MOCK builder', '--test', 'userscripts/first-test.html', '--verbose'], |
567 ['echo', 'rebaseline-test-internal', '--suffixes', 'txt,png', '--b
uilder', 'MOCK builder', '--test', 'userscripts/second-test.html', '--verbose']]
]) | 570 ['echo', 'rebaseline-test-internal', '--suffixes', 'txt,png', '--b
uilder', 'MOCK builder', '--test', 'userscripts/second-test.html', '--verbose']]
]) |
568 | 571 |
569 | 572 |
| 573 class MockLineRemovingExecutive(MockExecutive): |
| 574 def run_in_parallel(self, commands): |
| 575 assert len(commands) |
| 576 |
| 577 num_previous_calls = len(self.calls) |
| 578 command_outputs = [] |
| 579 for cmd_line, cwd in commands: |
| 580 out = self.run_command(cmd_line, cwd=cwd) |
| 581 if 'rebaseline-test-internal' in cmd_line: |
| 582 out = '{"add": [], "remove-lines": [{"test": "%s", "builder": "%
s"}], "delete": []}\n' % (cmd_line[7], cmd_line[5]) |
| 583 command_outputs.append([0, out, '']) |
| 584 |
| 585 new_calls = self.calls[num_previous_calls:] |
| 586 self.calls = self.calls[:num_previous_calls] |
| 587 self.calls.append(new_calls) |
| 588 return command_outputs |
| 589 |
| 590 |
570 class TestRebaselineExpectations(_BaseTestCase): | 591 class TestRebaselineExpectations(_BaseTestCase): |
571 command_constructor = RebaselineExpectations | 592 command_constructor = RebaselineExpectations |
572 | 593 |
573 def setUp(self): | 594 def setUp(self): |
574 super(TestRebaselineExpectations, self).setUp() | 595 super(TestRebaselineExpectations, self).setUp() |
575 self.options = MockOptions(optimize=False, builders=None, suffixes=['txt
'], verbose=False, platform=None, results_directory=None) | 596 self.options = MockOptions(optimize=False, builders=None, suffixes=['txt
'], verbose=False, platform=None, results_directory=None) |
576 | 597 |
| 598 def _write_test_file(self, port, path, contents): |
| 599 abs_path = self.tool.filesystem.join(port.layout_tests_dir(), path) |
| 600 self.tool.filesystem.write_text_file(abs_path, contents) |
| 601 |
| 602 def _setup_test_port(self): |
| 603 test_port = self.tool.port_factory.get('test') |
| 604 original_get = self.tool.port_factory.get |
| 605 |
| 606 def get_test_port(port_name=None, options=None, **kwargs): |
| 607 if not port_name: |
| 608 return test_port |
| 609 return original_get(port_name, options, **kwargs) |
| 610 # Need to make sure all the ports grabbed use the test checkout path ins
tead of the mock checkout path. |
| 611 # FIXME: crbug.com/279494 - we shouldn't be doing this. |
| 612 self.tool.port_factory.get = get_test_port |
| 613 |
| 614 return test_port |
| 615 |
577 def test_rebaseline_expectations(self): | 616 def test_rebaseline_expectations(self): |
578 self._zero_out_test_expectations() | 617 self._zero_out_test_expectations() |
579 | 618 |
580 self.tool.executive = MockExecutive2() | 619 self.tool.executive = MockExecutive2() |
581 | 620 |
582 def builder_data(): | 621 def builder_data(): |
583 self.command._builder_data['MOCK SnowLeopard'] = self.command._build
er_data['MOCK Leopard'] = LayoutTestResults.results_from_string("""ADD_RESULTS({ | 622 self.command._builder_data['MOCK SnowLeopard'] = self.command._build
er_data['MOCK Leopard'] = LayoutTestResults.results_from_string("""ADD_RESULTS({ |
584 "tests": { | 623 "tests": { |
585 "userscripts": { | 624 "userscripts": { |
586 "another-test.html": { | 625 "another-test.html": { |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 self._write('/userscripts/another-test.html', '') | 697 self._write('/userscripts/another-test.html', '') |
659 | 698 |
660 self.assertDictEqual(self.command._tests_to_rebaseline(self.lion_port),
{'userscripts/another-test.html': set(['png', 'txt', 'wav'])}) | 699 self.assertDictEqual(self.command._tests_to_rebaseline(self.lion_port),
{'userscripts/another-test.html': set(['png', 'txt', 'wav'])}) |
661 self.assertEqual(self._read(self.lion_expectations_path), '') | 700 self.assertEqual(self._read(self.lion_expectations_path), '') |
662 | 701 |
663 def test_rebaseline_without_other_expectations(self): | 702 def test_rebaseline_without_other_expectations(self): |
664 self._write("userscripts/another-test.html", "Dummy test contents") | 703 self._write("userscripts/another-test.html", "Dummy test contents") |
665 self._write(self.lion_expectations_path, "Bug(x) userscripts/another-tes
t.html [ Rebaseline ]\n") | 704 self._write(self.lion_expectations_path, "Bug(x) userscripts/another-tes
t.html [ Rebaseline ]\n") |
666 self.assertDictEqual(self.command._tests_to_rebaseline(self.lion_port),
{'userscripts/another-test.html': ('png', 'wav', 'txt')}) | 705 self.assertDictEqual(self.command._tests_to_rebaseline(self.lion_port),
{'userscripts/another-test.html': ('png', 'wav', 'txt')}) |
667 | 706 |
| 707 def test_rebaseline_test_passes_everywhere(self): |
| 708 test_port = self._setup_test_port() |
| 709 |
| 710 old_builder_data = self.command.builder_data |
| 711 |
| 712 def builder_data(): |
| 713 self.command._builder_data['MOCK Leopard'] = self.command._builder_d
ata['MOCK SnowLeopard'] = LayoutTestResults.results_from_string("""ADD_RESULTS({ |
| 714 "tests": { |
| 715 "fast": { |
| 716 "dom": { |
| 717 "prototype-taco.html": { |
| 718 "expected": "FAIL", |
| 719 "actual": "PASS", |
| 720 "is_unexpected": true |
| 721 } |
| 722 } |
| 723 } |
| 724 } |
| 725 });""") |
| 726 return self.command._builder_data |
| 727 |
| 728 self.command.builder_data = builder_data |
| 729 |
| 730 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe
ctations_file(), """ |
| 731 Bug(foo) fast/dom/prototype-taco.html [ Rebaseline ] |
| 732 """) |
| 733 |
| 734 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy
test contents") |
| 735 |
| 736 self.tool.executive = MockLineRemovingExecutive() |
| 737 |
| 738 old_exact_matches = builders._exact_matches |
| 739 try: |
| 740 builders._exact_matches = { |
| 741 "MOCK Leopard": {"port_name": "test-mac-leopard", "specifiers":
set(["mock-specifier"])}, |
| 742 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci
fiers": set(["mock-specifier"])}, |
| 743 } |
| 744 |
| 745 self.command.execute(self.options, [], self.tool) |
| 746 self.assertEqual(self.tool.executive.calls, []) |
| 747 |
| 748 # The mac ports should both be removed since they're the only ones i
n builders._exact_matches. |
| 749 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_
to_generic_test_expectations_file()), """ |
| 750 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ Rebaseline ] |
| 751 """) |
| 752 finally: |
| 753 builders._exact_matches = old_exact_matches |
| 754 |
668 | 755 |
669 class _FakeOptimizer(BaselineOptimizer): | 756 class _FakeOptimizer(BaselineOptimizer): |
670 def read_results_by_directory(self, baseline_name): | 757 def read_results_by_directory(self, baseline_name): |
671 if baseline_name.endswith('txt'): | 758 if baseline_name.endswith('txt'): |
672 return {'LayoutTests/passes/text.html': '123456'} | 759 return {'LayoutTests/passes/text.html': '123456'} |
673 return {} | 760 return {} |
674 | 761 |
675 | 762 |
676 class TestOptimizeBaselines(_BaseTestCase): | 763 class TestOptimizeBaselines(_BaseTestCase): |
677 command_constructor = OptimizeBaselines | 764 command_constructor = OptimizeBaselines |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
926 crbug.com/24182 [ SnowLeopard ] fast/dom/prototype-strawberry.html [ NeedsRebase
line ] | 1013 crbug.com/24182 [ SnowLeopard ] fast/dom/prototype-strawberry.html [ NeedsRebase
line ] |
927 crbug.com/24182 fast/dom/prototype-chocolate.html [ NeedsRebaseline ] | 1014 crbug.com/24182 fast/dom/prototype-chocolate.html [ NeedsRebaseline ] |
928 crbug.com/24182 path/to/not-cycled-through-bots.html [ NeedsRebaseline ] | 1015 crbug.com/24182 path/to/not-cycled-through-bots.html [ NeedsRebaseline ] |
929 crbug.com/24182 path/to/locally-changed-lined.html [ NeedsRebaseline ] | 1016 crbug.com/24182 path/to/locally-changed-lined.html [ NeedsRebaseline ] |
930 """) | 1017 """) |
931 | 1018 |
932 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy
test contents") | 1019 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy
test contents") |
933 self._write_test_file(test_port, 'fast/dom/prototype-strawberry.html', "
Dummy test contents") | 1020 self._write_test_file(test_port, 'fast/dom/prototype-strawberry.html', "
Dummy test contents") |
934 self._write_test_file(test_port, 'fast/dom/prototype-chocolate.html', "D
ummy test contents") | 1021 self._write_test_file(test_port, 'fast/dom/prototype-chocolate.html', "D
ummy test contents") |
935 | 1022 |
| 1023 self.tool.executive = MockLineRemovingExecutive() |
| 1024 |
936 old_exact_matches = builders._exact_matches | 1025 old_exact_matches = builders._exact_matches |
937 try: | 1026 try: |
938 builders._exact_matches = { | 1027 builders._exact_matches = { |
939 "MOCK Leopard": {"port_name": "test-mac-leopard", "specifiers":
set(["mock-specifier"])}, | 1028 "MOCK Leopard": {"port_name": "test-mac-leopard", "specifiers":
set(["mock-specifier"])}, |
940 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci
fiers": set(["mock-specifier"])}, | 1029 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci
fiers": set(["mock-specifier"])}, |
941 } | 1030 } |
942 | 1031 |
943 self.command.tree_status = lambda: 'closed' | 1032 self.command.tree_status = lambda: 'closed' |
944 self.command.execute(MockOptions(optimize=True, verbose=False, move_
overwritten_baselines=False, results_directory=False, log_server=None), [], self
.tool) | 1033 self.command.execute(MockOptions(optimize=True, verbose=False, move_
overwritten_baselines=False, results_directory=False, log_server=None), [], self
.tool) |
945 self.assertEqual(self.tool.executive.calls, []) | 1034 self.assertEqual(self.tool.executive.calls, []) |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1055 test_port = self._setup_test_port() | 1144 test_port = self._setup_test_port() |
1056 | 1145 |
1057 old_builder_data = self.command.builder_data | 1146 old_builder_data = self.command.builder_data |
1058 | 1147 |
1059 def builder_data(): | 1148 def builder_data(): |
1060 self.command._builder_data['MOCK Leopard'] = self.command._builder_d
ata['MOCK SnowLeopard'] = LayoutTestResults.results_from_string("""ADD_RESULTS({ | 1149 self.command._builder_data['MOCK Leopard'] = self.command._builder_d
ata['MOCK SnowLeopard'] = LayoutTestResults.results_from_string("""ADD_RESULTS({ |
1061 "tests": { | 1150 "tests": { |
1062 "fast": { | 1151 "fast": { |
1063 "dom": { | 1152 "dom": { |
1064 "prototype-taco.html": { | 1153 "prototype-taco.html": { |
1065 "expected": "PASS", | 1154 "expected": "FAIL", |
1066 "actual": "PASS TEXT", | 1155 "actual": "PASS", |
1067 "is_unexpected": true | 1156 "is_unexpected": true |
1068 } | 1157 } |
1069 } | 1158 } |
1070 } | 1159 } |
1071 } | 1160 } |
1072 });""") | 1161 });""") |
1073 return self.command._builder_data | 1162 return self.command._builder_data |
1074 | 1163 |
1075 self.command.builder_data = builder_data | 1164 self.command.builder_data = builder_data |
1076 | 1165 |
1077 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe
ctations_file(), """ | 1166 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe
ctations_file(), """ |
1078 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] | 1167 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] |
1079 """) | 1168 """) |
1080 | 1169 |
1081 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy
test contents") | 1170 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy
test contents") |
1082 | 1171 |
| 1172 self.tool.executive = MockLineRemovingExecutive() |
| 1173 |
1083 old_exact_matches = builders._exact_matches | 1174 old_exact_matches = builders._exact_matches |
1084 try: | 1175 try: |
1085 builders._exact_matches = { | 1176 builders._exact_matches = { |
1086 "MOCK Leopard": {"port_name": "test-mac-leopard", "specifiers":
set(["mock-specifier"])}, | 1177 "MOCK Leopard": {"port_name": "test-mac-leopard", "specifiers":
set(["mock-specifier"])}, |
1087 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci
fiers": set(["mock-specifier"])}, | 1178 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci
fiers": set(["mock-specifier"])}, |
1088 } | 1179 } |
1089 | 1180 |
1090 self.command.tree_status = lambda: 'open' | 1181 self.command.tree_status = lambda: 'open' |
1091 self.command.execute(MockOptions(optimize=True, verbose=False, move_
overwritten_baselines=False, results_directory=False, log_server=None), [], self
.tool) | 1182 self.command.execute(MockOptions(optimize=True, verbose=False, move_
overwritten_baselines=False, results_directory=False, log_server=None), [], self
.tool) |
1092 self.assertEqual(self.tool.executive.calls, [ | 1183 self.assertEqual(self.tool.executive.calls, [ |
1093 [ | 1184 [['echo', 'optimize-baselines', '--no-modify-scm', '--suffixes',
'', 'fast/dom/prototype-taco.html']], |
1094 ['echo', 'copy-existing-baselines-internal', '--suffixes', '
txt', '--builder', 'MOCK Leopard', '--test', 'fast/dom/prototype-taco.html'], | |
1095 ['echo', 'copy-existing-baselines-internal', '--suffixes', '
txt', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-taco.html']
, | |
1096 ], | |
1097 [ | |
1098 ['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '-
-builder', 'MOCK Leopard', '--test', 'fast/dom/prototype-taco.html'], | |
1099 ['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '-
-builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-taco.html'], | |
1100 ], | |
1101 [['echo', 'optimize-baselines', '--no-modify-scm', '--suffixes',
'txt', 'fast/dom/prototype-taco.html']], | |
1102 ['git', 'cl', 'upload', '-f'], | 1185 ['git', 'cl', 'upload', '-f'], |
1103 ['git', 'pull'], | 1186 ['git', 'pull'], |
1104 ['git', 'cl', 'dcommit', '-f'], | 1187 ['git', 'cl', 'dcommit', '-f'], |
1105 ['git', 'cl', 'set_close'], | 1188 ['git', 'cl', 'set_close'], |
1106 ]) | 1189 ]) |
1107 | 1190 |
1108 # The mac ports should both be removed since they're the only ones i
n builders._exact_matches. | 1191 # The mac ports should both be removed since they're the only ones i
n builders._exact_matches. |
1109 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_
to_generic_test_expectations_file()), """ | 1192 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_
to_generic_test_expectations_file()), """ |
1110 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ NeedsRebaseline ] | 1193 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ NeedsRebaseline ] |
1111 """) | 1194 """) |
1112 finally: | 1195 finally: |
1113 builders._exact_matches = old_exact_matches | 1196 builders._exact_matches = old_exact_matches |
OLD | NEW |