summaryrefslogtreecommitdiff
path: root/src/third_party/zstandard-1.3.7/zstd/tests/fuzz/fuzz_helpers.h
diff options
context:
space:
mode:
authorHenrik Edin <henrik.edin@mongodb.com>2019-10-09 13:19:40 +0000
committerevergreen <evergreen@mongodb.com>2019-10-09 13:19:40 +0000
commit5d9ecdd0bc278138b459ae478addd6fa214ef0f1 (patch)
treee7b771f8e072b912dd260bf6afd9d813d00784be /src/third_party/zstandard-1.3.7/zstd/tests/fuzz/fuzz_helpers.h
parent9471cc8ad18cc5f1da025c291e03adfde434ab8d (diff)
downloadmongo-5d9ecdd0bc278138b459ae478addd6fa214ef0f1.tar.gz
SERVER-43710 Upgrade Zstandard to version 1.4.3
Diffstat (limited to 'src/third_party/zstandard-1.3.7/zstd/tests/fuzz/fuzz_helpers.h')
-rw-r--r--src/third_party/zstandard-1.3.7/zstd/tests/fuzz/fuzz_helpers.h92
1 files changed, 0 insertions, 92 deletions
diff --git a/src/third_party/zstandard-1.3.7/zstd/tests/fuzz/fuzz_helpers.h b/src/third_party/zstandard-1.3.7/zstd/tests/fuzz/fuzz_helpers.h
deleted file mode 100644
index 468c39fb42d..00000000000
--- a/src/third_party/zstandard-1.3.7/zstd/tests/fuzz/fuzz_helpers.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2016-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under both the BSD-style license (found in the
- * LICENSE file in the root directory of this source tree) and the GPLv2 (found
- * in the COPYING file in the root directory of this source tree).
- */
-
-/**
- * Helper functions for fuzzing.
- */
-
-#ifndef FUZZ_HELPERS_H
-#define FUZZ_HELPERS_H
-
-#include "fuzz.h"
-#include "xxhash.h"
-#include "zstd.h"
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MIN(a, b) ((a) < (b) ? (a) : (b))
-#define MAX(a, b) ((a) > (b) ? (a) : (b))
-
-#define FUZZ_QUOTE_IMPL(str) #str
-#define FUZZ_QUOTE(str) FUZZ_QUOTE_IMPL(str)
-
-/**
- * Asserts for fuzzing that are always enabled.
- */
-#define FUZZ_ASSERT_MSG(cond, msg) \
- ((cond) ? (void)0 \
- : (fprintf(stderr, "%s: %u: Assertion: `%s' failed. %s\n", __FILE__, \
- __LINE__, FUZZ_QUOTE(cond), (msg)), \
- abort()))
-#define FUZZ_ASSERT(cond) FUZZ_ASSERT_MSG((cond), "");
-#define FUZZ_ZASSERT(code) \
- FUZZ_ASSERT_MSG(!ZSTD_isError(code), ZSTD_getErrorName(code))
-
-#if defined(__GNUC__)
-#define FUZZ_STATIC static __inline __attribute__((unused))
-#elif defined(__cplusplus) || \
- (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */)
-#define FUZZ_STATIC static inline
-#elif defined(_MSC_VER)
-#define FUZZ_STATIC static __inline
-#else
-#define FUZZ_STATIC static
-#endif
-
-/**
- * Determininistically constructs a seed based on the fuzz input.
- * Consumes up to the first FUZZ_RNG_SEED_SIZE bytes of the input.
- */
-FUZZ_STATIC uint32_t FUZZ_seed(uint8_t const **src, size_t* size) {
- uint8_t const *data = *src;
- size_t const toHash = MIN(FUZZ_RNG_SEED_SIZE, *size);
- *size -= toHash;
- *src += toHash;
- return XXH32(data, toHash, 0);
-}
-
-#define FUZZ_rotl32(x, r) (((x) << (r)) | ((x) >> (32 - (r))))
-
-FUZZ_STATIC uint32_t FUZZ_rand(uint32_t *state) {
- static const uint32_t prime1 = 2654435761U;
- static const uint32_t prime2 = 2246822519U;
- uint32_t rand32 = *state;
- rand32 *= prime1;
- rand32 += prime2;
- rand32 = FUZZ_rotl32(rand32, 13);
- *state = rand32;
- return rand32 >> 5;
-}
-
-/* Returns a random numer in the range [min, max]. */
-FUZZ_STATIC uint32_t FUZZ_rand32(uint32_t *state, uint32_t min, uint32_t max) {
- uint32_t random = FUZZ_rand(state);
- return min + (random % (max - min + 1));
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif