${CMOCKA_INCLUDE_DIR}
)
+# Required for cmocka >= 1.1.6
+if (TARGET cmocka::cmocka)
+ set(CMOCKA_LIBRARY cmocka::cmocka)
+endif()
+
set(TORTURE_LIBRARY torture)
# RFC862 echo server
${SWRAP_REQUIRED_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT})
+add_library(swrap_fake_uid_wrapper SHARED swrap_fake_uid_wrapper.c)
+target_compile_options(swrap_fake_uid_wrapper
+ PRIVATE
+ ${DEFAULT_C_COMPILE_FLAGS}
+ -D_GNU_SOURCE)
+#target_include_directories(swrap_fake_uid_wrapper
+# PRIVATE ${CMAKE_BINARY_DIR} ${CMOCKA_INCLUDE_DIR})
+set(SWRAP_FAKE_UID_WRAPPER_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}swrap_fake_uid_wrapper${CMAKE_SHARED_LIBRARY_SUFFIX}")
+
set(SWRAP_THREADED_TESTS
test_thread_sockets
test_thread_echo_tcp_connect
test_tcp_listen
test_tcp_dup2
test_fcntl
+ test_fcntl_lock
test_echo_tcp_connect
test_echo_tcp_bind
test_echo_tcp_socket_options
test_echo_tcp_sendmsg_recvmsg
+ test_echo_tcp_sendmmsg_recvmmsg
test_echo_tcp_write_read
+ test_echo_tcp_poll
test_echo_tcp_writev_readv
test_echo_tcp_get_peer_sock_name
test_echo_udp_sendto_recvfrom
test_echo_udp_send_recv
test_echo_udp_sendmsg_recvmsg
- test_swrap_unit
test_max_sockets
test_public_functions
test_close_failure
test_tcp_socket_overwrite
+ test_syscall_uwrap
${SWRAP_THREADED_TESTS})
if (HAVE_STRUCT_MSGHDR_MSG_CONTROL)
if (ASAN_LIBRARY)
list(APPEND PRELOAD_LIBRARIES ${ASAN_LIBRARY})
endif()
+ list(APPEND PRELOAD_LIBRARIES ${SWRAP_FAKE_UID_WRAPPER_LOCATION})
list(APPEND PRELOAD_LIBRARIES ${SOCKET_WRAPPER_LOCATION})
if (OSX)
ENVIRONMENT "${TORTURE_ENVIRONMENT}")
endfunction()
+if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+ message(STATUS "Enabling large file support for tests")
+ set(LFS_CFLAGS "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64")
+endif()
+
foreach(_SWRAP_TEST ${SWRAP_TESTS})
add_cmocka_test(${_SWRAP_TEST}
SOURCES ${_SWRAP_TEST}.c
- COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS} -D_GNU_SOURCE
+ COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS} -D_GNU_SOURCE ${LFS_CFLAGS}
LINK_LIBRARIES ${TORTURE_LIBRARY} socket_wrapper_noop
LINK_OPTIONS ${DEFAULT_LINK_FLAGS})
add_cmocka_test_environment(${_SWRAP_TEST})
endif()
endif()
+# test_swrap_unit (don't use LFS)
+add_cmocka_test(test_swrap_unit
+ SOURCES test_swrap_unit.c
+ COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS} -D_GNU_SOURCE
+ LINK_LIBRARIES ${TORTURE_LIBRARY} socket_wrapper_noop
+ LINK_OPTIONS ${DEFAULT_LINK_FLAGS})
+add_cmocka_test_environment(test_swrap_unit)
+
# test_fork_pthread
add_library(thread_deadlock SHARED thread_deadlock.c)
target_link_libraries(thread_deadlock ${CMAKE_THREAD_LIBS_INIT})