|
Packit |
ac4610 |
project(tests C)
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
include_directories(
|
|
Packit |
ac4610 |
${CMAKE_BINARY_DIR}
|
|
Packit |
ac4610 |
${CMAKE_CURRENT_SOURCE_DIR}
|
|
Packit |
ac4610 |
${CMOCKA_INCLUDE_DIR}
|
|
Packit |
ac4610 |
)
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
set(TESTSUITE_LIBRARIES ${NWRAP_REQUIRED_LIBRARIES} ${CMOCKA_LIBRARY})
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
add_library(nss_nwrap SHARED nss_nwrap.c)
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
set(HOMEDIR ${CMAKE_CURRENT_BINARY_DIR})
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
configure_file(passwd.in ${CMAKE_CURRENT_BINARY_DIR}/passwd @ONLY)
|
|
Packit |
ac4610 |
configure_file(group.in ${CMAKE_CURRENT_BINARY_DIR}/group @ONLY)
|
|
Packit |
ac4610 |
configure_file(hosts.in ${CMAKE_CURRENT_BINARY_DIR}/hosts @ONLY)
|
|
Packit |
ac4610 |
configure_file(shadow.in ${CMAKE_CURRENT_BINARY_DIR}/shadow @ONLY)
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
set(TEST_ENVIRONMENT LD_PRELOAD=${NSS_WRAPPER_LOCATION})
|
|
Packit |
ac4610 |
list(APPEND TEST_ENVIRONMENT NSS_WRAPPER_PASSWD=${CMAKE_CURRENT_BINARY_DIR}/passwd)
|
|
Packit |
ac4610 |
list(APPEND TEST_ENVIRONMENT NSS_WRAPPER_GROUP=${CMAKE_CURRENT_BINARY_DIR}/group)
|
|
Packit |
ac4610 |
list(APPEND TEST_ENVIRONMENT NSS_WRAPPER_SHADOW=${CMAKE_CURRENT_BINARY_DIR}/shadow)
|
|
Packit |
ac4610 |
list(APPEND TEST_ENVIRONMENT NSS_WRAPPER_HOSTS=${CMAKE_CURRENT_BINARY_DIR}/hosts)
|
|
Packit |
ac4610 |
list(APPEND TEST_ENVIRONMENT NSS_WRAPPER_MODULE_SO_PATH=${CMAKE_CURRENT_BINARY_DIR}/libnss_nwrap.so)
|
|
Packit |
ac4610 |
list(APPEND TEST_ENVIRONMENT NSS_WRAPPER_MODULE_FN_PREFIX=nwrap)
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
set(NWRAP_TESTS
|
|
Packit |
ac4610 |
testsuite
|
|
Packit |
ac4610 |
test_nwrap_vector
|
|
Packit |
ac4610 |
test_getaddrinfo
|
|
Packit |
ac4610 |
test_getnameinfo
|
|
Packit |
ac4610 |
test_gethostby_name_addr
|
|
Packit |
ac4610 |
test_gethostent)
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
if (HAVE_SHADOW_H)
|
|
Packit |
ac4610 |
list(APPEND NWRAP_TESTS test_shadow)
|
|
Packit |
ac4610 |
endif (HAVE_SHADOW_H)
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
foreach(_NWRAP_TEST ${NWRAP_TESTS})
|
|
Packit |
ac4610 |
add_cmocka_test(${_NWRAP_TEST} ${_NWRAP_TEST}.c ${TESTSUITE_LIBRARIES})
|
|
Packit |
ac4610 |
set_property(
|
|
Packit |
ac4610 |
TEST
|
|
Packit |
ac4610 |
${_NWRAP_TEST}
|
|
Packit |
ac4610 |
PROPERTY
|
|
Packit |
ac4610 |
ENVIRONMENT ${TEST_ENVIRONMENT})
|
|
Packit |
ac4610 |
endforeach()
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
if (HAVE_SHADOW_H)
|
|
Packit |
ac4610 |
# This is needed to check the hash in tests/shadow.in
|
|
Packit |
ac4610 |
target_link_libraries(test_shadow crypt)
|
|
Packit |
ac4610 |
endif (HAVE_SHADOW_H)
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
target_link_libraries(test_nwrap_vector ${CMAKE_THREAD_LIBS_INIT})
|
|
Packit |
ac4610 |
target_link_libraries(test_gethostby_name_addr ${CMAKE_THREAD_LIBS_INIT})
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
if (BSD)
|
|
Packit |
ac4610 |
add_definitions(-DBSD)
|
|
Packit |
ac4610 |
endif (BSD)
|
|
Packit |
ac4610 |
|
|
Packit |
ac4610 |
# Test nwrap without wrapping so the libc functions are called
|
|
Packit |
ac4610 |
add_cmocka_test(test_nwrap_disabled test_nwrap_disabled.c ${TESTSUITE_LIBRARIES})
|
|
Packit |
ac4610 |
set_property(
|
|
Packit |
ac4610 |
TEST
|
|
Packit |
ac4610 |
test_nwrap_disabled
|
|
Packit |
ac4610 |
PROPERTY
|
|
Packit |
ac4610 |
ENVIRONMENT LD_PRELOAD=${CMAKE_BINARY_DIR}/src/libnss_wrapper.so)
|