1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
project(tests C)
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMOCKA_INCLUDE_DIR}
)
set(PRELOAD_LIBS ${UID_WRAPPER_LOCATION})
if (OSX)
set(TEST_ENVIRONMENT DYLD_FORCE_FLAT_NAMESPACE=1;DYLD_INSERT_LIBRARIES=${PRELOAD_LIBS};UID_WRAPPER=1)
add_definitions(-DOSX)
else ()
set(TEST_ENVIRONMENT LD_PRELOAD=${PRELOAD_LIBS};UID_WRAPPER_ROOT=1)
endif ()
set(TESTSUITE_LIBRARIES ${UWRAP_REQUIRED_LIBRARIES} ${CMOCKA_LIBRARY})
if (BSD)
add_definitions(-DBSD)
endif (BSD)
set(UWRAP_UID_TESTS
test_setuid
test_seteuid)
if (HAVE_SETREUID)
list(APPEND UWRAP_UID_TESTS test_setreuid)
endif (HAVE_SETREUID)
if (HAVE_SETRESUID)
list(APPEND UWRAP_UID_TESTS test_setresuid test_setuid_euid1 test_setuid_euid2)
if (HAVE_GETRESUID)
list(APPEND UWRAP_UID_TESTS test_getresuid)
endif (HAVE_GETRESUID)
endif (HAVE_SETRESUID)
set(UWRAP_SYSCALL_UID_TESTS
test_syscall_setuid
test_syscall_setreuid
test_syscall_setresuid)
set(UWRAP_GID_TESTS
test_setgid
test_setegid)
if (HAVE_SETREGID)
list(APPEND UWRAP_GID_TESTS test_setregid)
endif (HAVE_SETREGID)
if (HAVE_SETRESGID)
list(APPEND UWRAP_GID_TESTS test_setresgid)
if (HAVE_GETRESGID)
list(APPEND UWRAP_GID_TESTS test_setresgid_unprivileged)
endif (HAVE_GETRESGID)
endif (HAVE_SETRESGID)
set(UWRAP_TESTS
${UWRAP_UID_TESTS}
${UWRAP_GID_TESTS}
test_setgroups
test_syscall
${UWRAP_SYSCALL_UID_TESTS}
test_syscall_gid)
if (HAVE_LINUX_32BIT_SYSCALLS)
set(UWRAP_TESTS
${UWRAP_TESTS}
test_syscall_setuid32
test_syscall_setreuid32
test_syscall_setresuid32
test_syscall_setgid32
test_syscall_setregid32
test_syscall_setresgid32
test_syscall_setgroups32)
endif (HAVE_LINUX_32BIT_SYSCALLS)
foreach(_UWRAP_TEST ${UWRAP_TESTS})
add_cmocka_test(${_UWRAP_TEST} ${_UWRAP_TEST}.c ${TESTSUITE_LIBRARIES})
set_property(
TEST
${_UWRAP_TEST}
PROPERTY
ENVIRONMENT ${TEST_ENVIRONMENT};UID_WRAPPER=1)
endforeach()
# helper library implementing uid_wrapper_enabled()
add_library(uwrap_enabled SHARED uwrap_enabled.c)
add_cmocka_test(test_uwrap_enabled test_uwrap_enabled.c ${CMOCKA_LIBRARY} uwrap_enabled)
set_property(
TEST
test_uwrap_enabled
PROPERTY
ENVIRONMENT ${TEST_ENVIRONMENT};UID_WRAPPER=1)
add_cmocka_test(test_uwrap_disabled test_uwrap_disabled.c ${CMOCKA_LIBRARY})
set_property(
TEST
test_uwrap_disabled
PROPERTY
ENVIRONMENT ${TEST_ENVIRONMENT})
add_cmocka_test(test_thread_setuid test_thread_setuid.c ${CMOCKA_LIBRARY})
target_link_libraries(test_thread_setuid ${CMAKE_THREAD_LIBS_INIT})
set_property(
TEST
test_thread_setuid
PROPERTY
ENVIRONMENT ${TEST_ENVIRONMENT};UID_WRAPPER=1;CMOCKA_TEST_ABORT=1)
add_cmocka_test(test_thread_setreuid test_thread_setreuid.c ${CMOCKA_LIBRARY})
target_link_libraries(test_thread_setreuid ${CMAKE_THREAD_LIBS_INIT})
set_property(
TEST
test_thread_setreuid
PROPERTY
ENVIRONMENT ${TEST_ENVIRONMENT};UID_WRAPPER=1;CMOCKA_TEST_ABORT=1)
add_cmocka_test(test_thread_sync_setreuid test_thread_sync_setreuid.c ${CMOCKA_LIBRARY})
target_link_libraries(test_thread_sync_setreuid ${CMAKE_THREAD_LIBS_INIT})
set_property(
TEST
test_thread_sync_setreuid
PROPERTY
ENVIRONMENT ${TEST_ENVIRONMENT};UID_WRAPPER=1;CMOCKA_TEST_ABORT=1)
add_cmocka_test(test_glibc_thread_support test_glibc_thread_support.c ${CMOCKA_LIBRARY})
target_link_libraries(test_glibc_thread_support ${CMAKE_THREAD_LIBS_INIT})
set_property(
TEST
test_glibc_thread_support
PROPERTY
ENVIRONMENT ${TEST_ENVIRONMENT};UID_WRAPPER=1)
if (LINUX)
add_executable(getuids getuids.c)
endif (LINUX)
|