OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """A module to analyze test expectations for Webkit layout tests.""" | 5 """A module to analyze test expectations for Webkit layout tests.""" |
6 | 6 |
7 import urllib2 | 7 import urllib2 |
8 | 8 |
9 from webkitpy.layout_tests.models.test_expectations import * | 9 from webkitpy.layout_tests.models.test_expectations import * |
10 | 10 |
11 # Default Webkit SVN location for chromium test expectation file. | 11 # Default location for chromium test expectation file. |
12 # TODO(imasaki): support multiple test expectations files. | 12 # TODO(imasaki): support multiple test expectations files. |
13 DEFAULT_TEST_EXPECTATION_LOCATION = ( | 13 DEFAULT_TEST_EXPECTATIONS_LOCATION = ( |
14 'http://svn.webkit.org/repository/webkit/trunk/' | 14 'http://src.chromium.org/blink/trunk/LayoutTests/TestExpectations') |
15 'LayoutTests/platform/chromium/TestExpectations') | |
16 | 15 |
17 # The following is from test expectation syntax. The detail can be found in | 16 # The following is from test expectation syntax. The detail can be found in |
18 # http://www.chromium.org/developers/testing/webkit-layout-tests#TOC-Test-Expect
ations | 17 # http://www.chromium.org/developers/testing/webkit-layout-tests#TOC-Test-Expect
ations |
19 # <decision> ::== [SKIP] [WONTFIX] [SLOW] | 18 # <decision> ::== [SKIP] [WONTFIX] [SLOW] |
20 DECISION_NAMES = ['SKIP', 'WONTFIX', 'SLOW'] | 19 DECISION_NAMES = ['SKIP', 'WONTFIX', 'SLOW'] |
21 # <config> ::== RELEASE | DEBUG | 20 # <config> ::== RELEASE | DEBUG |
22 CONFIG_NAMES = ['RELEASE', 'DEBUG'] | 21 CONFIG_NAMES = ['RELEASE', 'DEBUG'] |
23 # Only hard code keywords we don't expect to change. Determine the rest from | 22 # Only hard code keywords we don't expect to change. Determine the rest from |
24 # the format of the status line. | 23 # the format of the status line. |
25 KNOWN_TE_KEYWORDS = DECISION_NAMES + CONFIG_NAMES | 24 KNOWN_TE_KEYWORDS = DECISION_NAMES + CONFIG_NAMES |
(...skipping 18 matching lines...) Expand all Loading... |
44 platform/chromium/media/video-frame-size-change.html [ Timeout ] | 43 platform/chromium/media/video-frame-size-change.html [ Timeout ] |
45 webkit.org/b/84724 [ SnowLeopard ] \ | 44 webkit.org/b/84724 [ SnowLeopard ] \ |
46 platform/chromium/media/video-frame-size-change.html \ | 45 platform/chromium/media/video-frame-size-change.html \ |
47 [ ImageOnlyFailure Pass ] | 46 [ ImageOnlyFailure Pass ] |
48 | 47 |
49 {'platform/chromium/media/video-frame-size-change.html': [{'IMAGE': True, | 48 {'platform/chromium/media/video-frame-size-change.html': [{'IMAGE': True, |
50 'Bugs': ['BUGWK84724', 'BUGCR145590'], 'Comments': '', | 49 'Bugs': ['BUGWK84724', 'BUGCR145590'], 'Comments': '', |
51 'Platforms': ['SNOWLEOPARD', 'ANDROID'], 'TIMEOUT': True, 'PASS': True}]} | 50 'Platforms': ['SNOWLEOPARD', 'ANDROID'], 'TIMEOUT': True, 'PASS': True}]} |
52 """ | 51 """ |
53 | 52 |
54 def __init__(self, url=DEFAULT_TEST_EXPECTATION_LOCATION): | 53 def __init__(self, url=DEFAULT_TEST_EXPECTATIONS_LOCATION): |
55 """Read the test expectation file from the specified URL and parse it. | 54 """Read the test expectation file from the specified URL and parse it. |
56 | 55 |
57 Args: | 56 Args: |
58 url: A URL string for the test expectation file. | 57 url: A URL string for the test expectation file. |
59 | 58 |
60 Raises: | 59 Raises: |
61 NameError when the test expectation file cannot be retrieved from |url|. | 60 NameError when the test expectation file cannot be retrieved from |url|. |
62 """ | 61 """ |
63 self.all_test_expectation_info = {} | 62 self.all_test_expectation_info = {} |
64 resp = urllib2.urlopen(url) | 63 resp = urllib2.urlopen(url) |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 | 111 |
113 # The modifiers left over should all be platform names. | 112 # The modifiers left over should all be platform names. |
114 test_expectation_info['Platforms'] = list(remaining_modifiers) | 113 test_expectation_info['Platforms'] = list(remaining_modifiers) |
115 | 114 |
116 # Shovel the expectations and modifiers in as "<key>: True" entries. Ugly, | 115 # Shovel the expectations and modifiers in as "<key>: True" entries. Ugly, |
117 # but required by the rest of the pipeline for parsing. | 116 # but required by the rest of the pipeline for parsing. |
118 for m in parsed.expectations + remaining_modifiers: | 117 for m in parsed.expectations + remaining_modifiers: |
119 test_expectation_info[m] = True | 118 test_expectation_info[m] = True |
120 | 119 |
121 return parsed.name, test_expectation_info | 120 return parsed.name, test_expectation_info |
OLD | NEW |