Changeset 129148 in webkit
- Timestamp:
- Sep 20, 2012 11:41:46 AM (12 years ago)
- Location:
- trunk/Tools
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r129145 r129148 1 2012-09-20 Dirk Pranke <dpranke@chromium.org> 2 3 REGRESSION: layout test results doesn't show diffs 4 https://bugs.webkit.org/show_bug.cgi?id=97182 5 6 Reviewed by Ojan Vafai. 7 8 Go back to storing TEXT, AUDIO, and IMAGE+TEXT in results.json 9 so that results.html (and hopefully garden-o-matic) can 10 determine which things actually failed. However, we keep mapping 11 these results to Failure so that we still only have a single 12 expectation type for them. 13 14 * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: 15 (JSONLayoutResultsGenerator): 16 * Scripts/webkitpy/layout_tests/models/test_expectations.py: 17 (TestExpectationParser): 18 (TestExpectations): 19 (TestExpectations.result_was_expected): 20 * Scripts/webkitpy/layout_tests/models/test_failures.py: 21 (determine_result_type): 22 * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: 23 (MainTest.test_missing_and_unexpected_results): 24 (MainTest.test_retrying_and_flaky_tests): 25 1 26 2012-09-20 Tommy Widenflycht <tommyw@google.com> 2 27 -
trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py
r129047 r129148 41 41 WONTFIX = "wontfixCounts" 42 42 43 # Note that there used to be an "A" for audio failures and a "Z" for IMAGE+TEXT failures.44 45 43 FAILURE_TO_CHAR = {test_expectations.PASS: json_results_generator.JSONResultsGeneratorBase.PASS_RESULT, 46 44 test_expectations.SKIP: json_results_generator.JSONResultsGeneratorBase.SKIP_RESULT, 47 45 test_expectations.CRASH: "C", 48 46 test_expectations.TIMEOUT: "T", 49 test_expectations.FAIL: "F",50 47 test_expectations.IMAGE: "I", 51 test_expectations.MISSING: "O"} 48 test_expectations.TEXT: "F", 49 test_expectations.AUDIO: "A", 50 test_expectations.MISSING: "O", 51 test_expectations.IMAGE_PLUS_TEXT: "Z"} 52 52 53 53 def __init__(self, port, builder_name, build_name, build_number, -
trunk/Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py
r129069 r129148 41 41 42 42 # Test expectation and modifier constants. 43 # TEXT, IMAGE_PLUS_TEXT, and AUDIO are no longer used in new test runs but44 # we keep them around for now so we can parse old results.json entries and to45 # avoid changing the numbering for the constants.46 43 # 47 44 # FIXME: range() starts with 0 which makes if expectation checks harder … … 287 284 } 288 285 289 _inverted_expectation_tokens = dict((value, name) for name, value in _expectation_tokens.iteritems()) 286 _inverted_expectation_tokens = dict([(value, name) for name, value in _expectation_tokens.iteritems()] + 287 [('TEXT', 'Failure'), ('IMAGE+TEXT', 'Failure'), ('AUDIO', 'Failure')]) 290 288 291 289 @classmethod … … 792 790 # FIXME: Update to new syntax once the old format is no longer supported. 793 791 EXPECTATIONS = {'pass': PASS, 792 'audio': AUDIO, 794 793 'fail': FAIL, 795 794 'image': IMAGE, 795 'image+text': IMAGE_PLUS_TEXT, 796 'text': TEXT, 796 797 'timeout': TIMEOUT, 797 798 'crash': CRASH, … … 803 804 FAIL: ('failures', 'failed', ''), 804 805 IMAGE: ('image-only failures', 'failed', ' (image diff)'), 806 TEXT: ('text-only failures', 'failed', ' (text diff)'), 807 IMAGE_PLUS_TEXT: ('image and text failures', 'failed', ' (image and text diff)'), 808 AUDIO: ('audio failures', 'failed', ' (audio diff)'), 805 809 CRASH: ('crashes', 'crashed', ''), 806 810 TIMEOUT: ('timeouts', 'timed out', ''), … … 839 843 test_is_skipped: whether test was marked as SKIP""" 840 844 if result in expected_results: 845 return True 846 if result in (TEXT, IMAGE_PLUS_TEXT, AUDIO) and (FAIL in expected_results): 841 847 return True 842 848 if result == MISSING and test_needs_rebaselining: -
trunk/Tools/Scripts/webkitpy/layout_tests/models/test_failures.py
r129047 r129148 63 63 return test_expectations.MISSING 64 64 else: 65 if FailureTextMismatch in failure_types or FailureAudioMismatch in failure_types: 66 return test_expectations.FAIL 67 elif FailureImageHashIncorrect in failure_types or FailureImageHashMismatch in failure_types or is_reftest_failure(failure_list): 65 is_text_failure = FailureTextMismatch in failure_types 66 is_image_failure = (FailureImageHashIncorrect in failure_types or 67 FailureImageHashMismatch in failure_types) 68 is_audio_failure = (FailureAudioMismatch in failure_types) 69 if is_text_failure and is_image_failure: 70 return test_expectations.IMAGE_PLUS_TEXT 71 elif is_text_failure: 72 return test_expectations.TEXT 73 elif is_image_failure or is_reftest_failure(failure_list): 68 74 return test_expectations.IMAGE 75 elif is_audio_failure: 76 return test_expectations.AUDIO 69 77 else: 70 78 raise ValueError("unclassifiable set of failures: " -
trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py
r129052 r129148 550 550 file_list.remove('/tmp/layout-test-results/tests_run0.txt') 551 551 self.assertEquals(res, 1) 552 expected_token = '"unexpected":{"text-image-checksum.html":{"expected":"PASS","actual":" FAIL"},"missing_text.html":{"expected":"PASS","is_missing_text":true,"actual":"MISSING"}'552 expected_token = '"unexpected":{"text-image-checksum.html":{"expected":"PASS","actual":"TEXT"},"missing_text.html":{"expected":"PASS","is_missing_text":true,"actual":"MISSING"}' 553 553 json_string = host.filesystem.read_text_file('/tmp/layout-test-results/full_results.json') 554 554 self.assertTrue(json_string.find(expected_token) != -1) … … 765 765 self.assertTrue('Clobbering old results' in err.getvalue()) 766 766 self.assertTrue('flaky/text.html' in err.getvalue()) 767 self.assertTrue('Unexpected failures' in out.getvalue())767 self.assertTrue('Unexpected text-only failures' in out.getvalue()) 768 768 self.assertFalse('Unexpected flakiness' in out.getvalue()) 769 769 self.assertTrue(host.filesystem.exists('/tmp/layout-test-results/failures/flaky/text-actual.txt'))
Note: See TracChangeset
for help on using the changeset viewer.