]> git.proxmox.com Git - ceph.git/blob - ceph/src/test/librbd/CMakeLists.txt
38765811de9ee2a05c89eaa01e4cfec7338e89ef
[ceph.git] / ceph / src / test / librbd / CMakeLists.txt
1 set(librbd_test
2 test_fixture.cc
3 test_support.cc
4 test_librbd.cc
5 test_ImageWatcher.cc
6 test_internal.cc
7 test_mirroring.cc
8 test_MirroringWatcher.cc
9 test_ObjectMap.cc
10 test_Operations.cc
11 journal/test_Entries.cc
12 journal/test_Replay.cc)
13 add_library(rbd_test STATIC ${librbd_test})
14 set_target_properties(rbd_test PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS})
15
16 set(librbd_test_mock_srcs
17 mock/MockImageCtx.cc
18 mock/MockJournal.cc)
19 add_library(rbd_test_mock STATIC ${librbd_test_mock_srcs})
20 set_target_properties(rbd_test_mock PROPERTIES COMPILE_FLAGS
21 ${UNITTEST_CXX_FLAGS})
22
23 # unittest_librbd
24 # doesn't use add_ceph_test because it is called by run-rbd-unit-tests.sh
25 set(unittest_librbd_srcs
26 test_BlockGuard.cc
27 test_Groups.cc
28 test_main.cc
29 test_mock_fixture.cc
30 test_mock_ExclusiveLock.cc
31 test_mock_Journal.cc
32 test_mock_ManagedLock.cc
33 test_mock_ObjectMap.cc
34 exclusive_lock/test_mock_PreAcquireRequest.cc
35 exclusive_lock/test_mock_PostAcquireRequest.cc
36 exclusive_lock/test_mock_PreReleaseRequest.cc
37 image/test_mock_RefreshRequest.cc
38 image/test_mock_RemoveRequest.cc
39 io/test_mock_ImageRequest.cc
40 journal/test_mock_OpenRequest.cc
41 journal/test_mock_PromoteRequest.cc
42 journal/test_mock_Replay.cc
43 managed_lock/test_mock_AcquireRequest.cc
44 managed_lock/test_mock_BreakRequest.cc
45 managed_lock/test_mock_GetLockerRequest.cc
46 managed_lock/test_mock_ReacquireRequest.cc
47 managed_lock/test_mock_ReleaseRequest.cc
48 mirror/test_mock_DisableRequest.cc
49 object_map/test_mock_InvalidateRequest.cc
50 object_map/test_mock_LockRequest.cc
51 object_map/test_mock_RefreshRequest.cc
52 object_map/test_mock_ResizeRequest.cc
53 object_map/test_mock_SnapshotCreateRequest.cc
54 object_map/test_mock_SnapshotRemoveRequest.cc
55 object_map/test_mock_SnapshotRollbackRequest.cc
56 object_map/test_mock_UnlockRequest.cc
57 object_map/test_mock_UpdateRequest.cc
58 operation/test_mock_DisableFeaturesRequest.cc
59 operation/test_mock_EnableFeaturesRequest.cc
60 operation/test_mock_Request.cc
61 operation/test_mock_ResizeRequest.cc
62 operation/test_mock_SnapshotCreateRequest.cc
63 operation/test_mock_SnapshotProtectRequest.cc
64 operation/test_mock_SnapshotRemoveRequest.cc
65 operation/test_mock_SnapshotRollbackRequest.cc
66 operation/test_mock_SnapshotUnprotectRequest.cc
67 watcher/test_mock_RewatchRequest.cc
68 )
69 add_executable(unittest_librbd
70 ${unittest_librbd_srcs}
71 $<TARGET_OBJECTS:common_texttable_obj>)
72 target_compile_definitions(unittest_librbd PUBLIC "-DTEST_LIBRBD_INTERNALS")
73 set_target_properties(unittest_librbd PROPERTIES COMPILE_FLAGS
74 ${UNITTEST_CXX_FLAGS})
75 target_link_libraries(unittest_librbd
76 cls_rbd
77 cls_rbd_client
78 cls_lock
79 cls_lock_client
80 journal
81 journal_test_mock
82 cls_journal
83 cls_journal_client
84 rados_test_stub
85 librados
86 rbd_test
87 rbd_test_mock
88 rbd_api
89 rbd_internal
90 rbd_types
91 osdc
92 global
93 ${UNITTEST_LIBS}
94 radostest)
95
96 add_executable(ceph_test_librbd
97 test_main.cc
98 $<TARGET_OBJECTS:common_texttable_obj>)
99 target_link_libraries(ceph_test_librbd
100 rbd_test
101 rbd_api
102 rbd_internal
103 rbd_types
104 journal
105 cls_journal_client
106 cls_rbd_client
107 rados_a
108 ${UNITTEST_LIBS}
109 radostest)
110 set_target_properties(ceph_test_librbd PROPERTIES COMPILE_FLAGS
111 ${UNITTEST_CXX_FLAGS})
112
113 add_executable(ceph_test_librbd_api
114 test_support.cc
115 test_librbd.cc
116 test_main.cc
117 $<TARGET_OBJECTS:libradostest_obj>
118 $<TARGET_OBJECTS:common_texttable_obj>)
119 target_link_libraries(ceph_test_librbd_api
120 librbd
121 librados
122 ${UNITTEST_LIBS})
123 set_target_properties(ceph_test_librbd_api PROPERTIES COMPILE_FLAGS
124 ${UNITTEST_CXX_FLAGS})
125
126 if(LINUX)
127 add_executable(ceph_test_librbd_fsx
128 fsx.cc
129 $<TARGET_OBJECTS:common_texttable_obj>
130 )
131 target_link_libraries(ceph_test_librbd_fsx
132 librbd
133 librados
134 journal
135 krbd
136 global
137 m
138 ${CMAKE_DL_LIBS}
139 ${CRYPTO_LIBS}
140 ${EXTRALIBS}
141 )
142 install(TARGETS
143 ceph_test_librbd_fsx
144 DESTINATION ${CMAKE_INSTALL_BINDIR})
145 endif(LINUX)
146
147 install(TARGETS
148 ceph_test_librbd
149 ceph_test_librbd_api
150 DESTINATION ${CMAKE_INSTALL_BINDIR})