From e712a3a0a3ed135274e9b4dded34f01531e30195 Mon Sep 17 00:00:00 2001 From: Nick Terrell Date: Wed, 23 May 2018 18:04:52 -0700 Subject: [PATCH 1/4] Small fixes to fuzz.py --- tests/fuzz/fuzz.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tests/fuzz/fuzz.py b/tests/fuzz/fuzz.py index b591e4f67..14ae8bca0 100755 --- a/tests/fuzz/fuzz.py +++ b/tests/fuzz/fuzz.py @@ -265,7 +265,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', @@ -399,7 +399,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 +750,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): From 2a9975f77b21de608654912d8a03dbf1a39ebea7 Mon Sep 17 00:00:00 2001 From: Nick Terrell Date: Wed, 23 May 2018 18:22:32 -0700 Subject: [PATCH 2/4] Increase the maximum file size --- tests/fuzz/regression_driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/fuzz/regression_driver.c b/tests/fuzz/regression_driver.c index 2b714d29e..1553d436c 100644 --- a/tests/fuzz/regression_driver.c +++ b/tests/fuzz/regression_driver.c @@ -16,7 +16,7 @@ #include int main(int argc, char const **argv) { - size_t const kMaxFileSize = (size_t)1 << 20; + size_t const kMaxFileSize = (size_t)1 << 27; int const kFollowLinks = 1; char *fileNamesBuf = NULL; char const **files = argv + 1; From ac852abb8b23da70483a0a796c655855322950b0 Mon Sep 17 00:00:00 2001 From: Nick Terrell Date: Wed, 23 May 2018 18:25:26 -0700 Subject: [PATCH 3/4] Define BIT_DEBUG for --debug --- tests/fuzz/fuzz.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/fuzz/fuzz.py b/tests/fuzz/fuzz.py index 14ae8bca0..bc6611fd2 100755 --- a/tests/fuzz/fuzz.py +++ b/tests/fuzz/fuzz.py @@ -248,7 +248,7 @@ def build_parser(args): dest='debug', type=int, default=1, - help='Set ZSTD_DEBUG (default: 1)') + help='Set ZSTD_DEBUG and BIT_DEBUG (default: 1)') parser.add_argument( '--force-memory-access', dest='memory_access', @@ -356,6 +356,7 @@ def build(args): cppflags += [ '-DZSTD_DEBUG={}'.format(args.debug), + '-DBIT_DEBUG={}'.format(args.debug), '-DMEM_FORCE_MEMORY_ACCESS={}'.format(args.memory_access), '-DFUZZ_RNG_SEED_SIZE={}'.format(args.fuzz_rng_seed_size), ] From fdd4d8510fcec17ff29477e7b243dadd8e7435f7 Mon Sep 17 00:00:00 2001 From: Nick Terrell Date: Wed, 23 May 2018 18:46:38 -0700 Subject: [PATCH 4/4] Improve compiler detection to work on Mac --- tests/fuzz/fuzz.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tests/fuzz/fuzz.py b/tests/fuzz/fuzz.py index bc6611fd2..04d9c6008 100755 --- a/tests/fuzz/fuzz.py +++ b/tests/fuzz/fuzz.py @@ -147,15 +147,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