]> git.proxmox.com Git - ceph.git/blob - ceph/src/test/librbd/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / test / librbd / CMakeLists.txt
1 set(librbd_test_support_srcs
2 test_support.cc
3 )
4 add_library(rbd_test_support STATIC ${librbd_test_support_srcs})
5 target_link_libraries(rbd_test_support PRIVATE
6 GTest::GTest)
7
8 set(librbd_test
9 test_fixture.cc
10 test_librbd.cc
11 test_ImageWatcher.cc
12 test_internal.cc
13 test_mirroring.cc
14 test_DeepCopy.cc
15 test_Groups.cc
16 test_Migration.cc
17 test_MirroringWatcher.cc
18 test_ObjectMap.cc
19 test_Operations.cc
20 test_Trash.cc
21 journal/test_Entries.cc
22 journal/test_Replay.cc)
23 add_library(rbd_test STATIC ${librbd_test})
24 target_link_libraries(rbd_test PRIVATE
25 rbd_test_support
26 radostest
27 radostest-cxx
28 librados
29 Boost::thread
30 GMock::GMock
31 GTest::GTest)
32
33 set(librbd_test_mock_srcs
34 mock/MockImageCtx.cc
35 mock/MockJournal.cc)
36 add_library(rbd_test_mock STATIC ${librbd_test_mock_srcs})
37 target_link_libraries(rbd_test_mock PUBLIC
38 GMock::GMock)
39
40 # unittest_librbd
41 # doesn't use add_ceph_test because it is called by run-rbd-unit-tests.sh
42 set(unittest_librbd_srcs
43 test_BlockGuard.cc
44 test_main.cc
45 test_mock_fixture.cc
46 test_mock_ConfigWatcher.cc
47 test_mock_DeepCopyRequest.cc
48 test_mock_ExclusiveLock.cc
49 test_mock_Journal.cc
50 test_mock_ManagedLock.cc
51 test_mock_ObjectMap.cc
52 test_mock_TrashWatcher.cc
53 test_mock_Watcher.cc
54 cache/test_mock_WriteAroundObjectDispatch.cc
55 cache/test_mock_ParentCacheObjectDispatch.cc
56 crypto/test_mock_BlockCrypto.cc
57 crypto/test_mock_CryptoContextPool.cc
58 crypto/test_mock_CryptoObjectDispatch.cc
59 crypto/test_mock_FormatRequest.cc
60 crypto/test_mock_LoadRequest.cc
61 crypto/test_mock_ShutDownCryptoRequest.cc
62 crypto/openssl/test_DataCryptor.cc
63 deep_copy/test_mock_ImageCopyRequest.cc
64 deep_copy/test_mock_MetadataCopyRequest.cc
65 deep_copy/test_mock_ObjectCopyRequest.cc
66 deep_copy/test_mock_SetHeadRequest.cc
67 deep_copy/test_mock_SnapshotCopyRequest.cc
68 deep_copy/test_mock_SnapshotCreateRequest.cc
69 exclusive_lock/test_mock_PreAcquireRequest.cc
70 exclusive_lock/test_mock_PostAcquireRequest.cc
71 exclusive_lock/test_mock_PreReleaseRequest.cc
72 image/test_mock_AttachChildRequest.cc
73 image/test_mock_AttachParentRequest.cc
74 image/test_mock_CloneRequest.cc
75 image/test_mock_DetachChildRequest.cc
76 image/test_mock_DetachParentRequest.cc
77 image/test_mock_ListWatchersRequest.cc
78 image/test_mock_PreRemoveRequest.cc
79 image/test_mock_RefreshRequest.cc
80 image/test_mock_RemoveRequest.cc
81 image/test_mock_ValidatePoolRequest.cc
82 io/test_mock_CopyupRequest.cc
83 io/test_mock_ImageRequest.cc
84 io/test_mock_ObjectRequest.cc
85 io/test_mock_SimpleSchedulerObjectDispatch.cc
86 journal/test_mock_OpenRequest.cc
87 journal/test_mock_PromoteRequest.cc
88 journal/test_mock_Replay.cc
89 journal/test_mock_ResetRequest.cc
90 managed_lock/test_mock_AcquireRequest.cc
91 managed_lock/test_mock_BreakRequest.cc
92 managed_lock/test_mock_GetLockerRequest.cc
93 managed_lock/test_mock_ReacquireRequest.cc
94 managed_lock/test_mock_ReleaseRequest.cc
95 migration/test_mock_FileStream.cc
96 migration/test_mock_HttpClient.cc
97 migration/test_mock_HttpStream.cc
98 migration/test_mock_RawFormat.cc
99 migration/test_mock_RawSnapshot.cc
100 migration/test_mock_QCOWFormat.cc
101 migration/test_mock_S3Stream.cc
102 migration/test_mock_Utils.cc
103 mirror/snapshot/test_mock_CreateNonPrimaryRequest.cc
104 mirror/snapshot/test_mock_CreatePrimaryRequest.cc
105 mirror/snapshot/test_mock_ImageMeta.cc
106 mirror/snapshot/test_mock_PromoteRequest.cc
107 mirror/snapshot/test_mock_UnlinkPeerRequest.cc
108 mirror/snapshot/test_mock_Utils.cc
109 mirror/test_mock_DisableRequest.cc
110 object_map/test_mock_DiffRequest.cc
111 object_map/test_mock_InvalidateRequest.cc
112 object_map/test_mock_LockRequest.cc
113 object_map/test_mock_RefreshRequest.cc
114 object_map/test_mock_ResizeRequest.cc
115 object_map/test_mock_SnapshotCreateRequest.cc
116 object_map/test_mock_SnapshotRemoveRequest.cc
117 object_map/test_mock_SnapshotRollbackRequest.cc
118 object_map/test_mock_UnlockRequest.cc
119 object_map/test_mock_UpdateRequest.cc
120 operation/test_mock_DisableFeaturesRequest.cc
121 operation/test_mock_EnableFeaturesRequest.cc
122 operation/test_mock_Request.cc
123 operation/test_mock_ResizeRequest.cc
124 operation/test_mock_SnapshotCreateRequest.cc
125 operation/test_mock_SnapshotProtectRequest.cc
126 operation/test_mock_SnapshotRemoveRequest.cc
127 operation/test_mock_SnapshotRollbackRequest.cc
128 operation/test_mock_SnapshotUnprotectRequest.cc
129 operation/test_mock_TrimRequest.cc
130 trash/test_mock_MoveRequest.cc
131 trash/test_mock_RemoveRequest.cc
132 watcher/test_mock_RewatchRequest.cc
133 )
134
135 if(WITH_RBD_RWL OR WITH_RBD_SSD_CACHE)
136 list(APPEND unittest_librbd_srcs
137 cache/pwl/test_WriteLogMap.cc)
138 if(WITH_RBD_RWL)
139 list(APPEND unittest_librbd_srcs
140 cache/pwl/test_mock_ReplicatedWriteLog.cc)
141 endif()
142 if(WITH_RBD_SSD_CACHE)
143 list(APPEND unittest_librbd_srcs
144 cache/pwl/test_mock_SSDWriteLog.cc)
145 endif()
146 endif()
147
148 if(LINUX AND HAVE_LIBCRYPTSETUP)
149 list(APPEND unittest_librbd_srcs
150 crypto/luks/test_mock_FlattenRequest.cc
151 crypto/luks/test_mock_FormatRequest.cc
152 crypto/luks/test_mock_LoadRequest.cc)
153 endif()
154
155 add_executable(unittest_librbd
156 ${unittest_librbd_srcs}
157 $<TARGET_OBJECTS:common_texttable_obj>)
158 target_compile_definitions(unittest_librbd PRIVATE "TEST_LIBRBD_INTERNALS")
159 set_target_properties(unittest_librbd PROPERTIES
160 JOB_POOL_COMPILE heavy_compile_job_pool
161 JOB_POOL_LINK heavy_link_job_pool)
162 add_dependencies(unittest_librbd
163 cls_journal
164 cls_lock
165 cls_rbd)
166 target_link_libraries(unittest_librbd
167 rbd_test
168 rbd_api
169 rbd_internal
170 rbd_test_mock
171 journal
172 journal_test_mock
173 cls_rbd_client
174 cls_lock_client
175 cls_journal_client
176 rbd_types
177 rados_test_stub
178 librados
179 ceph_immutable_object_cache_lib
180 osdc
181 ceph-common
182 global
183 OpenSSL::SSL
184 ${UNITTEST_LIBS})
185
186 if(WITH_RBD_RWL OR WITH_RBD_SSD_CACHE)
187 target_link_libraries(unittest_librbd
188 librbd_plugin_pwl_cache)
189 endif()
190
191 add_executable(ceph_test_librbd
192 test_main.cc
193 $<TARGET_OBJECTS:common_texttable_obj>)
194 target_link_libraries(ceph_test_librbd
195 rbd_test
196 rbd_api
197 rbd_internal
198 rbd_types
199 journal
200 cls_journal_client
201 cls_rbd_client
202 libneorados
203 librados
204 ${UNITTEST_LIBS}
205 radostest)
206 target_compile_definitions(ceph_test_librbd PRIVATE "TEST_LIBRBD_INTERNALS")
207
208 add_executable(ceph_test_librbd_fsx
209 fsx.cc
210 $<TARGET_OBJECTS:common_texttable_obj>
211 )
212 target_link_libraries(ceph_test_librbd_fsx
213 librbd
214 librados
215 journal
216 global
217 m
218 ${CMAKE_DL_LIBS}
219 ${CRYPTO_LIBS}
220 ${EXTRALIBS}
221 )
222 if(WITH_KRBD)
223 target_link_libraries(ceph_test_librbd_fsx
224 krbd)
225 endif()
226 install(TARGETS
227 ceph_test_librbd_fsx
228 DESTINATION ${CMAKE_INSTALL_BINDIR})
229
230 install(TARGETS
231 ceph_test_librbd
232 DESTINATION ${CMAKE_INSTALL_BINDIR})