mirror of https://github.com/google/oss-fuzz.git
bitcoin-core: Only compile one fuzz target when OSS_FUZZ_CI (#5738)
This commit is contained in:
parent
41dcf822ef
commit
0da70e1c01
|
@ -49,19 +49,19 @@ make -j$(nproc)
|
|||
|
||||
WRITE_ALL_FUZZ_TARGETS_AND_ABORT="/tmp/a" "./src/test/fuzz/fuzz" || true
|
||||
readarray FUZZ_TARGETS < "/tmp/a"
|
||||
if [ -n "${OSS_FUZZ_CI-}" ]; then
|
||||
# When running in CI, check the first targets only to save time and disk space
|
||||
FUZZ_TARGETS=( ${FUZZ_TARGETS[@]:0:2} )
|
||||
fi
|
||||
|
||||
# Compile the fuzz executable again with a "magic string" as the name of the fuzz target
|
||||
export MAGIC_STR="b5813eee2abc9d3358151f298b75a72264ffa119d2f71ae7fefa15c4b70b4bc5b38e87e3107a730f25891ea428b2b4fabe7a84f5bfa73c79e0479e085e4ff157"
|
||||
sed -i "s|std::getenv(\"FUZZ\")|\"$MAGIC_STR\"|g" "./src/test/fuzz/fuzz.cpp"
|
||||
make -j$(nproc)
|
||||
|
||||
# Clean all build files to avoid out-of-disk errors
|
||||
mv "./src/test/fuzz/fuzz" "./fuzz_main"
|
||||
make distclean
|
||||
|
||||
# Replace the magic string with the actual name of each fuzz target
|
||||
for fuzz_target in ${FUZZ_TARGETS[@]}; do
|
||||
python3 -c "c_str_target=b\"${fuzz_target}\x00\";c_str_magic=b\"$MAGIC_STR\";c=open('./fuzz_main','rb').read();c=c.replace(c_str_magic, c_str_target+c_str_magic[len(c_str_target):]);open(\"$OUT/$fuzz_target\",'wb').write(c)"
|
||||
python3 -c "c_str_target=b\"${fuzz_target}\x00\";c_str_magic=b\"$MAGIC_STR\";c=open('./src/test/fuzz/fuzz','rb').read();c=c.replace(c_str_magic, c_str_target+c_str_magic[len(c_str_target):]);open(\"$OUT/$fuzz_target\",'wb').write(c)"
|
||||
chmod +x "$OUT/$fuzz_target"
|
||||
(
|
||||
cd assets/fuzz_seed_corpus
|
||||
|
|
Loading…
Reference in New Issue