| 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 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 240 def test_baseline_directory(self): | 240 def test_baseline_directory(self): |
| 241 command = self.command | 241 command = self.command |
| 242 self.assertMultiLineEqual(command._baseline_directory("WebKit Mac10.7"),
"/mock-checkout/third_party/WebKit/LayoutTests/platform/mac-lion") | 242 self.assertMultiLineEqual(command._baseline_directory("WebKit Mac10.7"),
"/mock-checkout/third_party/WebKit/LayoutTests/platform/mac-lion") |
| 243 self.assertMultiLineEqual(command._baseline_directory("WebKit Mac10.6"),
"/mock-checkout/third_party/WebKit/LayoutTests/platform/mac-snowleopard") | 243 self.assertMultiLineEqual(command._baseline_directory("WebKit Mac10.6"),
"/mock-checkout/third_party/WebKit/LayoutTests/platform/mac-snowleopard") |
| 244 self.assertMultiLineEqual(command._baseline_directory("WebKit Linux Trus
ty"), "/mock-checkout/third_party/WebKit/LayoutTests/platform/linux") | 244 self.assertMultiLineEqual(command._baseline_directory("WebKit Linux Trus
ty"), "/mock-checkout/third_party/WebKit/LayoutTests/platform/linux") |
| 245 self.assertMultiLineEqual(command._baseline_directory("WebKit Linux"), "
/mock-checkout/third_party/WebKit/LayoutTests/platform/linux-precise") | 245 self.assertMultiLineEqual(command._baseline_directory("WebKit Linux"), "
/mock-checkout/third_party/WebKit/LayoutTests/platform/linux-precise") |
| 246 self.assertMultiLineEqual(command._baseline_directory("WebKit Linux 32")
, "/mock-checkout/third_party/WebKit/LayoutTests/platform/linux-x86") | 246 self.assertMultiLineEqual(command._baseline_directory("WebKit Linux 32")
, "/mock-checkout/third_party/WebKit/LayoutTests/platform/linux-x86") |
| 247 | 247 |
| 248 def test_rebaseline_updates_expectations_file_noop(self): | 248 def test_rebaseline_updates_expectations_file_noop(self): |
| 249 self._zero_out_test_expectations() | 249 self._zero_out_test_expectations() |
| 250 self._write(self.lion_expectations_path, """Bug(B) [ Mac Linux XP Debug
] fast/dom/Window/window-postmessage-clone-really-deep-array.html [ Pass ] | 250 self._write(self.lion_expectations_path, """Bug(B) [ Mac Linux Win7 Debu
g ] fast/dom/Window/window-postmessage-clone-really-deep-array.html [ Pass ] |
| 251 Bug(A) [ Debug ] : fast/css/large-list-of-rules-crash.html [ Failure ] | 251 Bug(A) [ Debug ] : fast/css/large-list-of-rules-crash.html [ Failure ] |
| 252 """) | 252 """) |
| 253 self._write("fast/dom/Window/window-postmessage-clone-really-deep-array.
html", "Dummy test contents") | 253 self._write("fast/dom/Window/window-postmessage-clone-really-deep-array.
html", "Dummy test contents") |
| 254 self._write("fast/css/large-list-of-rules-crash.html", "Dummy test conte
nts") | 254 self._write("fast/css/large-list-of-rules-crash.html", "Dummy test conte
nts") |
| 255 self._write("userscripts/another-test.html", "Dummy test contents") | 255 self._write("userscripts/another-test.html", "Dummy test contents") |
| 256 | 256 |
| 257 self.options.suffixes = "png,wav,txt" | 257 self.options.suffixes = "png,wav,txt" |
| 258 self.command._rebaseline_test_and_update_expectations(self.options) | 258 self.command._rebaseline_test_and_update_expectations(self.options) |
| 259 | 259 |
| 260 self.assertItemsEqual(self.tool.web.urls_fetched, | 260 self.assertItemsEqual(self.tool.web.urls_fetched, |
| 261 [self.WEB_PREFIX + '/userscripts/another-test-actual.png', | 261 [self.WEB_PREFIX + '/userscripts/another-test-actual.png', |
| 262 self.WEB_PREFIX + '/userscripts/another-test-actual.wav', | 262 self.WEB_PREFIX + '/userscripts/another-test-actual.wav', |
| 263 self.WEB_PREFIX + '/userscripts/another-test-actual.txt']) | 263 self.WEB_PREFIX + '/userscripts/another-test-actual.txt']) |
| 264 new_expectations = self._read(self.lion_expectations_path) | 264 new_expectations = self._read(self.lion_expectations_path) |
| 265 self.assertMultiLineEqual(new_expectations, """Bug(B) [ Mac Linux XP Deb
ug ] fast/dom/Window/window-postmessage-clone-really-deep-array.html [ Pass ] | 265 self.assertMultiLineEqual(new_expectations, """Bug(B) [ Mac Linux Win7 D
ebug ] fast/dom/Window/window-postmessage-clone-really-deep-array.html [ Pass ] |
| 266 Bug(A) [ Debug ] : fast/css/large-list-of-rules-crash.html [ Failure ] | 266 Bug(A) [ Debug ] : fast/css/large-list-of-rules-crash.html [ Failure ] |
| 267 """) | 267 """) |
| 268 | 268 |
| 269 def test_rebaseline_test(self): | 269 def test_rebaseline_test(self): |
| 270 self.command._rebaseline_test("WebKit Linux Trusty", "userscripts/anothe
r-test.html", "txt", self.WEB_PREFIX) | 270 self.command._rebaseline_test("WebKit Linux Trusty", "userscripts/anothe
r-test.html", "txt", self.WEB_PREFIX) |
| 271 self.assertItemsEqual(self.tool.web.urls_fetched, [self.WEB_PREFIX + '/u
serscripts/another-test-actual.txt']) | 271 self.assertItemsEqual(self.tool.web.urls_fetched, [self.WEB_PREFIX + '/u
serscripts/another-test-actual.txt']) |
| 272 | 272 |
| 273 def test_rebaseline_test_with_results_directory(self): | 273 def test_rebaseline_test_with_results_directory(self): |
| 274 self._write("userscripts/another-test.html", "test data") | 274 self._write("userscripts/another-test.html", "test data") |
| 275 self._write(self.lion_expectations_path, "Bug(x) [ Mac ] userscripts/ano
ther-test.html [ Failure ]\nbug(z) [ Linux ] userscripts/another-test.html [ Fai
lure ]\n") | 275 self._write(self.lion_expectations_path, "Bug(x) [ Mac ] userscripts/ano
ther-test.html [ Failure ]\nbug(z) [ Linux ] userscripts/another-test.html [ Fai
lure ]\n") |
| (...skipping 15 matching lines...) Expand all Loading... |
| 291 | 291 |
| 292 self.command._rebaseline_test("WebKit Linux Trusty", "userscripts/anothe
r-test.html", "txt", None) | 292 self.command._rebaseline_test("WebKit Linux Trusty", "userscripts/anothe
r-test.html", "txt", None) |
| 293 | 293 |
| 294 self.assertDictEqual(self.command._scm_changes, {'add': ['/mock-checkout
/third_party/WebKit/LayoutTests/platform/linux/userscripts/another-test-expected
.txt'], 'delete': []}) | 294 self.assertDictEqual(self.command._scm_changes, {'add': ['/mock-checkout
/third_party/WebKit/LayoutTests/platform/linux/userscripts/another-test-expected
.txt'], 'delete': []}) |
| 295 | 295 |
| 296 def test_rebaseline_test_internal_with_port_that_lacks_buildbot(self): | 296 def test_rebaseline_test_internal_with_port_that_lacks_buildbot(self): |
| 297 self.tool.executive = MockExecutive2() | 297 self.tool.executive = MockExecutive2() |
| 298 | 298 |
| 299 # FIXME: it's confusing that this is the test- port, and not the regular
win port. Really all of the tests should be using the test ports. | 299 # FIXME: it's confusing that this is the test- port, and not the regular
win port. Really all of the tests should be using the test ports. |
| 300 port = self.tool.port_factory.get('test-win-win7') | 300 port = self.tool.port_factory.get('test-win-win7') |
| 301 self._write(port._filesystem.join(port.layout_tests_dir(), 'platform/tes
t-win-win7/failures/expected/image-expected.txt'), 'original win7 result') | 301 self._write(port._filesystem.join(port.layout_tests_dir(), 'platform/tes
t-win-win10/failures/expected/image-expected.txt'), 'original win10 result') |
| 302 | 302 |
| 303 old_exact_matches = builders._exact_matches | 303 old_exact_matches = builders._exact_matches |
| 304 oc = OutputCapture() | 304 oc = OutputCapture() |
| 305 try: | 305 try: |
| 306 builders._exact_matches = { | 306 builders._exact_matches = { |
| 307 "MOCK XP": {"port_name": "test-win-xp"}, | |
| 308 "MOCK Win7": {"port_name": "test-win-win7"}, | 307 "MOCK Win7": {"port_name": "test-win-win7"}, |
| 308 "MOCK Win10": {"port_name": "test-win-win10"}, |
| 309 } | 309 } |
| 310 | 310 |
| 311 options = MockOptions(optimize=True, builder="MOCK Win7", suffixes="
txt", | 311 options = MockOptions(optimize=True, builder="MOCK Win10", suffixes=
"txt", |
| 312 verbose=True, test="failures/expected/image.html", results_direc
tory=None) | 312 verbose=True, test="failures/expected/image.html", results_direc
tory=None) |
| 313 | 313 |
| 314 oc.capture_output() | 314 oc.capture_output() |
| 315 self.command.execute(options, [], self.tool) | 315 self.command.execute(options, [], self.tool) |
| 316 finally: | 316 finally: |
| 317 out, _, _ = oc.restore_output() | 317 out, _, _ = oc.restore_output() |
| 318 builders._exact_matches = old_exact_matches | 318 builders._exact_matches = old_exact_matches |
| 319 | 319 |
| 320 self.assertMultiLineEqual(self._read(self.tool.filesystem.join(port.layo
ut_tests_dir(), 'platform/test-win-win7/failures/expected/image-expected.txt')),
'MOCK Web result, convert 404 to None=True') | 320 self.assertMultiLineEqual(self._read(self.tool.filesystem.join(port.layo
ut_tests_dir(), 'platform/test-win-win10/failures/expected/image-expected.txt'))
, 'MOCK Web result, convert 404 to None=True') |
| 321 self.assertFalse(self.tool.filesystem.exists(self.tool.filesystem.join(p
ort.layout_tests_dir(), 'platform/test-win-xp/failures/expected/image-expected.t
xt'))) | 321 self.assertFalse(self.tool.filesystem.exists(self.tool.filesystem.join(p
ort.layout_tests_dir(), 'platform/test-win-win7/failures/expected/image-expected
.txt'))) |
| 322 self.assertMultiLineEqual(out, '{"add": [], "remove-lines": [{"test": "f
ailures/expected/image.html", "builder": "MOCK Win7"}], "delete": []}\n') | 322 self.assertMultiLineEqual(out, '{"add": [], "remove-lines": [{"test": "f
ailures/expected/image.html", "builder": "MOCK Win10"}], "delete": []}\n') |
| 323 | 323 |
| 324 | 324 |
| 325 class TestAbstractParallelRebaselineCommand(_BaseTestCase): | 325 class TestAbstractParallelRebaselineCommand(_BaseTestCase): |
| 326 command_constructor = AbstractParallelRebaselineCommand | 326 command_constructor = AbstractParallelRebaselineCommand |
| 327 | 327 |
| 328 def test_builders_to_fetch_from(self): | 328 def test_builders_to_fetch_from(self): |
| 329 old_exact_matches = builders._exact_matches | 329 old_exact_matches = builders._exact_matches |
| 330 try: | 330 try: |
| 331 builders._exact_matches = { | 331 builders._exact_matches = { |
| 332 "MOCK XP": {"port_name": "test-win-xp"}, | 332 "MOCK Win10": {"port_name": "test-win-win10"}, |
| 333 "MOCK Win7": {"port_name": "test-win-win7"}, | 333 "MOCK Win7": {"port_name": "test-win-win7"}, |
| 334 "MOCK Win7 (dbg)(1)": {"port_name": "test-win-win7"}, | 334 "MOCK Win7 (dbg)(1)": {"port_name": "test-win-win7"}, |
| 335 "MOCK Win7 (dbg)(2)": {"port_name": "test-win-win7"}, | 335 "MOCK Win7 (dbg)(2)": {"port_name": "test-win-win7"}, |
| 336 } | 336 } |
| 337 | 337 |
| 338 builders_to_fetch = self.command._builders_to_fetch_from(["MOCK XP",
"MOCK Win7 (dbg)(1)", "MOCK Win7 (dbg)(2)", "MOCK Win7"]) | 338 builders_to_fetch = self.command._builders_to_fetch_from(["MOCK Win1
0", "MOCK Win7 (dbg)(1)", "MOCK Win7 (dbg)(2)", "MOCK Win7"]) |
| 339 self.assertEqual(builders_to_fetch, ["MOCK XP", "MOCK Win7"]) | 339 self.assertEqual(builders_to_fetch, ["MOCK Win7", "MOCK Win10"]) |
| 340 finally: | 340 finally: |
| 341 builders._exact_matches = old_exact_matches | 341 builders._exact_matches = old_exact_matches |
| 342 | 342 |
| 343 | 343 |
| 344 class TestRebaselineJson(_BaseTestCase): | 344 class TestRebaselineJson(_BaseTestCase): |
| 345 command_constructor = RebaselineJson | 345 command_constructor = RebaselineJson |
| 346 | 346 |
| 347 def setUp(self): | 347 def setUp(self): |
| 348 super(TestRebaselineJson, self).setUp() | 348 super(TestRebaselineJson, self).setUp() |
| 349 self.tool.executive = MockExecutive2() | 349 self.tool.executive = MockExecutive2() |
| (...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1287 self.command.execute(MockOptions(optimize=True, verbose=False, resul
ts_directory=False, auth_refresh_token_json=None), [], self.tool) | 1287 self.command.execute(MockOptions(optimize=True, verbose=False, resul
ts_directory=False, auth_refresh_token_json=None), [], self.tool) |
| 1288 self.assertEqual(self.tool.executive.calls, [ | 1288 self.assertEqual(self.tool.executive.calls, [ |
| 1289 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--
suffixes', '', 'fast/dom/prototype-taco.html']], | 1289 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--
suffixes', '', 'fast/dom/prototype-taco.html']], |
| 1290 ['git', 'cl', 'upload', '-f'], | 1290 ['git', 'cl', 'upload', '-f'], |
| 1291 ['git', 'pull'], | 1291 ['git', 'pull'], |
| 1292 ['git', 'cl', 'land', '-f', '-v'], | 1292 ['git', 'cl', 'land', '-f', '-v'], |
| 1293 ['git', 'config', 'branch.auto-rebaseline-alt-temporary-branch.r
ietveldissue'], | 1293 ['git', 'config', 'branch.auto-rebaseline-alt-temporary-branch.r
ietveldissue'], |
| 1294 ]) | 1294 ]) |
| 1295 | 1295 |
| 1296 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_
to_generic_test_expectations_file()), """ | 1296 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_
to_generic_test_expectations_file()), """ |
| 1297 Bug(foo) [ Linux Mac XP ] fast/dom/prototype-taco.html [ NeedsRebaseline ] | 1297 Bug(foo) [ Linux Mac Win10 ] fast/dom/prototype-taco.html [ NeedsRebaseline ] |
| 1298 """) | 1298 """) |
| 1299 finally: | 1299 finally: |
| 1300 builders._exact_matches = old_exact_matches | 1300 builders._exact_matches = old_exact_matches |
| 1301 webkitpy.tool.commands.rebaseline._get_branch_name_or_ref = old_bran
ch_name | 1301 webkitpy.tool.commands.rebaseline._get_branch_name_or_ref = old_bran
ch_name |
| 1302 | 1302 |
| 1303 def test_execute_stuck_on_alternate_rebaseline_branch(self): | 1303 def test_execute_stuck_on_alternate_rebaseline_branch(self): |
| 1304 def blame(path): | 1304 def blame(path): |
| 1305 return """ | 1305 return """ |
| 1306 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org>
2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe
baseline ] | 1306 6469e754a1 path/to/TestExpectations (<foobarbaz1@chromium.org>
2013-04-28 04:52:41 +0000 13) Bug(foo) fast/dom/prototype-taco.html [ NeedsRe
baseline ] |
| 1307 """ | 1307 """ |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1349 self.command.execute(MockOptions(optimize=True, verbose=False, resul
ts_directory=False, auth_refresh_token_json=None), [], self.tool) | 1349 self.command.execute(MockOptions(optimize=True, verbose=False, resul
ts_directory=False, auth_refresh_token_json=None), [], self.tool) |
| 1350 self.assertEqual(self.tool.executive.calls, [ | 1350 self.assertEqual(self.tool.executive.calls, [ |
| 1351 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--
suffixes', '', 'fast/dom/prototype-taco.html']], | 1351 [['python', 'echo', 'optimize-baselines', '--no-modify-scm', '--
suffixes', '', 'fast/dom/prototype-taco.html']], |
| 1352 ['git', 'cl', 'upload', '-f'], | 1352 ['git', 'cl', 'upload', '-f'], |
| 1353 ['git', 'pull'], | 1353 ['git', 'pull'], |
| 1354 ['git', 'cl', 'land', '-f', '-v'], | 1354 ['git', 'cl', 'land', '-f', '-v'], |
| 1355 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv
eldissue'], | 1355 ['git', 'config', 'branch.auto-rebaseline-temporary-branch.rietv
eldissue'], |
| 1356 ]) | 1356 ]) |
| 1357 | 1357 |
| 1358 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_
to_generic_test_expectations_file()), """ | 1358 self.assertEqual(self.tool.filesystem.read_text_file(test_port.path_
to_generic_test_expectations_file()), """ |
| 1359 Bug(foo) [ Linux Mac XP ] fast/dom/prototype-taco.html [ NeedsRebaseline ] | 1359 Bug(foo) [ Linux Mac Win10 ] fast/dom/prototype-taco.html [ NeedsRebaseline ] |
| 1360 """) | 1360 """) |
| 1361 finally: | 1361 finally: |
| 1362 builders._exact_matches = old_exact_matches | 1362 builders._exact_matches = old_exact_matches |
| 1363 webkitpy.tool.commands.rebaseline._get_branch_name_or_ref = old_bran
ch_name | 1363 webkitpy.tool.commands.rebaseline._get_branch_name_or_ref = old_bran
ch_name |
| 1364 | 1364 |
| 1365 def test_execute_with_rietveld_auth_refresh_token(self): | 1365 def test_execute_with_rietveld_auth_refresh_token(self): |
| 1366 RIETVELD_REFRESH_TOKEN = '/creds/refresh_tokens/test_rietveld_token' | 1366 RIETVELD_REFRESH_TOKEN = '/creds/refresh_tokens/test_rietveld_token' |
| 1367 | 1367 |
| 1368 def blame(path): | 1368 def blame(path): |
| 1369 return """ | 1369 return """ |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1467 oc.capture_output() | 1467 oc.capture_output() |
| 1468 self.command._do_one_rebaseline() | 1468 self.command._do_one_rebaseline() |
| 1469 out, _, _ = oc.restore_output() | 1469 out, _, _ = oc.restore_output() |
| 1470 | 1470 |
| 1471 self.assertEqual(out, 'MOCK STDOUT\n') | 1471 self.assertEqual(out, 'MOCK STDOUT\n') |
| 1472 self.assertEqual(self.tool.executive.calls, [ | 1472 self.assertEqual(self.tool.executive.calls, [ |
| 1473 ['git', 'pull'], | 1473 ['git', 'pull'], |
| 1474 ['/mock-checkout/third_party/WebKit/Tools/Scripts/webkit-patch', 'au
to-rebaseline', '--verbose'], | 1474 ['/mock-checkout/third_party/WebKit/Tools/Scripts/webkit-patch', 'au
to-rebaseline', '--verbose'], |
| 1475 ]) | 1475 ]) |
| 1476 self.assertEqual(self._logs, ['MOCK STDOUT']) | 1476 self.assertEqual(self._logs, ['MOCK STDOUT']) |
| OLD | NEW |