mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-15 14:22:37 -03:00
28 lines
1,023 B
Bash
Executable file
28 lines
1,023 B
Bash
Executable file
#!/usr/bin/env bash
|
|
# Copyright (c) 2020 The Bitcoin Core developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
export LC_ALL=C.UTF-8
|
|
|
|
set -e
|
|
|
|
ROOT_DIR="$(git rev-parse --show-toplevel)"
|
|
|
|
# Run only once (break make recursion)
|
|
if [ -d "${ROOT_DIR}/lock_fuzz_link_all" ]; then
|
|
exit
|
|
fi
|
|
mkdir "${ROOT_DIR}/lock_fuzz_link_all"
|
|
|
|
echo "Linking each fuzz target separately."
|
|
for FUZZING_HARNESS in $(PRINT_ALL_FUZZ_TARGETS_AND_ABORT=1 "${ROOT_DIR}/src/test/fuzz/fuzz" | sort -u); do
|
|
echo "Building src/test/fuzz/${FUZZING_HARNESS} ..."
|
|
git checkout -- "${ROOT_DIR}/src/test/fuzz/fuzz.cpp"
|
|
sed -i "s/std::getenv(\"FUZZ\")/\"${FUZZING_HARNESS}\"/g" "${ROOT_DIR}/src/test/fuzz/fuzz.cpp"
|
|
make
|
|
mv "${ROOT_DIR}/src/test/fuzz/fuzz" "${ROOT_DIR}/src/test/fuzz/${FUZZING_HARNESS}"
|
|
done
|
|
git checkout -- "${ROOT_DIR}/src/test/fuzz/fuzz.cpp"
|
|
rmdir "${ROOT_DIR}/lock_fuzz_link_all"
|
|
echo "Successfully built all fuzz targets."
|