aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJohn Levon <john.levon@nutanix.com>2021-03-01 10:57:32 +0000
committerGitHub <noreply@github.com>2021-03-01 10:57:32 +0000
commitbb0ea196f62bfad9f4ef89ab20824a16644c6b0e (patch)
tree52f88b714f77a24c0e8f24f7b40e6d77f885f2ee /test
parent2d39c2cc5e5cb919821979771d2101a5f423ce14 (diff)
downloadlibvfio-user-bb0ea196f62bfad9f4ef89ab20824a16644c6b0e.zip
libvfio-user-bb0ea196f62bfad9f4ef89ab20824a16644c6b0e.tar.gz
libvfio-user-bb0ea196f62bfad9f4ef89ab20824a16644c6b0e.tar.bz2
run unit tests under valgrind too (#358)
If we're not running ASAN, use valgrind. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt12
1 files changed, 11 insertions, 1 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 21116eb..b84064c 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -26,6 +26,16 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
+if (WITH_ASAN EQUAL 1)
+ unset(valgrind)
+else()
+ set(valgrind_path "/usr/bin/valgrind")
+ set(valgrind_args "--error-exitcode=1 --leak-check=full --quiet")
+ set(valgrind_args "${valgrind_args} --show-leak-kinds=all --track-origins=yes")
+ separate_arguments(valgrind_args)
+ set(valgrind ${valgrind_path} ${valgrind_args})
+endif()
+
add_executable(unit-tests unit-tests.c mocks.c
../lib/dma.c
../lib/irq.c
@@ -60,6 +70,6 @@ target_link_libraries(unit-tests PUBLIC "-Wl,--wrap=should_exec_command")
target_link_libraries(unit-tests PUBLIC "-Wl,--wrap=handle_dirty_pages")
enable_testing()
-add_test(NAME unit-tests COMMAND unit-tests)
+add_test(NAME unit-tests COMMAND ${valgrind} ${CMAKE_CURRENT_BINARY_DIR}/unit-tests)
add_test(NAME lspci COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/test-lspci.sh)
add_test(NAME client-server COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/test-client-server.sh)