Changeset 90539 in webkit
- Timestamp:
- Jul 6, 2011 10:24:07 PM (13 years ago)
- Location:
- trunk/Tools
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r90538 r90539 1 2011-07-06 Adam Barth <abarth@webkit.org> 2 3 Wean resultsjsonparser off unexpected_results.json 4 https://bugs.webkit.org/show_bug.cgi?id=64061 5 6 Reviewed by Eric Seidel. 7 8 We're about to delete unexpected_results.json, so we need to remove all 9 the users. 10 11 * Scripts/webkitpy/common/config/ports.py: 12 * Scripts/webkitpy/common/net/resultsjsonparser.py: 13 * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py: 14 * Scripts/webkitpy/layout_tests/models/test_expectations.py: 15 1 16 2011-07-06 Adam Barth <abarth@webkit.org> 2 17 -
trunk/Tools/Scripts/webkitpy/common/config/ports.py
r89289 r90539 285 285 @classmethod 286 286 def layout_tests_results_path(cls): 287 return os.path.join(cls.results_directory, " unexpected_results.json")287 return os.path.join(cls.results_directory, "full_results.json") -
trunk/Tools/Scripts/webkitpy/common/net/resultsjsonparser.py
r90532 r90539 34 34 import webkitpy.thirdparty.simplejson as json 35 35 36 from webkitpy.common.memoized import memoized 36 37 # FIXME: common should never import from new-run-webkit-tests, one of these files needs to move. 37 38 from webkitpy.layout_tests.layout_package import json_results_generator … … 64 65 self._result_dict = result_dict 65 66 67 def did_pass_or_run_as_expected(self): 68 return self.did_pass() or self.did_run_as_expected() 69 66 70 def did_pass(self): 67 return test_expectations.PASS in self._actual_as_ expectations()71 return test_expectations.PASS in self._actual_as_tokens() 68 72 69 def _actual_as_expectations(self): 73 def did_run_as_expected(self): 74 actual_results = self._actual_as_tokens() 75 expected_results = self._expected_as_tokens() 76 for actual_result in actual_results: 77 if not test_expectations.result_was_expected(actual_result, expected_results, False, False): 78 return False 79 return True 80 81 def _tokenize(self, results_string): 82 tokens = map(test_expectations.TestExpectations.expectation_from_string, results_string.split(' ')) 83 if None in tokens: 84 log("Unrecognized result in %s" % results_string) 85 return tokens 86 87 @memoized 88 def _actual_as_tokens(self): 70 89 actual_results = self._result_dict['actual'] 71 expectations = map(test_expectations.TestExpectations.expectation_from_string, actual_results.split(' ')) 72 if None in expectations: 73 log("Unrecognized actual result in %s" % actual_results) 74 return expectations 90 return self._tokenize(actual_results) 91 92 @memoized 93 def _expected_as_tokens(self): 94 actual_results = self._result_dict['expected'] 95 return self._tokenize(actual_results) 75 96 76 97 def _failure_types_from_actual_result(self, actual): … … 101 122 if self.did_pass(): 102 123 return [] 103 return sum(map(self._failure_types_from_actual_result, self._actual_as_ expectations()), [])124 return sum(map(self._failure_types_from_actual_result, self._actual_as_tokens()), []) 104 125 105 126 def test_result(self): … … 109 130 110 131 class ResultsJSONParser(object): 111 """Parse unexpected_results.json files from new-run-webkit-tests112 This will not parse the old results.json format."""113 114 132 @classmethod 115 133 def parse_results_json(cls, json_string): … … 125 143 # FIXME: What's the short sexy python way to filter None? 126 144 # I would use [foo.bar() for foo in foos if foo.bar()] but bar() is expensive. 127 non_passing_results = [result.test_result() for result in json_results if not result.did_pass()]128 return filter(lambda a: a, non_passing_results)145 unexpected_failures = [result.test_result() for result in json_results if not result.did_pass_or_run_as_expected()] 146 return filter(lambda a: a, unexpected_failures) -
trunk/Tools/Scripts/webkitpy/common/net/resultsjsonparser_unittest.py
r90532 r90539 52 52 "actual": "PASS TEXT" 53 53 }, 54 "prototype-chocolate.html": { 55 "expected": "TEXT", 56 "actual": "TEXT" 57 }, 54 58 "prototype-strawberry.html": { 55 59 "expected": "PASS", -
trunk/Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py
r90534 r90539 52 52 53 53 54 def result_was_expected(result, expected_results, test_needs_rebaselining, 55 test_is_skipped): 54 def result_was_expected(result, expected_results, test_needs_rebaselining, test_is_skipped): 56 55 """Returns whether we got a result we were expecting. 57 56 Args: … … 196 195 'no expected results found')} 197 196 198 EXPECTATION_ORDER = (PASS, CRASH, TIMEOUT, MISSING, IMAGE_PLUS_TEXT, 199 TEXT, IMAGE, AUDIO, FAIL, SKIP) 197 EXPECTATION_ORDER = (PASS, CRASH, TIMEOUT, MISSING, IMAGE_PLUS_TEXT, TEXT, IMAGE, AUDIO, FAIL, SKIP) 200 198 201 199 BUILD_TYPES = ('debug', 'release')
Note: See TracChangeset
for help on using the changeset viewer.