mirror of https://github.com/google/oss-fuzz.git
[envoy] exclude no_fuzz tagged targets. (#1712)
This will make it easier for us to control individual test targets and exclude trivials/bad fuzzers from the Envoy GH repo. Signed-off-by: Harvey Tuch <htuch@google.com>
This commit is contained in:
parent
e1aa07c491
commit
870f29baf8
|
@ -44,26 +44,40 @@ for f in ${CXXFLAGS}; do
|
||||||
done
|
done
|
||||||
)"
|
)"
|
||||||
|
|
||||||
# Build Envoy
|
declare BAZEL_BUILD_TARGETS=""
|
||||||
declare -r BAZEL_BUILD_TARGETS="$(for t in ${FUZZER_TARGETS}; do \
|
declare FILTERED_FUZZER_TARGETS=""
|
||||||
echo //"$(dirname "$t")":"$(basename "$t")_driverless"; done)"
|
for t in ${FUZZER_TARGETS}
|
||||||
|
do
|
||||||
|
declare BAZEL_PATH="//"$(dirname "$t")":"$(basename "$t")
|
||||||
|
declare TAGGED=$(bazel query "attr('tags', 'no_fuzz', ${BAZEL_PATH})")
|
||||||
|
if [ -z "${TAGGED}" ]
|
||||||
|
then
|
||||||
|
FILTERED_FUZZER_TARGETS+="$t "
|
||||||
|
BAZEL_BUILD_TARGETS+="${BAZEL_PATH}_driverless "
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Build driverless libraries.
|
||||||
bazel build --verbose_failures --dynamic_mode=off --spawn_strategy=standalone \
|
bazel build --verbose_failures --dynamic_mode=off --spawn_strategy=standalone \
|
||||||
--genrule_strategy=standalone --strip=never \
|
--genrule_strategy=standalone --strip=never \
|
||||||
--copt=-fno-sanitize=vptr --linkopt=-fno-sanitize=vptr --linkopt=-lc++fs \
|
--copt=-fno-sanitize=vptr --linkopt=-fno-sanitize=vptr --linkopt=-lc++fs \
|
||||||
--define tcmalloc=disabled --define signal_trace=disabled \
|
--define tcmalloc=disabled --define signal_trace=disabled \
|
||||||
--define ENVOY_CONFIG_ASAN=1 --copt -D__SANITIZE_ADDRESS__ \
|
--define ENVOY_CONFIG_ASAN=1 --copt -D__SANITIZE_ADDRESS__ \
|
||||||
--define force_libcpp=enabled \
|
--define force_libcpp=enabled \
|
||||||
--build_tag_filters=-no_asan --test_tag_filters=-no_asan \
|
--build_tag_filters=-no_asan \
|
||||||
${EXTRA_BAZEL_FLAGS} \
|
${EXTRA_BAZEL_FLAGS} \
|
||||||
--linkopt="-lFuzzingEngine" \
|
--linkopt="-lFuzzingEngine" \
|
||||||
${BAZEL_BUILD_TARGETS[*]}
|
${BAZEL_BUILD_TARGETS[*]}
|
||||||
|
|
||||||
# Copy out test binaries from bazel-bin/ and zip up related test corpuses.
|
# Copy out test driverless binaries from bazel-bin/ and zip up related test
|
||||||
for t in ${FUZZER_TARGETS}
|
# corpuses.
|
||||||
|
for t in ${FILTERED_FUZZER_TARGETS}
|
||||||
do
|
do
|
||||||
TARGET_CORPUS=$(python "${SRC}"/find_corpus.py "$t")
|
TARGET_CORPUS=$(python "${SRC}"/find_corpus.py "$t")
|
||||||
TARGET_BASE="$(expr "$t" : '.*/\(.*\)_fuzz_test')"
|
TARGET_BASE="$(expr "$t" : '.*/\(.*\)_fuzz_test')"
|
||||||
cp bazel-bin/"${t}"_driverless "${OUT}"/"${TARGET_BASE}"_fuzz_test
|
TARGET_DRIVERLESS=bazel-bin/"${t}"_driverless
|
||||||
|
echo "Copying fuzzer $t and corpus"
|
||||||
|
cp "${TARGET_DRIVERLESS}" "${OUT}"/"${TARGET_BASE}"_fuzz_test
|
||||||
zip "${OUT}/${TARGET_BASE}"_fuzz_test_seed_corpus.zip \
|
zip "${OUT}/${TARGET_BASE}"_fuzz_test_seed_corpus.zip \
|
||||||
"$(dirname "${t}")"/"${TARGET_CORPUS}"/*
|
"$(dirname "${t}")"/"${TARGET_CORPUS}"/*
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in New Issue