Changeset 90542 in webkit
- Timestamp:
- Jul 6, 2011 11:19:21 PM (13 years ago)
- Location:
- trunk/Tools
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r90539 r90542 1 2011-07-06 Adam Barth <abarth@webkit.org> 2 3 Wean rebaseline-server off unexpected_results.json 4 https://bugs.webkit.org/show_bug.cgi?id=64063 5 6 Reviewed by Eric Seidel. 7 8 In the process of changing this code to use full_results.json, I 9 noticed that the code was broken (because it wasn't tested). This 10 patch also adds test coverage for the broken code. 11 12 * Scripts/webkitpy/tool/commands/rebaselineserver.py: 13 * Scripts/webkitpy/tool/servers/rebaselineserver.py: 14 * Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py: 15 1 16 2011-07-06 Adam Barth <abarth@webkit.org> 2 17 -
trunk/Tools/Scripts/webkitpy/tool/commands/rebaselineserver.py
r90410 r90542 35 35 36 36 from webkitpy.common import system 37 from webkitpy.common.net import resultsjsonparser37 from webkitpy.common.net.resultsjsonparser import for_each_test, JSONTestResult 38 38 from webkitpy.layout_tests.layout_package import json_results_generator 39 39 from webkitpy.layout_tests.port import factory 40 40 from webkitpy.tool.commands.abstractlocalservercommand import AbstractLocalServerCommand 41 from webkitpy.tool.servers.rebaselineserver import RebaselineHTTPServer, STATE_NEEDS_REBASELINE41 from webkitpy.tool.servers.rebaselineserver import get_test_baselines, RebaselineHTTPServer, STATE_NEEDS_REBASELINE 42 42 43 43 … … 59 59 server = RebaselineHTTPServer 60 60 61 def _gather_baselines(self, results_json): 62 # Rebaseline server and it's associated JavaScript expected the tests subtree to 63 # be key-value pairs instead of hierarchical. 64 # FIXME: make the rebaseline server use the hierarchical tree. 65 new_tests_subtree = {} 66 67 def gather_baselines_for_test(test_name, result_dict): 68 result = JSONTestResult(test_name, result_dict) 69 if result.did_pass_or_run_as_expected(): 70 return 71 result_dict['state'] = STATE_NEEDS_REBASELINE 72 result_dict['baselines'] = get_test_baselines(test_name, self._test_config) 73 new_tests_subtree[test_name] = result_dict 74 75 for_each_test(results_json['tests'], gather_baselines_for_test) 76 results_json['tests'] = new_tests_subtree 77 61 78 def _prepare_config(self, options, args, tool): 62 79 results_directory = args[0] … … 65 82 66 83 print 'Parsing unexpected_results.json...' 67 results_json_path = filesystem.join(results_directory, ' unexpected_results.json')84 results_json_path = filesystem.join(results_directory, 'full_results.json') 68 85 results_json = json_results_generator.load_json(filesystem, results_json_path) 69 86 … … 71 88 layout_tests_directory = port.layout_tests_dir() 72 89 platforms = filesystem.listdir(filesystem.join(layout_tests_directory, 'platform')) 73 test_config = TestConfig(port, layout_tests_directory, results_directory, platforms, filesystem, scm)90 self._test_config = TestConfig(port, layout_tests_directory, results_directory, platforms, filesystem, scm) 74 91 75 92 print 'Gathering current baselines...' 76 # Rebaseline server and it's associated JavaScript expected the tests subtree to 77 # be key-value pairs instead of hierarchical. 78 # FIXME: make the rebaseline server use the hierarchical tree. 79 new_tests_subtree = {} 80 81 def gather_baselines(test, result): 82 result['state'] = STATE_NEEDS_REBASELINE 83 result['baselines'] = _get_test_baselines(test, test_config) 84 new_tests_subtree[test] = result 85 86 resultsjsonparser.for_each_test(results_json['tests'], gather_baselines) 87 results_json['tests'] = new_tests_subtree 93 self._gather_baselines(results_json) 88 94 89 95 return { 90 'test_config': test_config,96 'test_config': self._test_config, 91 97 "results_json": results_json, 92 98 "platforms_json": { -
trunk/Tools/Scripts/webkitpy/tool/servers/rebaselineserver.py
r90520 r90542 73 73 74 74 # If requested, move current baselines out 75 current_baselines = _get_test_baselines(test_file, test_config)75 current_baselines = get_test_baselines(test_file, test_config) 76 76 if baseline_target in current_baselines and baseline_move_to != 'none': 77 77 log(' Moving current %s baselines to %s' % … … 161 161 162 162 163 def _get_test_baselines(test_file, test_config):163 def get_test_baselines(test_file, test_config): 164 164 # FIXME: This seems like a hack. This only seems used to access the Port.expected_baselines logic. 165 165 class AllPlatformsPort(WebKitPort): -
trunk/Tools/Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py
r90506 r90542 29 29 import unittest 30 30 31 from webkitpy.common.net import resultsjsonparser_unittest 31 32 from webkitpy.common.system import filesystem_mock 33 from webkitpy.layout_tests.layout_package.json_results_generator import strip_json_wrapper 32 34 from webkitpy.layout_tests.port.webkit import WebKitPort 33 from webkitpy.tool.commands.rebaselineserver import TestConfig 35 import webkitpy.thirdparty.simplejson as simplejson 36 from webkitpy.tool.commands.rebaselineserver import TestConfig, RebaselineServer 34 37 from webkitpy.tool.mocktool import MockSCM 35 38 from webkitpy.tool.servers import rebaselineserver … … 202 205 ' Updated image-expected.png', 203 206 ]) 207 208 def test_gather_baselines(self): 209 example_json = resultsjsonparser_unittest.ResultsJSONParserTest._example_unexpected_results_json 210 results_json = simplejson.loads(strip_json_wrapper(example_json)) 211 server = RebaselineServer() 212 server._test_config = get_test_config() 213 server._gather_baselines(results_json) 214 self.assertEqual(results_json['tests']['svg/dynamic-updates/SVGFEDropShadowElement-dom-stdDeviation-attr.html']['state'], 'needs_rebaseline') 215 self.assertFalse('prototype-chocolate.html' in results_json['tests']) 204 216 205 217 def _assertRebaseline(self, test_files, results_files, test_name, baseline_target, baseline_move_to, expected_success, expected_log): … … 275 287 276 288 def _assertBaselines(self, test_files, test_name, expected_baselines): 277 actual_baselines = rebaselineserver. _get_test_baselines(test_name, get_test_config(test_files))289 actual_baselines = rebaselineserver.get_test_baselines(test_name, get_test_config(test_files)) 278 290 self.assertEqual(expected_baselines, actual_baselines) 279 291
Note: See TracChangeset
for help on using the changeset viewer.