aboutsummaryrefslogtreecommitdiff
path: root/tests/fuzz/fuzz.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fuzz/fuzz.py')
-rwxr-xr-xtests/fuzz/fuzz.py43
1 files changed, 23 insertions, 20 deletions
diff --git a/tests/fuzz/fuzz.py b/tests/fuzz/fuzz.py
index b591e4f6734e..8ce293a3a695 100755
--- a/tests/fuzz/fuzz.py
+++ b/tests/fuzz/fuzz.py
@@ -13,6 +13,7 @@ import argparse
import contextlib
import os
import re
+import shlex
import shutil
import subprocess
import sys
@@ -147,15 +148,18 @@ def compiler_version(cc, cxx):
"""
cc_version_bytes = subprocess.check_output([cc, "--version"])
cxx_version_bytes = subprocess.check_output([cxx, "--version"])
- if cc_version_bytes.startswith(b'clang'):
- assert(cxx_version_bytes.startswith(b'clang'))
+ compiler = None
+ version = None
+ if b'clang' in cc_version_bytes:
+ assert(b'clang' in cxx_version_bytes)
compiler = 'clang'
- if cc_version_bytes.startswith(b'gcc'):
- assert(cxx_version_bytes.startswith(b'g++'))
+ elif b'gcc' in cc_version_bytes:
+ assert(b'gcc' in cxx_version_bytes)
compiler = 'gcc'
- version_regex = b'([0-9])+\.([0-9])+\.([0-9])+'
- version_match = re.search(version_regex, cc_version_bytes)
- version = tuple(int(version_match.group(i)) for i in range(1, 4))
+ if compiler is not None:
+ version_regex = b'([0-9])+\.([0-9])+\.([0-9])+'
+ version_match = re.search(version_regex, cc_version_bytes)
+ version = tuple(int(version_match.group(i)) for i in range(1, 4))
return compiler, version
@@ -248,7 +252,7 @@ def build_parser(args):
dest='debug',
type=int,
default=1,
- help='Set ZSTD_DEBUG (default: 1)')
+ help='Set DEBUGLEVEL (default: 1)')
parser.add_argument(
'--force-memory-access',
dest='memory_access',
@@ -265,7 +269,7 @@ def build_parser(args):
'--disable-fuzzing-mode',
dest='fuzzing_mode',
action='store_false',
- help='Do not define FUZZING_BUILD_MORE_UNSAFE_FOR_PRODUCTION')
+ help='Do not define FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION')
parser.add_argument(
'--enable-stateful-fuzzing',
dest='stateful_fuzzing',
@@ -346,16 +350,16 @@ def build(args):
targets = args.TARGET
cc = args.cc
cxx = args.cxx
- cppflags = [args.cppflags]
- cflags = [args.cflags]
- ldflags = [args.ldflags]
- cxxflags = [args.cxxflags]
- mflags = [args.mflags] if args.mflags else []
+ cppflags = shlex.split(args.cppflags)
+ cflags = shlex.split(args.cflags)
+ ldflags = shlex.split(args.ldflags)
+ cxxflags = shlex.split(args.cxxflags)
+ mflags = shlex.split(args.mflags)
# Flags to be added to both cflags and cxxflags
common_flags = []
cppflags += [
- '-DZSTD_DEBUG={}'.format(args.debug),
+ '-DDEBUGLEVEL={}'.format(args.debug),
'-DMEM_FORCE_MEMORY_ACCESS={}'.format(args.memory_access),
'-DFUZZ_RNG_SEED_SIZE={}'.format(args.fuzz_rng_seed_size),
]
@@ -399,7 +403,7 @@ def build(args):
cppflags += ['-DSTATEFUL_FUZZING']
if args.fuzzing_mode:
- cppflags += ['-DFUZZING_BUILD_MORE_UNSAFE_FOR_PRODUCTION']
+ cppflags += ['-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION']
if args.lib_fuzzing_engine == 'libregression.a':
targets = ['libregression.a'] + targets
@@ -750,11 +754,10 @@ def zip_cmd(args):
for target in args.TARGET:
# Zip the seed_corpus
seed_corpus = abs_join(CORPORA_DIR, "{}_seed_corpus".format(target))
- seeds = [abs_join(seed_corpus, f) for f in os.listdir(seed_corpus)]
zip_file = "{}.zip".format(seed_corpus)
- cmd = ["zip", "-q", "-j", "-9", zip_file]
- print(' '.join(cmd + [abs_join(seed_corpus, '*')]))
- subprocess.check_call(cmd + seeds)
+ cmd = ["zip", "-r", "-q", "-j", "-9", zip_file, "."]
+ print(' '.join(cmd))
+ subprocess.check_call(cmd, cwd=seed_corpus)
def list_cmd(args):