430e03b3c6
Bug: v8:6917 Change-Id: Ic50ed8aca2ef6b6e60eae194cf46c2264a416657 Reviewed-on: https://chromium-review.googlesource.com/774265 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49417}
55 lines
1.7 KiB
Python
55 lines
1.7 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_async',
|
|
'wasm_call', 'wasm_code', 'wasm_compile', 'wasm_data_section',
|
|
'wasm_function_sigs_section', 'wasm_globals_section',
|
|
'wasm_imports_section', 'wasm_memory_section', 'wasm_names_section',
|
|
'wasm_types_section' )
|
|
|
|
def __init__(self, name, root):
|
|
super(FuzzerTestSuite, self).__init__(name, root)
|
|
|
|
def ListTests(self, context):
|
|
tests = []
|
|
for subtest in FuzzerTestSuite.SUB_TESTS:
|
|
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))
|
|
tests.append(test)
|
|
tests.sort()
|
|
return tests
|
|
|
|
def GetShellForTestCase(self, testcase):
|
|
group, _ = testcase.path.split('/', 1)
|
|
return 'v8_simple_%s_fuzzer' % group
|
|
|
|
def GetParametersForTestCase(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)
|