Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: sky/tools/webkitpy/layout_tests/models/test_expectations.py

Issue 685593006: This CL provides a bunch of new parser tests, and updates the (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/tests/parser/voidtag-expected.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (C) 2010 Google Inc. All rights reserved. 1 # Copyright (C) 2010 Google Inc. All rights reserved.
2 # 2 #
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are 4 # modification, are permitted provided that the following conditions are
5 # met: 5 # met:
6 # 6 #
7 # * Redistributions of source code must retain the above copyright 7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above 9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following disclaimer 10 # copyright notice, this list of conditions and the following disclaimer
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 # as PASS is 0. 44 # as PASS is 0.
45 (PASS, FAIL, TEXT, IMAGE, IMAGE_PLUS_TEXT, AUDIO, TIMEOUT, CRASH, LEAK, SKIP, WO NTFIX, 45 (PASS, FAIL, TEXT, IMAGE, IMAGE_PLUS_TEXT, AUDIO, TIMEOUT, CRASH, LEAK, SKIP, WO NTFIX,
46 SLOW, REBASELINE, NEEDS_REBASELINE, NEEDS_MANUAL_REBASELINE, MISSING, FLAKY, NO W, NONE) = range(19) 46 SLOW, REBASELINE, NEEDS_REBASELINE, NEEDS_MANUAL_REBASELINE, MISSING, FLAKY, NO W, NONE) = range(19)
47 47
48 # FIXME: Perhas these two routines should be part of the Port instead? 48 # FIXME: Perhas these two routines should be part of the Port instead?
49 BASELINE_SUFFIX_LIST = ('png', 'wav', 'txt') 49 BASELINE_SUFFIX_LIST = ('png', 'wav', 'txt')
50 50
51 WEBKIT_BUG_PREFIX = 'webkit.org/b/' 51 WEBKIT_BUG_PREFIX = 'webkit.org/b/'
52 CHROMIUM_BUG_PREFIX = 'crbug.com/' 52 CHROMIUM_BUG_PREFIX = 'crbug.com/'
53 V8_BUG_PREFIX = 'code.google.com/p/v8/issues/detail?id=' 53 V8_BUG_PREFIX = 'code.google.com/p/v8/issues/detail?id='
54 MOJO_BUG_PREFIX = 'https://github.com/domokit/mojo/issues/'
54 NAMED_BUG_PREFIX = 'Bug(' 55 NAMED_BUG_PREFIX = 'Bug('
55 56
56 MISSING_KEYWORD = 'Missing' 57 MISSING_KEYWORD = 'Missing'
57 NEEDS_REBASELINE_KEYWORD = 'NeedsRebaseline' 58 NEEDS_REBASELINE_KEYWORD = 'NeedsRebaseline'
58 NEEDS_MANUAL_REBASELINE_KEYWORD = 'NeedsManualRebaseline' 59 NEEDS_MANUAL_REBASELINE_KEYWORD = 'NeedsManualRebaseline'
59 60
60 class ParseError(Exception): 61 class ParseError(Exception):
61 def __init__(self, warnings): 62 def __init__(self, warnings):
62 super(ParseError, self).__init__() 63 super(ParseError, self).__init__()
63 self.warnings = warnings 64 self.warnings = warnings
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 expectations = [] 278 expectations = []
278 warnings = [] 279 warnings = []
279 has_unrecognized_expectation = False 280 has_unrecognized_expectation = False
280 281
281 tokens = remaining_string.split() 282 tokens = remaining_string.split()
282 state = 'start' 283 state = 'start'
283 for token in tokens: 284 for token in tokens:
284 if (token.startswith(WEBKIT_BUG_PREFIX) or 285 if (token.startswith(WEBKIT_BUG_PREFIX) or
285 token.startswith(CHROMIUM_BUG_PREFIX) or 286 token.startswith(CHROMIUM_BUG_PREFIX) or
286 token.startswith(V8_BUG_PREFIX) or 287 token.startswith(V8_BUG_PREFIX) or
288 token.startswith(MOJO_BUG_PREFIX) or
287 token.startswith(NAMED_BUG_PREFIX)): 289 token.startswith(NAMED_BUG_PREFIX)):
288 if state != 'start': 290 if state != 'start':
289 warnings.append('"%s" is not at the start of the line.' % to ken) 291 warnings.append('"%s" is not at the start of the line.' % to ken)
290 break 292 break
291 if token.startswith(WEBKIT_BUG_PREFIX): 293 if (token.startswith(WEBKIT_BUG_PREFIX) or
292 bugs.append(token) 294 token.startswith(CHROMIUM_BUG_PREFIX) or
293 elif token.startswith(CHROMIUM_BUG_PREFIX): 295 token.startswith(MOJO_BUG_PREFIX) or
294 bugs.append(token) 296 token.startswith(V8_BUG_PREFIX)):
295 elif token.startswith(V8_BUG_PREFIX):
296 bugs.append(token) 297 bugs.append(token)
297 else: 298 else:
298 match = re.match('Bug\((\w+)\)$', token) 299 match = re.match('Bug\((\w+)\)$', token)
299 if not match: 300 if not match:
300 warnings.append('unrecognized bug identifier "%s"' % tok en) 301 warnings.append('unrecognized bug identifier "%s"' % tok en)
301 break 302 break
302 else: 303 else:
303 bugs.append(token) 304 bugs.append(token)
304 elif token == '[': 305 elif token == '[':
305 if state == 'start': 306 if state == 'start':
(...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after
1117 # If reconstitute_only_these is an empty list, we want to return ori ginal_string. 1118 # If reconstitute_only_these is an empty list, we want to return ori ginal_string.
1118 # So we need to compare reconstitute_only_these to None, not just ch eck if it's falsey. 1119 # So we need to compare reconstitute_only_these to None, not just ch eck if it's falsey.
1119 if reconstitute_only_these is None or expectation_line in reconstitu te_only_these: 1120 if reconstitute_only_these is None or expectation_line in reconstitu te_only_these:
1120 return expectation_line.to_string(test_configuration_converter) 1121 return expectation_line.to_string(test_configuration_converter)
1121 return expectation_line.original_string 1122 return expectation_line.original_string
1122 1123
1123 def nones_out(expectation_line): 1124 def nones_out(expectation_line):
1124 return expectation_line is not None 1125 return expectation_line is not None
1125 1126
1126 return "\n".join(filter(nones_out, map(serialize, expectation_lines))) 1127 return "\n".join(filter(nones_out, map(serialize, expectation_lines)))
OLDNEW
« no previous file with comments | « sky/tests/parser/voidtag-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698