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

Unified Diff: tools/foozzie/v8_foozzie.py

Issue 2589683003: [foozzie] Add sources metadata to failure output. (Closed)
Patch Set: presubmit Created 4 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/foozzie/testdata/resources-test1.js ('k') | tools/presubmit.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/foozzie/v8_foozzie.py
diff --git a/tools/foozzie/v8_foozzie.py b/tools/foozzie/v8_foozzie.py
index a8f244e05390b2e66cc4f157e304928559f07ef2..aeb1b4e7518b20492f3135999080b34b4f5743a7 100755
--- a/tools/foozzie/v8_foozzie.py
+++ b/tools/foozzie/v8_foozzie.py
@@ -8,7 +8,9 @@ V8 correctness fuzzer launcher script.
"""
import argparse
+import hashlib
import itertools
+import json
import os
import re
import sys
@@ -115,6 +117,20 @@ def parse_args():
os.path.isfile(options.testcase)), (
'Test case %s doesn\'t exist' % options.testcase)
+ resources_path = os.path.join(
+ os.path.dirname(options.testcase),
+ 'resources' + os.path.basename(options.testcase)[len('fuzz'):])
+ assert os.path.exists(resources_path), (
+ 'Resources file %s doesn\'t exist' % resources_path)
+
+ with open(resources_path) as f:
+ resources = f.read().strip().splitlines()
+ assert len(resources) == 1
+ options.meta_data_path = os.path.join(
+ os.path.dirname(resources_path), resources[0])
+ assert os.path.exists(options.meta_data_path), (
+ 'Metadata %s doesn\'t exist' % options.meta_data_path)
+
# Use first d8 as default for second d8.
options.second_d8 = options.second_d8 or options.first_d8
@@ -181,6 +197,10 @@ def main():
if test_pattern_bailout(options.testcase, suppress.ignore):
return RETURN_FAIL
+ # Get metadata.
+ with open(options.meta_data_path) as f:
+ metadata = json.load(f)
+
common_flags = FLAGS + ['--random-seed', str(options.random_seed)]
first_config_flags = common_flags + CONFIGS[options.first_config]
second_config_flags = common_flags + CONFIGS[options.second_config]
@@ -219,9 +239,10 @@ def main():
# will require changes on the clusterfuzz side.
first_config_label = '%s,%s' % (options.first_arch, options.first_config)
second_config_label = '%s,%s' % (options.second_arch, options.second_config)
+ hsh = lambda x: hashlib.sha1(x).hexdigest()[:8]
print FAILURE_TEMPLATE % dict(
configs='%s:%s' % (first_config_label, second_config_label),
- sources='', # TODO
+ sources=','.join(map(hsh, metadata['sources'])),
suppression='', # We can't tie bugs to differences.
first_config_label=first_config_label,
second_config_label=second_config_label,
« no previous file with comments | « tools/foozzie/testdata/resources-test1.js ('k') | tools/presubmit.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698