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

Side by Side Diff: tools/foozzie/v8_suppressions.py

Issue 2644503002: [foozzie] Fix suppressions and add one for crbug.com/681241 (Closed)
Patch Set: Created 3 years, 11 months 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 | « no previous file | 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 2016 the V8 project authors. All rights reserved. 1 # Copyright 2016 the V8 project 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 """ 5 """
6 Suppressions for V8 correctness fuzzer failures. 6 Suppressions for V8 correctness fuzzer failures.
7 7
8 We support three types of suppressions: 8 We support three types of suppressions:
9 1. Ignore test case by pattern. 9 1. Ignore test case by pattern.
10 Map a regular expression to a bug entry. A new failure will be reported 10 Map a regular expression to a bug entry. A new failure will be reported
(...skipping 15 matching lines...) Expand all
26 26
27 import itertools 27 import itertools
28 import re 28 import re
29 29
30 # Max line length for regular experessions checking for lines to ignore. 30 # Max line length for regular experessions checking for lines to ignore.
31 MAX_LINE_LENGTH = 512 31 MAX_LINE_LENGTH = 512
32 32
33 # For ignoring lines before carets and to ignore caret positions. 33 # For ignoring lines before carets and to ignore caret positions.
34 CARET_RE = re.compile(r'^\s*\^\s*$') 34 CARET_RE = re.compile(r'^\s*\^\s*$')
35 35
36 # Ignore by original source files. Map from bug->relative file paths in V8, 36 # Ignore by original source files. Map from bug->list of relative file paths in
37 # e.g. '/v8/test/mjsunit/d8-performance-now.js' including /v8/. A test will 37 # V8, e.g. '/v8/test/mjsunit/d8-performance-now.js' including /v8/. A test will
38 # be suppressed if one of the files below was used to mutate the test. 38 # be suppressed if one of the files below was used to mutate the test.
39 IGNORE_SOURCES = { 39 IGNORE_SOURCES = {
40 # This contains a usage of f.arguments that often fires. 40 # This contains a usage of f.arguments that often fires.
41 'crbug.com/662424': '/v8/test/mjsunit/regress/regress-2989.js', 41 'crbug.com/662424': ['/v8/test/mjsunit/regress/regress-2989.js'],
42 42
43 # crbug.com/681088 43 # crbug.com/681088
44 'crbug.com/681088': '/v8/test/mjsunit/asm/asm-validation.js', 44 'crbug.com/681088': [
45 'crbug.com/681088': '/v8/test/mjsunit/asm/b5528-comma.js', 45 '/v8/test/mjsunit/asm/asm-validation.js',
46 'crbug.com/681088': '/v8/test/mjsunit/asm/pointer-masking.js', 46 '/v8/test/mjsunit/asm/b5528-comma.js',
47 'crbug.com/681088': '/v8/test/mjsunit/compiler/regress-443744.js', 47 '/v8/test/mjsunit/asm/pointer-masking.js',
48 'crbug.com/681088': '/v8/test/mjsunit/regress/regress-599719.js', 48 '/v8/test/mjsunit/compiler/regress-443744.js',
49 'crbug.com/681088': '/v8/test/mjsunit/regress/wasm/regression-647649.js', 49 '/v8/test/mjsunit/regress/regress-599719.js',
50 'crbug.com/681088': '/v8/test/mjsunit/wasm/asm-wasm.js', 50 '/v8/test/mjsunit/regress/wasm/regression-647649.js',
51 'crbug.com/681088': '/v8/test/mjsunit/wasm/asm-wasm-deopt.js', 51 '/v8/test/mjsunit/wasm/asm-wasm.js',
52 'crbug.com/681088': '/v8/test/mjsunit/wasm/asm-wasm-heap.js', 52 '/v8/test/mjsunit/wasm/asm-wasm-deopt.js',
53 'crbug.com/681088': '/v8/test/mjsunit/wasm/asm-wasm-literals.js', 53 '/v8/test/mjsunit/wasm/asm-wasm-heap.js',
54 'crbug.com/681088': '/v8/test/mjsunit/wasm/asm-wasm-stack.js', 54 '/v8/test/mjsunit/wasm/asm-wasm-literals.js',
55 '/v8/test/mjsunit/wasm/asm-wasm-stack.js',
56 ],
55 57
56 # crbug.com/681236 58 # crbug.com/681236
57 'crbug.com/681236': '/v8/test/mjsunit/wasm/asm-wasm-switch.js', 59 'crbug.com/681236': ['/v8/test/mjsunit/wasm/asm-wasm-switch.js'],
60
61 # crbug.com/681241
62 'crbug.com/681241': [
63 '/v8/test/mjsunit/regress/regress-617526.js',
64 '/v8/test/mjsunit/regress/wasm/regression-02862.js',
65 ],
58 } 66 }
59 67
60 # Ignore by test case pattern. Map from bug->regexp. 68 # Ignore by test case pattern. Map from bug->regexp.
61 # Regular expressions are assumed to be compiled. We use regexp.match. 69 # Regular expressions are assumed to be compiled. We use regexp.match.
62 # Make sure the code doesn't match in the preamble portion of the test case 70 # Make sure the code doesn't match in the preamble portion of the test case
63 # (i.e. in the modified inlined mjsunit.js). You can reference the comment 71 # (i.e. in the modified inlined mjsunit.js). You can reference the comment
64 # between the two parts like so: 72 # between the two parts like so:
65 # 'crbug.com/666308': 73 # 'crbug.com/666308':
66 # re.compile(r'.*End stripped down and modified version.*' 74 # re.compile(r'.*End stripped down and modified version.*'
67 # r'\.prototype.*instanceof.*.*', re.S) 75 # r'\.prototype.*instanceof.*.*', re.S)
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 IGNORE_LINES, 301 IGNORE_LINES,
294 ) 302 )
295 303
296 def ignore_by_content(self, testcase): 304 def ignore_by_content(self, testcase):
297 for bug, exp in IGNORE_TEST_CASES.iteritems(): 305 for bug, exp in IGNORE_TEST_CASES.iteritems():
298 if exp.match(testcase): 306 if exp.match(testcase):
299 return bug 307 return bug
300 return False 308 return False
301 309
302 def ignore_by_metadata(self, metadata): 310 def ignore_by_metadata(self, metadata):
303 for bug, source in IGNORE_SOURCES.iteritems(): 311 for bug, sources in IGNORE_SOURCES.iteritems():
304 if source in metadata['sources']: 312 for source in sources:
305 return bug 313 if source in metadata['sources']:
314 return bug
306 return False 315 return False
307 316
308 def ignore_by_output1(self, output): 317 def ignore_by_output1(self, output):
309 return self.ignore_by_output(output, self.arch1, self.config1) 318 return self.ignore_by_output(output, self.arch1, self.config1)
310 319
311 def ignore_by_output2(self, output): 320 def ignore_by_output2(self, output):
312 return self.ignore_by_output(output, self.arch2, self.config2) 321 return self.ignore_by_output(output, self.arch2, self.config2)
313 322
314 def ignore_by_output(self, output, arch, config): 323 def ignore_by_output(self, output, arch, config):
315 def check(mapping): 324 def check(mapping):
316 for bug, exp in mapping.iteritems(): 325 for bug, exp in mapping.iteritems():
317 if exp.search(output): 326 if exp.search(output):
318 return bug 327 return bug
319 return None 328 return None
320 bug = check(IGNORE_OUTPUT.get('', {})) 329 bug = check(IGNORE_OUTPUT.get('', {}))
321 if bug: 330 if bug:
322 return bug 331 return bug
323 bug = check(IGNORE_OUTPUT.get(arch, {})) 332 bug = check(IGNORE_OUTPUT.get(arch, {}))
324 if bug: 333 if bug:
325 return bug 334 return bug
326 bug = check(IGNORE_OUTPUT.get(config, {})) 335 bug = check(IGNORE_OUTPUT.get(config, {}))
327 if bug: 336 if bug:
328 return bug 337 return bug
329 bug = check(IGNORE_OUTPUT.get('%s,%s' % (arch, config), {})) 338 bug = check(IGNORE_OUTPUT.get('%s,%s' % (arch, config), {}))
330 if bug: 339 if bug:
331 return bug 340 return bug
332 return None 341 return None
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698