File: CMakeLists.txt

package info (click to toggle)
uid-wrapper 1.2.1%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 464 kB
  • ctags: 300
  • sloc: ansic: 4,859; makefile: 48; sh: 11
file content (142 lines) | stat: -rw-r--r-- 3,827 bytes parent folder | download
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)