Index: third_party/WebKit/Tools/Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py |
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py |
deleted file mode 100644 |
index a49d87319206e3af85f5df7bb8e3a81d8474979b..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/Tools/Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py |
+++ /dev/null |
@@ -1,317 +0,0 @@ |
-# Copyright (C) 2010 Google Inc. All rights reserved. |
-# |
-# Redistribution and use in source and binary forms, with or without |
-# modification, are permitted provided that the following conditions are |
-# met: |
-# |
-# * Redistributions of source code must retain the above copyright |
-# notice, this list of conditions and the following disclaimer. |
-# * Redistributions in binary form must reproduce the above |
-# copyright notice, this list of conditions and the following disclaimer |
-# in the documentation and/or other materials provided with the |
-# distribution. |
-# * Neither the name of Google Inc. nor the names of its |
-# contributors may be used to endorse or promote products derived from |
-# this software without specific prior written permission. |
-# |
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- |
-import json |
-import unittest |
- |
-from webkitpy.common.net import layouttestresults_unittest |
-from webkitpy.common.host_mock import MockHost |
-from webkitpy.layout_tests.layout_package.json_results_generator import strip_json_wrapper |
-from webkitpy.layout_tests.port.base import Port |
-from webkitpy.tool.commands.rebaselineserver import TestConfig, RebaselineServer |
-from webkitpy.tool.servers import rebaselineserver |
- |
- |
-class RebaselineTestTest(unittest.TestCase): |
- |
- def test_text_rebaseline_update(self): |
- self._assertRebaseline( |
- test_files=( |
- 'fast/text-expected.txt', |
- 'platform/mac/fast/text-expected.txt', |
- ), |
- results_files=( |
- 'fast/text-actual.txt', |
- ), |
- test_name='fast/text.html', |
- baseline_target='mac', |
- baseline_move_to='none', |
- expected_success=True, |
- expected_log=[ |
- 'Rebaselining fast/text...', |
- ' Updating baselines for mac', |
- ' Updated text-expected.txt', |
- ]) |
- |
- def test_text_rebaseline_new(self): |
- self._assertRebaseline( |
- test_files=( |
- 'fast/text-expected.txt', |
- ), |
- results_files=( |
- 'fast/text-actual.txt', |
- ), |
- test_name='fast/text.html', |
- baseline_target='mac', |
- baseline_move_to='none', |
- expected_success=True, |
- expected_log=[ |
- 'Rebaselining fast/text...', |
- ' Updating baselines for mac', |
- ' Updated text-expected.txt', |
- ]) |
- |
- def test_text_rebaseline_move_no_op_1(self): |
- self._assertRebaseline( |
- test_files=( |
- 'fast/text-expected.txt', |
- 'platform/win/fast/text-expected.txt', |
- ), |
- results_files=( |
- 'fast/text-actual.txt', |
- ), |
- test_name='fast/text.html', |
- baseline_target='mac', |
- baseline_move_to='mac-leopard', |
- expected_success=True, |
- expected_log=[ |
- 'Rebaselining fast/text...', |
- ' Updating baselines for mac', |
- ' Updated text-expected.txt', |
- ]) |
- |
- def test_text_rebaseline_move_no_op_2(self): |
- self._assertRebaseline( |
- test_files=( |
- 'fast/text-expected.txt', |
- 'platform/mac/fast/text-expected.checksum', |
- ), |
- results_files=( |
- 'fast/text-actual.txt', |
- ), |
- test_name='fast/text.html', |
- baseline_target='mac', |
- baseline_move_to='mac-leopard', |
- expected_success=True, |
- expected_log=[ |
- 'Rebaselining fast/text...', |
- ' Moving current mac baselines to mac-leopard', |
- ' No current baselines to move', |
- ' Updating baselines for mac', |
- ' Updated text-expected.txt', |
- ]) |
- |
- def test_text_rebaseline_move(self): |
- self._assertRebaseline( |
- test_files=( |
- 'fast/text-expected.txt', |
- 'platform/mac/fast/text-expected.txt', |
- ), |
- results_files=( |
- 'fast/text-actual.txt', |
- ), |
- test_name='fast/text.html', |
- baseline_target='mac', |
- baseline_move_to='mac-leopard', |
- expected_success=True, |
- expected_log=[ |
- 'Rebaselining fast/text...', |
- ' Moving current mac baselines to mac-leopard', |
- ' Moved text-expected.txt', |
- ' Updating baselines for mac', |
- ' Updated text-expected.txt', |
- ]) |
- |
- def test_text_rebaseline_move_only_images(self): |
- self._assertRebaseline( |
- test_files=( |
- 'fast/image-expected.txt', |
- 'platform/mac/fast/image-expected.txt', |
- 'platform/mac/fast/image-expected.png', |
- 'platform/mac/fast/image-expected.checksum', |
- ), |
- results_files=( |
- 'fast/image-actual.png', |
- 'fast/image-actual.checksum', |
- ), |
- test_name='fast/image.html', |
- baseline_target='mac', |
- baseline_move_to='mac-leopard', |
- expected_success=True, |
- expected_log=[ |
- 'Rebaselining fast/image...', |
- ' Moving current mac baselines to mac-leopard', |
- ' Moved image-expected.checksum', |
- ' Moved image-expected.png', |
- ' Updating baselines for mac', |
- ' Updated image-expected.checksum', |
- ' Updated image-expected.png', |
- ]) |
- |
- def test_text_rebaseline_move_already_exist(self): |
- self._assertRebaseline( |
- test_files=( |
- 'fast/text-expected.txt', |
- 'platform/mac-leopard/fast/text-expected.txt', |
- 'platform/mac/fast/text-expected.txt', |
- ), |
- results_files=( |
- 'fast/text-actual.txt', |
- ), |
- test_name='fast/text.html', |
- baseline_target='mac', |
- baseline_move_to='mac-leopard', |
- expected_success=False, |
- expected_log=[ |
- 'Rebaselining fast/text...', |
- ' Moving current mac baselines to mac-leopard', |
- ' Already had baselines in mac-leopard, could not move existing mac ones', |
- ]) |
- |
- def test_image_rebaseline(self): |
- self._assertRebaseline( |
- test_files=( |
- 'fast/image-expected.txt', |
- 'platform/mac/fast/image-expected.png', |
- 'platform/mac/fast/image-expected.checksum', |
- ), |
- results_files=( |
- 'fast/image-actual.png', |
- 'fast/image-actual.checksum', |
- ), |
- test_name='fast/image.html', |
- baseline_target='mac', |
- baseline_move_to='none', |
- expected_success=True, |
- expected_log=[ |
- 'Rebaselining fast/image...', |
- ' Updating baselines for mac', |
- ' Updated image-expected.checksum', |
- ' Updated image-expected.png', |
- ]) |
- |
- def test_gather_baselines(self): |
- example_json = layouttestresults_unittest.LayoutTestResultsTest.example_full_results_json |
- results_json = json.loads(strip_json_wrapper(example_json)) |
- server = RebaselineServer() |
- server._test_config = get_test_config() |
- server._gather_baselines(results_json) |
- self.assertEqual(results_json['tests'][ |
- 'svg/dynamic-updates/SVGFEDropShadowElement-dom-stdDeviation-attr.html']['state'], 'needs_rebaseline') |
- self.assertNotIn('prototype-chocolate.html', results_json['tests']) |
- |
- def _assertRebaseline(self, test_files, results_files, test_name, baseline_target, |
- baseline_move_to, expected_success, expected_log): |
- log = [] |
- test_config = get_test_config(test_files, results_files) |
- success = rebaselineserver._rebaseline_test( |
- test_name, |
- baseline_target, |
- baseline_move_to, |
- test_config, |
- log=lambda l: log.append(l)) |
- self.assertEqual(expected_log, log) |
- self.assertEqual(expected_success, success) |
- |
- |
-class GetActualResultFilesTest(unittest.TestCase): |
- |
- def test(self): |
- test_config = get_test_config(result_files=( |
- 'fast/text-actual.txt', |
- 'fast2/text-actual.txt', |
- 'fast/text2-actual.txt', |
- 'fast/text-notactual.txt', |
- )) |
- self.assertItemsEqual( |
- ('text-actual.txt',), |
- rebaselineserver._get_actual_result_files( |
- 'fast/text.html', test_config)) |
- |
- |
-class GetBaselinesTest(unittest.TestCase): |
- |
- def test_no_baselines(self): |
- self._assertBaselines( |
- test_files=(), |
- test_name='fast/missing.html', |
- expected_baselines={}) |
- |
- def test_text_baselines(self): |
- self._assertBaselines( |
- test_files=( |
- 'fast/text-expected.txt', |
- 'platform/mac/fast/text-expected.txt', |
- ), |
- test_name='fast/text.html', |
- expected_baselines={ |
- 'mac': {'.txt': True}, |
- 'base': {'.txt': False}, |
- }) |
- |
- def test_image_and_text_baselines(self): |
- self._assertBaselines( |
- test_files=( |
- 'fast/image-expected.txt', |
- 'platform/mac/fast/image-expected.png', |
- 'platform/mac/fast/image-expected.checksum', |
- 'platform/win/fast/image-expected.png', |
- 'platform/win/fast/image-expected.checksum', |
- ), |
- test_name='fast/image.html', |
- expected_baselines={ |
- 'base': {'.txt': True}, |
- 'mac': {'.checksum': True, '.png': True}, |
- 'win': {'.checksum': False, '.png': False}, |
- }) |
- |
- def test_extra_baselines(self): |
- self._assertBaselines( |
- test_files=( |
- 'fast/text-expected.txt', |
- 'platform/nosuchplatform/fast/text-expected.txt', |
- ), |
- test_name='fast/text.html', |
- expected_baselines={'base': {'.txt': True}}) |
- |
- def _assertBaselines(self, test_files, test_name, expected_baselines): |
- actual_baselines = rebaselineserver.get_test_baselines(test_name, get_test_config(test_files)) |
- self.assertEqual(expected_baselines, actual_baselines) |
- |
- |
-def get_test_config(test_files=[], result_files=[]): |
- host = MockHost() |
- port = host.port_factory.get() |
- layout_tests_directory = port.layout_tests_dir() |
- results_directory = port.results_directory() |
- |
- for file in test_files: |
- host.filesystem.write_binary_file(host.filesystem.join(layout_tests_directory, file), '') |
- for file in result_files: |
- host.filesystem.write_binary_file(host.filesystem.join(results_directory, file), '') |
- |
- class TestMacPort(Port): |
- port_name = "mac" |
- FALLBACK_PATHS = {'': ['mac']} |
- |
- return TestConfig( |
- TestMacPort(host, 'mac'), |
- layout_tests_directory, |
- results_directory, |
- ('mac', 'mac-leopard', 'win', 'linux'), |
- host) |