summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2018-09-27 17:22:57 +0200
committerAndreas Schneider <asn@samba.org>2018-10-23 15:38:50 +0200
commitb976977a5355b67bd563e363abb3d2cb7fa6d3c9 (patch)
treea16b065bacb044f149abfecbb98a561f3ea38362 /tests
parentb91dae57e472cafe1c2014b84f79a9552d53579c (diff)
downloadsocket_wrapper-b976977a5355b67bd563e363abb3d2cb7fa6d3c9.tar.gz
socket_wrapper-b976977a5355b67bd563e363abb3d2cb7fa6d3c9.tar.xz
socket_wrapper-b976977a5355b67bd563e363abb3d2cb7fa6d3c9.zip
cmake: Update AddCMockaTest
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt83
1 files changed, 41 insertions, 42 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 464ac9b..3578f76 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -52,7 +52,6 @@ set(SWRAP_TESTS
test_swrap_unit
test_max_sockets
test_close_failure
- test_fork_thread_deadlock
test_tcp_socket_overwrite
${SWRAP_THREADED_TESTS})
@@ -60,52 +59,47 @@ if (HAVE_STRUCT_MSGHDR_MSG_CONTROL)
set(SWRAP_TESTS ${SWRAP_TESTS} test_sendmsg_recvmsg_fd)
endif (HAVE_STRUCT_MSGHDR_MSG_CONTROL)
-if (CMAKE_BUILD_TYPE)
- string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
- if (CMAKE_BUILD_TYPE_LOWER STREQUAL "addresssanitizer")
- find_library(ASAN_LIBRARY
- NAMES asan)
- if (NOT ASAN_LIBRARY)
- foreach(version RANGE 10 1)
- if (NOT ASAN_LIBRARY)
- find_library(ASAN_LIBRARY libasan.so.${version})
- endif()
- endforeach()
+function(ADD_CMOCKA_TEST_ENVIRONMENT _TEST_NAME)
+ if (CMAKE_BUILD_TYPE)
+ string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
+ if (CMAKE_BUILD_TYPE_LOWER STREQUAL "addresssanitizer")
+ find_library(ASAN_LIBRARY
+ NAMES asan)
+ if (NOT ASAN_LIBRARY)
+ foreach(version RANGE 10 1)
+ if (NOT ASAN_LIBRARY)
+ find_library(ASAN_LIBRARY libasan.so.${version})
+ endif()
+ endforeach()
+ endif()
endif()
endif()
-endif()
-
-if (ASAN_LIBRARY)
- list(APPEND PRELOAD_LIBRARIES ${ASAN_LIBRARY})
-endif()
-
-list(APPEND PRELOAD_LIBRARIES ${SOCKET_WRAPPER_LOCATION})
-
-string(REPLACE ";" ":" TORTURE_ENVIRONMENT "${PRELOAD_LIBRARIES}")
-string(PREPEND TORTURE_ENVIRONMENT "LD_PRELOAD=")
-
-message(STATUS "TORTURE_ENVIRONMENT=${TORTURE_ENVIRONMENT}")
-foreach(_SWRAP_TEST ${SWRAP_TESTS})
- add_cmocka_test(${_SWRAP_TEST} ${_SWRAP_TEST}.c ${TORTURE_LIBRARY})
- target_compile_options(${_SWRAP_TEST}
- PRIVATE
- ${DEFAULT_C_COMPILE_FLAGS}
- -D_GNU_SOURCE)
+ if (ASAN_LIBRARY)
+ list(APPEND PRELOAD_LIBRARIES ${ASAN_LIBRARY})
+ endif()
+ list(APPEND PRELOAD_LIBRARIES ${SOCKET_WRAPPER_LOCATION})
if (OSX)
- set_property(
- TEST
- ${_SWRAP_TEST}
- PROPERTY
- ENVIRONMENT DYLD_FORCE_FLAT_NAMESPACE=1;DYLD_INSERT_LIBRARIES=${SOCKET_WRAPPER_LOCATION})
+ set(TORTURE_ENVIRONMENT "DYLD_FORCE_FLAT_NAMESPACE=1;DYLD_INSERT_LIBRARIES=${SOCKET_WRAPPER_LOCATION}")
else ()
- set_property(
- TEST
- ${_SWRAP_TEST}
- PROPERTY
- ENVIRONMENT ${TORTURE_ENVIRONMENT})
+ string(REPLACE ";" ":" TORTURE_ENVIRONMENT "${PRELOAD_LIBRARIES}")
+ string(PREPEND TORTURE_ENVIRONMENT "LD_PRELOAD=")
endif()
+
+ set_property(TEST
+ ${_TEST_NAME}
+ PROPERTY
+ ENVIRONMENT "${TORTURE_ENVIRONMENT}")
+endfunction()
+
+foreach(_SWRAP_TEST ${SWRAP_TESTS})
+ add_cmocka_test(${_SWRAP_TEST}
+ SOURCES ${_SWRAP_TEST}.c
+ COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS} -D_GNU_SOURCE
+ LINK_LIBRARIES ${TORTURE_LIBRARY}
+ LINK_OPTIONS ${DEFAULT_LINK_FLAGS})
+ add_cmocka_test_environment(${_SWRAP_TEST})
endforeach()
if (HELGRIND_TESTING)
@@ -138,5 +132,10 @@ endif()
add_library(thread_deadlock SHARED thread_deadlock.c)
target_link_libraries(thread_deadlock ${CMAKE_THREAD_LIBS_INIT})
target_compile_options(thread_deadlock PRIVATE ${DEFAULT_C_COMPILE_FLAGS})
-target_link_libraries(test_fork_thread_deadlock thread_deadlock)
-target_compile_options(test_fork_thread_deadlock PRIVATE ${DEFAULT_C_COMPILE_FLAGS})
+
+add_cmocka_test(test_fork_thread_deadlock
+ SOURCES test_fork_thread_deadlock.c
+ COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS} -D_GNU_SOURCE
+ LINK_LIBRARIES ${TORTURE_LIBRARY} thread_deadlock
+ LINK_OPTIONS ${DEFAULT_LINK_FLAGS})
+add_cmocka_test_environment(test_fork_thread_deadlock)