cb028ac0e4
Fixing a memory leak in CompileAndRunModule. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=wasm-fuzzer R=jochen@chromium.org,jarin@chromium.org,kcc@chromium.org,machenbach@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1738943004 Cr-Commit-Position: refs/heads/master@{#34415}
49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
# Copyright 2016 the V8 project authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import os
|
|
|
|
from testrunner.local import testsuite
|
|
from testrunner.objects import testcase
|
|
|
|
|
|
class FuzzerVariantGenerator(testsuite.VariantGenerator):
|
|
# Only run the fuzzer with standard variant.
|
|
def FilterVariantsByTest(self, testcase):
|
|
return self.standard_variant
|
|
|
|
def GetFlagSets(self, testcase, variant):
|
|
return testsuite.FAST_VARIANT_FLAGS[variant]
|
|
|
|
|
|
class FuzzerTestSuite(testsuite.TestSuite):
|
|
SUB_TESTS = ( 'json', 'parser', 'regexp', 'wasm', 'wasm_asmjs', )
|
|
|
|
def __init__(self, name, root):
|
|
super(FuzzerTestSuite, self).__init__(name, root)
|
|
|
|
def ListTests(self, context):
|
|
tests = []
|
|
for subtest in FuzzerTestSuite.SUB_TESTS:
|
|
shell = '%s_fuzzer' % subtest
|
|
for fname in os.listdir(os.path.join(self.root, subtest)):
|
|
if not os.path.isfile(os.path.join(self.root, subtest, fname)):
|
|
continue
|
|
test = testcase.TestCase(self, '%s/%s' % (subtest, fname),
|
|
override_shell=shell)
|
|
tests.append(test)
|
|
tests.sort()
|
|
return tests
|
|
|
|
def GetFlagsForTestCase(self, testcase, context):
|
|
suite, name = testcase.path.split('/')
|
|
return [os.path.join(self.root, suite, name)]
|
|
|
|
def _VariantGeneratorFactory(self):
|
|
return FuzzerVariantGenerator
|
|
|
|
|
|
def GetSuite(name, root):
|
|
return FuzzerTestSuite(name, root)
|