summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2019-06-28 15:11:27 +0200
committerPatrick Steinhardt <ps@pks.im>2019-07-20 19:10:10 +0200
commit86ecd6008da3b0b0baa0833fd8932e91994a9f9b (patch)
tree5c4de367032113d41d2dbf0e6513686720ce8735
parent1f44079cae42864cb51d98ca57f5d1f4d8296693 (diff)
downloadlibgit2-86ecd6008da3b0b0baa0833fd8932e91994a9f9b.tar.gz
fuzzers: provide test targets
Instead of having to find the fuzzer executables in our Azure test scripts, provide test targets for each of our fuzzers that will run them with the correct paths.
-rwxr-xr-xci/test.sh4
-rw-r--r--fuzzers/CMakeLists.txt4
2 files changed, 5 insertions, 3 deletions
diff --git a/ci/test.sh b/ci/test.sh
index 9e12f53c3..cbc3925a9 100755
--- a/ci/test.sh
+++ b/ci/test.sh
@@ -256,9 +256,7 @@ if [ -z "$SKIP_FUZZERS" ]; then
echo "## Running fuzzers"
echo "##############################################################################"
- for fuzzer in fuzzers/*_fuzzer; do
- "${fuzzer}" "${SOURCE_DIR}/fuzzers/corpora/$(basename "${fuzzer%_fuzzer}")" || failure
- done
+ ctest -V -R 'fuzzer'
fi
cleanup
diff --git a/fuzzers/CMakeLists.txt b/fuzzers/CMakeLists.txt
index 1c03aa980..59eca24d0 100644
--- a/fuzzers/CMakeLists.txt
+++ b/fuzzers/CMakeLists.txt
@@ -9,6 +9,8 @@ ENDIF ()
FILE(GLOB SRC_FUZZ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *_fuzzer.c)
FOREACH(fuzz_target_src ${SRC_FUZZ})
STRING(REPLACE ".c" "" fuzz_target_name ${fuzz_target_src})
+ STRING(REPLACE "_fuzzer" "" fuzz_name ${fuzz_target_name})
+
SET(${fuzz_target_name}_SOURCES ${fuzz_target_src} ${LIBGIT2_OBJECTS})
IF(USE_STANDALONE_FUZZERS)
LIST(APPEND ${fuzz_target_name}_SOURCES "standalone_driver.c")
@@ -16,4 +18,6 @@ FOREACH(fuzz_target_src ${SRC_FUZZ})
ADD_EXECUTABLE(${fuzz_target_name} ${${fuzz_target_name}_SOURCES})
SET_TARGET_PROPERTIES(${fuzz_target_name} PROPERTIES C_STANDARD 90)
TARGET_LINK_LIBRARIES(${fuzz_target_name} ${LIBGIT2_LIBS})
+
+ ADD_TEST(${fuzz_target_name} "${CMAKE_CURRENT_BINARY_DIR}/${fuzz_target_name}" "${CMAKE_CURRENT_SOURCE_DIR}/corpora/${fuzz_name}")
ENDFOREACH()