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

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

Issue 1379493002: Use chromium revision instead of blink svn revision when rebaselining layout tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove multiple repo support Created 5 years, 2 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 (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 872 matching lines...) Expand 10 before | Expand all | Expand 10 after
883 883
884 def test_missing_baselines(self): 884 def test_missing_baselines(self):
885 self.command.execute(MockOptions(suffixes='png,txt', missing=True, platf orm=None), ['passes/text.html'], self.tool) 885 self.command.execute(MockOptions(suffixes='png,txt', missing=True, platf orm=None), ['passes/text.html'], self.tool)
886 self.assertEqual(self.lines, 886 self.assertEqual(self.lines,
887 ['passes/text-expected.png: (no baselines found)', 887 ['passes/text-expected.png: (no baselines found)',
888 'passes/text-expected.txt:', 888 'passes/text-expected.txt:',
889 ' (generic): 123456']) 889 ' (generic): 123456'])
890 890
891 891
892 class TestAutoRebaseline(_BaseTestCase): 892 class TestAutoRebaseline(_BaseTestCase):
893 SVN_REMOTE_CMD = ['git', 'config', '--local', '--get-regexp', '^svn-remote\\ .']
894 command_constructor = AutoRebaseline 893 command_constructor = AutoRebaseline
895 894
896 def _write_test_file(self, port, path, contents): 895 def _write_test_file(self, port, path, contents):
897 abs_path = self.tool.filesystem.join(port.layout_tests_dir(), path) 896 abs_path = self.tool.filesystem.join(port.layout_tests_dir(), path)
898 self.tool.filesystem.write_text_file(abs_path, contents) 897 self.tool.filesystem.write_text_file(abs_path, contents)
899 898
900 def _setup_test_port(self): 899 def _setup_test_port(self):
901 test_port = self.tool.port_factory.get('test') 900 test_port = self.tool.port_factory.get('test')
902 original_get = self.tool.port_factory.get 901 original_get = self.tool.port_factory.get
903 902
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 6469e754a1 path/to/TestExpectations (foobarbaz1@chromium.org 2 013-04-28 04:52:41 +0000 12) crbug.com/24182 path/to/rebaseline-new-revision.h tml [ NeedsRebaseline ] 937 6469e754a1 path/to/TestExpectations (foobarbaz1@chromium.org 2 013-04-28 04:52:41 +0000 12) crbug.com/24182 path/to/rebaseline-new-revision.h tml [ NeedsRebaseline ]
939 624caaaaaa path/to/TestExpectations (foo@chromium.org 2 013-04-28 04:52:41 +0000 12) crbug.com/24182 path/to/not-cycled-through-bots.h tml [ NeedsRebaseline ] 938 624caaaaaa path/to/TestExpectations (foo@chromium.org 2 013-04-28 04:52:41 +0000 12) crbug.com/24182 path/to/not-cycled-through-bots.h tml [ NeedsRebaseline ]
940 0000000000 path/to/TestExpectations (foo@chromium.org 2 013-04-28 04:52:41 +0000 12) crbug.com/24182 path/to/locally-changed-lined.htm l [ NeedsRebaseline ] 939 0000000000 path/to/TestExpectations (foo@chromium.org 2 013-04-28 04:52:41 +0000 12) crbug.com/24182 path/to/locally-changed-lined.htm l [ NeedsRebaseline ]
941 """ 940 """
942 self.tool.scm().blame = blame 941 self.tool.scm().blame = blame
943 942
944 min_revision = 9000 943 min_revision = 9000
945 self.assertEqual(self.command.tests_to_rebaseline(self.tool, min_revisio n, print_revisions=False), ( 944 self.assertEqual(self.command.tests_to_rebaseline(self.tool, min_revisio n, print_revisions=False), (
946 set(['path/to/rebaseline-without-bug-number.html', 'path/to/reba seline-with-modifiers.html', 'path/to/rebaseline-without-modifiers.html']), 945 set(['path/to/rebaseline-without-bug-number.html', 'path/to/reba seline-with-modifiers.html', 'path/to/rebaseline-without-modifiers.html']),
947 5678, 946 5678,
947 '624c3081c0',
948 'foobarbaz1@chromium.org', 948 'foobarbaz1@chromium.org',
949 set(['24182', '234']), 949 set(['24182', '234']),
950 True)) 950 True))
951 951
952 def test_tests_to_rebaseline_over_limit(self): 952 def test_tests_to_rebaseline_over_limit(self):
953 def blame(path): 953 def blame(path):
954 result = "" 954 result = ""
955 for i in range(0, self.command.MAX_LINES_TO_REBASELINE + 1): 955 for i in range(0, self.command.MAX_LINES_TO_REBASELINE + 1):
956 result += "624c3081c0 path/to/TestExpectations (foobarbaz1@chromium.org 2013-04-28 04:52:41 +0000 13) crbug.com/24182 path/t o/rebaseline-%s.html [ NeedsRebaseline ]\n" % i 956 result += "624c3081c0 path/to/TestExpectations (foobarbaz1@chromium.org 2013-04-28 04:52:41 +0000 13) crbug.com/24182 path/t o/rebaseline-%s.html [ NeedsRebaseline ]\n" % i
957 return result 957 return result
958 self.tool.scm().blame = blame 958 self.tool.scm().blame = blame
959 959
960 expected_list_of_tests = [] 960 expected_list_of_tests = []
961 for i in range(0, self.command.MAX_LINES_TO_REBASELINE): 961 for i in range(0, self.command.MAX_LINES_TO_REBASELINE):
962 expected_list_of_tests.append("path/to/rebaseline-%s.html" % i) 962 expected_list_of_tests.append("path/to/rebaseline-%s.html" % i)
963 963
964 min_revision = 9000 964 min_revision = 9000
965 self.assertEqual(self.command.tests_to_rebaseline(self.tool, min_revisio n, print_revisions=False), ( 965 self.assertEqual(self.command.tests_to_rebaseline(self.tool, min_revisio n, print_revisions=False), (
966 set(expected_list_of_tests), 966 set(expected_list_of_tests),
967 5678, 967 5678,
968 '624c3081c0',
968 'foobarbaz1@chromium.org', 969 'foobarbaz1@chromium.org',
969 set(['24182']), 970 set(['24182']),
970 True)) 971 True))
971 972
972 def test_commit_message(self): 973 def test_commit_message(self):
973 author = "foo@chromium.org" 974 author = "foo@chromium.org"
974 revision = 1234 975 revision = 1234
976 commit = "abcd567"
975 bugs = set() 977 bugs = set()
976 self.assertEqual(self.command.commit_message(author, revision, bugs), 978 self.assertEqual(self.command.commit_message(author, revision, commit, b ugs),
977 """Auto-rebaseline for r1234 979 """Auto-rebaseline for r1234
978 980
979 http://src.chromium.org/viewvc/blink?view=revision&revision=1234 981 https://chromium.googlesource.com/chromium/src/+/abcd567
980 982
981 TBR=foo@chromium.org 983 TBR=foo@chromium.org
982 """) 984 """)
983 985
984 bugs = set(["234", "345"]) 986 bugs = set(["234", "345"])
985 self.assertEqual(self.command.commit_message(author, revision, bugs), 987 self.assertEqual(self.command.commit_message(author, revision, commit, b ugs),
986 """Auto-rebaseline for r1234 988 """Auto-rebaseline for r1234
987 989
988 http://src.chromium.org/viewvc/blink?view=revision&revision=1234 990 https://chromium.googlesource.com/chromium/src/+/abcd567
989 991
990 BUG=234,345 992 BUG=234,345
991 TBR=foo@chromium.org 993 TBR=foo@chromium.org
992 """) 994 """)
993 995
994 def test_no_needs_rebaseline_lines(self): 996 def test_no_needs_rebaseline_lines(self):
995 def blame(path): 997 def blame(path):
996 return """ 998 return """
997 6469e754a1 path/to/TestExpectations (foobarbaz1@chromium.org 2 013-06-14 20:18:46 +0000 11) crbug.com/24182 [ Debug ] path/to/norebaseline.ht ml [ ImageOnlyFailure ] 999 6469e754a1 path/to/TestExpectations (foobarbaz1@chromium.org 2 013-06-14 20:18:46 +0000 11) crbug.com/24182 [ Debug ] path/to/norebaseline.ht ml [ ImageOnlyFailure ]
998 """ 1000 """
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1053 crbug.com/24182 [ SnowLeopard ] fast/dom/prototype-strawberry.html [ NeedsRebase line ] 1055 crbug.com/24182 [ SnowLeopard ] fast/dom/prototype-strawberry.html [ NeedsRebase line ]
1054 crbug.com/24182 fast/dom/prototype-chocolate.html [ NeedsRebaseline ] 1056 crbug.com/24182 fast/dom/prototype-chocolate.html [ NeedsRebaseline ]
1055 crbug.com/24182 path/to/not-cycled-through-bots.html [ NeedsRebaseline ] 1057 crbug.com/24182 path/to/not-cycled-through-bots.html [ NeedsRebaseline ]
1056 crbug.com/24182 path/to/locally-changed-lined.html [ NeedsRebaseline ] 1058 crbug.com/24182 path/to/locally-changed-lined.html [ NeedsRebaseline ]
1057 """) 1059 """)
1058 1060
1059 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 1061 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1060 self._write_test_file(test_port, 'fast/dom/prototype-strawberry.html', " Dummy test contents") 1062 self._write_test_file(test_port, 'fast/dom/prototype-strawberry.html', " Dummy test contents")
1061 self._write_test_file(test_port, 'fast/dom/prototype-chocolate.html', "D ummy test contents") 1063 self._write_test_file(test_port, 'fast/dom/prototype-chocolate.html', "D ummy test contents")
1062 1064
1063 self.tool.executive = MockLineRemovingExecutive( 1065 self.tool.executive = MockLineRemovingExecutive()
1064 should_return_zero_when_run=set(self.SVN_REMOTE_CMD))
1065 1066
1066 old_exact_matches = builders._exact_matches 1067 old_exact_matches = builders._exact_matches
1067 try: 1068 try:
1068 builders._exact_matches = { 1069 builders._exact_matches = {
1069 "MOCK Leopard": {"port_name": "test-mac-leopard", "specifiers": set(["mock-specifier"])}, 1070 "MOCK Leopard": {"port_name": "test-mac-leopard", "specifiers": set(["mock-specifier"])},
1070 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci fiers": set(["mock-specifier"])}, 1071 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci fiers": set(["mock-specifier"])},
1071 } 1072 }
1072 1073
1073 self.command.tree_status = lambda: 'closed' 1074 self.command.tree_status = lambda: 'closed'
1074 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool) 1075 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool)
1075 self.assertEqual(self.tool.executive.calls, []) 1076 self.assertEqual(self.tool.executive.calls, [])
1076 1077
1077 self.command.tree_status = lambda: 'open' 1078 self.command.tree_status = lambda: 'open'
1078 self.tool.executive.calls = [] 1079 self.tool.executive.calls = []
1079 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool) 1080 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool)
1080 1081
1081 self.assertEqual(self.tool.executive.calls, [ 1082 self.assertEqual(self.tool.executive.calls, [
1082 self.SVN_REMOTE_CMD,
1083 [ 1083 [
1084 ['python', 'echo', 'copy-existing-baselines-internal', '--su ffixes', 'txt,png', '--builder', 'MOCK Leopard', '--test', 'fast/dom/prototype-c hocolate.html'], 1084 ['python', 'echo', 'copy-existing-baselines-internal', '--su ffixes', 'txt,png', '--builder', 'MOCK Leopard', '--test', 'fast/dom/prototype-c hocolate.html'],
1085 ['python', 'echo', 'copy-existing-baselines-internal', '--su ffixes', 'png', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-s trawberry.html'], 1085 ['python', 'echo', 'copy-existing-baselines-internal', '--su ffixes', 'png', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-s trawberry.html'],
1086 ['python', 'echo', 'copy-existing-baselines-internal', '--su ffixes', 'txt', '--builder', 'MOCK Leopard', '--test', 'fast/dom/prototype-taco. html'], 1086 ['python', 'echo', 'copy-existing-baselines-internal', '--su ffixes', 'txt', '--builder', 'MOCK Leopard', '--test', 'fast/dom/prototype-taco. html'],
1087 ['python', 'echo', 'copy-existing-baselines-internal', '--su ffixes', 'txt', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-t aco.html'], 1087 ['python', 'echo', 'copy-existing-baselines-internal', '--su ffixes', 'txt', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-t aco.html'],
1088 ], 1088 ],
1089 [ 1089 [
1090 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'txt,png', '--builder', 'MOCK Leopard', '--test', 'fast/dom/prototype-chocolate .html'], 1090 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'txt,png', '--builder', 'MOCK Leopard', '--test', 'fast/dom/prototype-chocolate .html'],
1091 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-strawberr y.html'], 1091 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-strawberr y.html'],
1092 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'MOCK Leopard', '--test', 'fast/dom/prototype-taco.html'], 1092 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'MOCK Leopard', '--test', 'fast/dom/prototype-taco.html'],
1093 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-taco.html '], 1093 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-taco.html '],
1094 ], 1094 ],
1095 [ 1095 [
1096 ['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--suffixes', 'txt,png', 'fast/dom/prototype-chocolate.html'], 1096 ['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--suffixes', 'txt,png', 'fast/dom/prototype-chocolate.html'],
1097 ['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--suffixes', 'png', 'fast/dom/prototype-strawberry.html'], 1097 ['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--suffixes', 'png', 'fast/dom/prototype-strawberry.html'],
1098 ['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--suffixes', 'txt', 'fast/dom/prototype-taco.html'], 1098 ['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--suffixes', 'txt', 'fast/dom/prototype-taco.html'],
1099 ], 1099 ],
1100 ['git', 'cl', 'upload', '-f'], 1100 ['git', 'cl', 'upload', '-f'],
1101 ['git', 'pull'], 1101 ['git', 'pull'],
1102 ['git', 'cl', 'dcommit', '-f'], 1102 ['git', 'cl', 'dcommit', '-f'],
1103 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv eldissue'], 1103 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv eldissue'],
1104 ['git', 'cl', 'set_close'],
1105 ]) 1104 ])
1106 1105
1107 # The mac ports should both be removed since they're the only ones i n builders._exact_matches. 1106 # The mac ports should both be removed since they're the only ones i n builders._exact_matches.
1108 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_ to_generic_test_expectations_file()), """ 1107 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_ to_generic_test_expectations_file()), """
1109 crbug.com/24182 [ Debug ] path/to/norebaseline.html [ Rebaseline ] 1108 crbug.com/24182 [ Debug ] path/to/norebaseline.html [ Rebaseline ]
1110 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ NeedsRebaseline ] 1109 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ NeedsRebaseline ]
1111 crbug.com/24182 [ Linux Win ] fast/dom/prototype-chocolate.html [ NeedsRebaselin e ] 1110 crbug.com/24182 [ Linux Win ] fast/dom/prototype-chocolate.html [ NeedsRebaselin e ]
1112 crbug.com/24182 path/to/not-cycled-through-bots.html [ NeedsRebaseline ] 1111 crbug.com/24182 path/to/not-cycled-through-bots.html [ NeedsRebaseline ]
1113 crbug.com/24182 path/to/locally-changed-lined.html [ NeedsRebaseline ] 1112 crbug.com/24182 path/to/locally-changed-lined.html [ NeedsRebaseline ]
1114 """) 1113 """)
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1153 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 1152 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1154 1153
1155 old_exact_matches = builders._exact_matches 1154 old_exact_matches = builders._exact_matches
1156 try: 1155 try:
1157 builders._exact_matches = { 1156 builders._exact_matches = {
1158 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci fiers": set(["mock-specifier"])}, 1157 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci fiers": set(["mock-specifier"])},
1159 } 1158 }
1160 1159
1161 self.command.SECONDS_BEFORE_GIVING_UP = 0 1160 self.command.SECONDS_BEFORE_GIVING_UP = 0
1162 self.command.tree_status = lambda: 'open' 1161 self.command.tree_status = lambda: 'open'
1163 self.tool.executive = MockExecutive( 1162 self.tool.executive = MockExecutive()
1164 should_return_zero_when_run=set(self.SVN_REMOTE_CMD))
1165 self.tool.executive.calls = [] 1163 self.tool.executive.calls = []
1166 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool) 1164 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool)
1167 1165
1168 self.assertEqual(self.tool.executive.calls, [ 1166 self.assertEqual(self.tool.executive.calls, [
1169 self.SVN_REMOTE_CMD,
1170 [ 1167 [
1171 ['python', 'echo', 'copy-existing-baselines-internal', '--su ffixes', 'txt', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-t aco.html'], 1168 ['python', 'echo', 'copy-existing-baselines-internal', '--su ffixes', 'txt', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-t aco.html'],
1172 ], 1169 ],
1173 [ 1170 [
1174 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-taco.html '], 1171 ['python', 'echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'MOCK SnowLeopard', '--test', 'fast/dom/prototype-taco.html '],
1175 ], 1172 ],
1176 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '-- suffixes', 'txt', 'fast/dom/prototype-taco.html']], 1173 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '-- suffixes', 'txt', 'fast/dom/prototype-taco.html']],
1177 ['git', 'cl', 'upload', '-f'], 1174 ['git', 'cl', 'upload', '-f'],
1178 ]) 1175 ])
1179 finally: 1176 finally:
(...skipping 27 matching lines...) Expand all
1207 return self.command._builder_data 1204 return self.command._builder_data
1208 1205
1209 self.command.builder_data = builder_data 1206 self.command.builder_data = builder_data
1210 1207
1211 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """ 1208 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
1212 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] 1209 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ]
1213 """) 1210 """)
1214 1211
1215 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 1212 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1216 1213
1217 self.tool.executive = MockLineRemovingExecutive( 1214 self.tool.executive = MockLineRemovingExecutive()
1218 should_return_zero_when_run=set(self.SVN_REMOTE_CMD))
1219 1215
1220 old_exact_matches = builders._exact_matches 1216 old_exact_matches = builders._exact_matches
1221 try: 1217 try:
1222 builders._exact_matches = { 1218 builders._exact_matches = {
1223 "MOCK Leopard": {"port_name": "test-mac-leopard", "specifiers": set(["mock-specifier"])}, 1219 "MOCK Leopard": {"port_name": "test-mac-leopard", "specifiers": set(["mock-specifier"])},
1224 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci fiers": set(["mock-specifier"])}, 1220 "MOCK SnowLeopard": {"port_name": "test-mac-snowleopard", "speci fiers": set(["mock-specifier"])},
1225 } 1221 }
1226 1222
1227 self.command.tree_status = lambda: 'open' 1223 self.command.tree_status = lambda: 'open'
1228 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool) 1224 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool)
1229 self.assertEqual(self.tool.executive.calls, [ 1225 self.assertEqual(self.tool.executive.calls, [
1230 self.SVN_REMOTE_CMD,
1231 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '-- suffixes', '', 'fast/dom/prototype-taco.html']], 1226 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '-- suffixes', '', 'fast/dom/prototype-taco.html']],
1232 ['git', 'cl', 'upload', '-f'], 1227 ['git', 'cl', 'upload', '-f'],
1233 ['git', 'pull'], 1228 ['git', 'pull'],
1234 ['git', 'cl', 'dcommit', '-f'], 1229 ['git', 'cl', 'dcommit', '-f'],
1235 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv eldissue'], 1230 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv eldissue'],
1236 ['git', 'cl', 'set_close'],
1237 ]) 1231 ])
1238 1232
1239 # The mac ports should both be removed since they're the only ones i n builders._exact_matches. 1233 # The mac ports should both be removed since they're the only ones i n builders._exact_matches.
1240 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_ to_generic_test_expectations_file()), """ 1234 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_ to_generic_test_expectations_file()), """
1241 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ NeedsRebaseline ] 1235 Bug(foo) [ Linux Win ] fast/dom/prototype-taco.html [ NeedsRebaseline ]
1242 """) 1236 """)
1243 finally: 1237 finally:
1244 builders._exact_matches = old_exact_matches 1238 builders._exact_matches = old_exact_matches
1245 1239
1246 def test_execute_setup_git_svn(self):
1247 def blame(path):
1248 return """
1249 6469e754a1 path/to/TestExpectations (foobarbaz1@chromium.org 2 013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsReba seline ]
1250 """
1251 self.tool.scm().blame = blame
1252
1253 test_port = self._setup_test_port()
1254
1255 old_builder_data = self.command.builder_data
1256
1257 def builder_data():
1258 self.command._builder_data['MOCK Win'] = LayoutTestResults.results_f rom_string("""ADD_RESULTS({
1259 "tests": {
1260 "fast": {
1261 "dom": {
1262 "prototype-taco.html": {
1263 "expected": "FAIL",
1264 "actual": "PASS",
1265 "is_unexpected": true
1266 }
1267 }
1268 }
1269 }
1270 });""")
1271 return self.command._builder_data
1272
1273 self.command.builder_data = builder_data
1274
1275 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
1276 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ]
1277 """)
1278
1279 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1280
1281 self.tool.executive = MockLineRemovingExecutive()
1282
1283 old_exact_matches = builders._exact_matches
1284 try:
1285 builders._exact_matches = {
1286 "MOCK Win": {"port_name": "test-win-win7", "specifiers": set(["m ock-specifier"])},
1287 }
1288
1289 self.command.tree_status = lambda: 'open'
1290 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool)
1291 self.assertEqual(self.tool.executive.calls, [
1292 self.SVN_REMOTE_CMD,
1293 ['git', 'auto-svn'],
1294 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '-- suffixes', '', 'fast/dom/prototype-taco.html']],
1295 ['git', 'cl', 'upload', '-f'],
1296 ['git', 'pull'],
1297 ['git', 'cl', 'dcommit', '-f'],
1298 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv eldissue'],
1299 ])
1300
1301 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_ to_generic_test_expectations_file()), """
1302 Bug(foo) [ Linux Mac XP ] fast/dom/prototype-taco.html [ NeedsRebaseline ]
1303 """)
1304 finally:
1305 builders._exact_matches = old_exact_matches
1306
1307 def test_execute_use_alternate_rebaseline_branch(self): 1240 def test_execute_use_alternate_rebaseline_branch(self):
1308 def blame(path): 1241 def blame(path):
1309 return """ 1242 return """
1310 6469e754a1 path/to/TestExpectations (foobarbaz1@chromium.org 2 013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsReba seline ] 1243 6469e754a1 path/to/TestExpectations (foobarbaz1@chromium.org 2 013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsReba seline ]
1311 """ 1244 """
1312 self.tool.scm().blame = blame 1245 self.tool.scm().blame = blame
1313 1246
1314 test_port = self._setup_test_port() 1247 test_port = self._setup_test_port()
1315 1248
1316 old_builder_data = self.command.builder_data 1249 old_builder_data = self.command.builder_data
(...skipping 15 matching lines...) Expand all
1332 return self.command._builder_data 1265 return self.command._builder_data
1333 1266
1334 self.command.builder_data = builder_data 1267 self.command.builder_data = builder_data
1335 1268
1336 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """ 1269 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
1337 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] 1270 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ]
1338 """) 1271 """)
1339 1272
1340 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 1273 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1341 1274
1342 self.tool.executive = MockLineRemovingExecutive( 1275 self.tool.executive = MockLineRemovingExecutive()
1343 should_return_zero_when_run=set(self.SVN_REMOTE_CMD))
1344 1276
1345 old_exact_matches = builders._exact_matches 1277 old_exact_matches = builders._exact_matches
1346 try: 1278 try:
1347 builders._exact_matches = { 1279 builders._exact_matches = {
1348 "MOCK Win": {"port_name": "test-win-win7", "specifiers": set(["m ock-specifier"])}, 1280 "MOCK Win": {"port_name": "test-win-win7", "specifiers": set(["m ock-specifier"])},
1349 } 1281 }
1350 1282
1351 self.command.tree_status = lambda: 'open' 1283 self.command.tree_status = lambda: 'open'
1352 webkitpy.tool.commands.rebaseline._get_branch_name_or_ref = lambda x : 'auto-rebaseline-temporary-branch' 1284 webkitpy.tool.commands.rebaseline._get_branch_name_or_ref = lambda x : 'auto-rebaseline-temporary-branch'
1353 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool) 1285 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool)
1354 self.assertEqual(self.tool.executive.calls, [ 1286 self.assertEqual(self.tool.executive.calls, [
1355 self.SVN_REMOTE_CMD,
1356 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '-- suffixes', '', 'fast/dom/prototype-taco.html']], 1287 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '-- suffixes', '', 'fast/dom/prototype-taco.html']],
1357 ['git', 'cl', 'upload', '-f'], 1288 ['git', 'cl', 'upload', '-f'],
1358 ['git', 'pull'], 1289 ['git', 'pull'],
1359 ['git', 'cl', 'dcommit', '-f'], 1290 ['git', 'cl', 'dcommit', '-f'],
1360 ['git', 'config', 'branch.auto-rebaseline-alt-temporary-branch.r ietveldissue'], 1291 ['git', 'config', 'branch.auto-rebaseline-alt-temporary-branch.r ietveldissue'],
1361 ['git', 'cl', 'set_close'],
1362 ]) 1292 ])
1363 1293
1364 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_ to_generic_test_expectations_file()), """ 1294 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_ to_generic_test_expectations_file()), """
1365 Bug(foo) [ Linux Mac XP ] fast/dom/prototype-taco.html [ NeedsRebaseline ] 1295 Bug(foo) [ Linux Mac XP ] fast/dom/prototype-taco.html [ NeedsRebaseline ]
1366 """) 1296 """)
1367 finally: 1297 finally:
1368 builders._exact_matches = old_exact_matches 1298 builders._exact_matches = old_exact_matches
1369 1299
1370 def test_execute_stuck_on_alternate_rebaseline_branch(self): 1300 def test_execute_stuck_on_alternate_rebaseline_branch(self):
1371 def blame(path): 1301 def blame(path):
(...skipping 23 matching lines...) Expand all
1395 return self.command._builder_data 1325 return self.command._builder_data
1396 1326
1397 self.command.builder_data = builder_data 1327 self.command.builder_data = builder_data
1398 1328
1399 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """ 1329 self.tool.filesystem.write_text_file(test_port.path_to_generic_test_expe ctations_file(), """
1400 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ] 1330 Bug(foo) fast/dom/prototype-taco.html [ NeedsRebaseline ]
1401 """) 1331 """)
1402 1332
1403 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents") 1333 self._write_test_file(test_port, 'fast/dom/prototype-taco.html', "Dummy test contents")
1404 1334
1405 self.tool.executive = MockLineRemovingExecutive( 1335 self.tool.executive = MockLineRemovingExecutive()
1406 should_return_zero_when_run=set(self.SVN_REMOTE_CMD))
1407 1336
1408 old_exact_matches = builders._exact_matches 1337 old_exact_matches = builders._exact_matches
1409 try: 1338 try:
1410 builders._exact_matches = { 1339 builders._exact_matches = {
1411 "MOCK Win": {"port_name": "test-win-win7", "specifiers": set(["m ock-specifier"])}, 1340 "MOCK Win": {"port_name": "test-win-win7", "specifiers": set(["m ock-specifier"])},
1412 } 1341 }
1413 1342
1414 self.command.tree_status = lambda: 'open' 1343 self.command.tree_status = lambda: 'open'
1415 webkitpy.tool.commands.rebaseline._get_branch_name_or_ref = lambda x : 'auto-rebaseline-alt-temporary-branch' 1344 webkitpy.tool.commands.rebaseline._get_branch_name_or_ref = lambda x : 'auto-rebaseline-alt-temporary-branch'
1416 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool) 1345 self.command.execute(MockOptions(optimize=True, verbose=False, resul ts_directory=False), [], self.tool)
1417 self.assertEqual(self.tool.executive.calls, [ 1346 self.assertEqual(self.tool.executive.calls, [
1418 self.SVN_REMOTE_CMD,
1419 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '-- suffixes', '', 'fast/dom/prototype-taco.html']], 1347 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '-- suffixes', '', 'fast/dom/prototype-taco.html']],
1420 ['git', 'cl', 'upload', '-f'], 1348 ['git', 'cl', 'upload', '-f'],
1421 ['git', 'pull'], 1349 ['git', 'pull'],
1422 ['git', 'cl', 'dcommit', '-f'], 1350 ['git', 'cl', 'dcommit', '-f'],
1423 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv eldissue'], 1351 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv eldissue'],
1424 ['git', 'cl', 'set_close'],
1425 ]) 1352 ])
1426 1353
1427 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_ to_generic_test_expectations_file()), """ 1354 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_ to_generic_test_expectations_file()), """
1428 Bug(foo) [ Linux Mac XP ] fast/dom/prototype-taco.html [ NeedsRebaseline ] 1355 Bug(foo) [ Linux Mac XP ] fast/dom/prototype-taco.html [ NeedsRebaseline ]
1429 """) 1356 """)
1430 finally: 1357 finally:
1431 builders._exact_matches = old_exact_matches 1358 builders._exact_matches = old_exact_matches
1432 1359
1433 1360
1434 class TestRebaselineOMatic(_BaseTestCase): 1361 class TestRebaselineOMatic(_BaseTestCase):
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1472 oc.capture_output() 1399 oc.capture_output()
1473 self.command._do_one_rebaseline() 1400 self.command._do_one_rebaseline()
1474 out, _, _ = oc.restore_output() 1401 out, _, _ = oc.restore_output()
1475 1402
1476 self.assertEqual(out, 'MOCK STDOUT\n') 1403 self.assertEqual(out, 'MOCK STDOUT\n')
1477 self.assertEqual(self.tool.executive.calls, [ 1404 self.assertEqual(self.tool.executive.calls, [
1478 ['git', 'pull'], 1405 ['git', 'pull'],
1479 ['/mock-checkout/third_party/WebKit/Tools/Scripts/webkit-patch', 'au to-rebaseline', '--verbose'], 1406 ['/mock-checkout/third_party/WebKit/Tools/Scripts/webkit-patch', 'au to-rebaseline', '--verbose'],
1480 ]) 1407 ])
1481 self.assertEqual(self._logs, ['MOCK STDOUT']) 1408 self.assertEqual(self._logs, ['MOCK STDOUT'])
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