]> git.proxmox.com Git - ceph.git/blame - ceph/src/test/librbd/CMakeLists.txt
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / test / librbd / CMakeLists.txt
CommitLineData
11fdf7f2
TL
1set(librbd_test_support_srcs
2 test_support.cc
3 )
4add_library(rbd_test_support STATIC ${librbd_test_support_srcs})
5target_link_libraries(rbd_test_support PRIVATE
6 GTest::GTest)
7
7c673cae
FG
8set(librbd_test
9 test_fixture.cc
7c673cae
FG
10 test_librbd.cc
11 test_ImageWatcher.cc
12 test_internal.cc
13 test_mirroring.cc
224ce89b 14 test_BlockGuard.cc
11fdf7f2
TL
15 test_DeepCopy.cc
16 test_Groups.cc
17 test_Migration.cc
7c673cae
FG
18 test_MirroringWatcher.cc
19 test_ObjectMap.cc
20 test_Operations.cc
11fdf7f2 21 test_Trash.cc
7c673cae
FG
22 journal/test_Entries.cc
23 journal/test_Replay.cc)
24add_library(rbd_test STATIC ${librbd_test})
11fdf7f2
TL
25target_link_libraries(rbd_test PRIVATE
26 rbd_test_support
27 radostest
28 radostest-cxx
29 librados
30 Boost::thread
31 GMock::GMock
32 GTest::GTest)
7c673cae
FG
33
34set(librbd_test_mock_srcs
35 mock/MockImageCtx.cc
36 mock/MockJournal.cc)
37add_library(rbd_test_mock STATIC ${librbd_test_mock_srcs})
11fdf7f2
TL
38target_link_libraries(rbd_test_mock PUBLIC
39 GMock::GMock)
7c673cae
FG
40
41# unittest_librbd
42# doesn't use add_ceph_test because it is called by run-rbd-unit-tests.sh
43set(unittest_librbd_srcs
7c673cae
FG
44 test_main.cc
45 test_mock_fixture.cc
f6b5b4d7 46 test_mock_ConfigWatcher.cc
11fdf7f2 47 test_mock_DeepCopyRequest.cc
7c673cae
FG
48 test_mock_ExclusiveLock.cc
49 test_mock_Journal.cc
50 test_mock_ManagedLock.cc
51 test_mock_ObjectMap.cc
11fdf7f2 52 test_mock_TrashWatcher.cc
91327a77 53 test_mock_Watcher.cc
9f95a23c 54 cache/test_mock_WriteAroundObjectDispatch.cc
f91f0fd5 55 cache/test_mock_ParentCacheObjectDispatch.cc
f67539c2
TL
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
11fdf7f2
TL
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
7c673cae
FG
69 exclusive_lock/test_mock_PreAcquireRequest.cc
70 exclusive_lock/test_mock_PostAcquireRequest.cc
71 exclusive_lock/test_mock_PreReleaseRequest.cc
11fdf7f2
TL
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
7c673cae
FG
79 image/test_mock_RefreshRequest.cc
80 image/test_mock_RemoveRequest.cc
11fdf7f2 81 image/test_mock_ValidatePoolRequest.cc
81eedcae 82 io/test_mock_CopyupRequest.cc
7c673cae 83 io/test_mock_ImageRequest.cc
b32b8144 84 io/test_mock_ObjectRequest.cc
9f95a23c 85 io/test_mock_SimpleSchedulerObjectDispatch.cc
7c673cae
FG
86 journal/test_mock_OpenRequest.cc
87 journal/test_mock_PromoteRequest.cc
88 journal/test_mock_Replay.cc
11fdf7f2 89 journal/test_mock_ResetRequest.cc
7c673cae
FG
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
f67539c2
TL
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
9f95a23c
TL
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
7c673cae 109 mirror/test_mock_DisableRequest.cc
adb31ebb 110 object_map/test_mock_DiffRequest.cc
7c673cae
FG
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
3efd9988 129 operation/test_mock_TrimRequest.cc
11fdf7f2 130 trash/test_mock_MoveRequest.cc
eafe8130 131 trash/test_mock_RemoveRequest.cc
7c673cae
FG
132 watcher/test_mock_RewatchRequest.cc
133 )
9f95a23c 134
f67539c2
TL
135if(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()
146endif()
147
148if(LINUX AND HAVE_LIBCRYPTSETUP)
149 list(APPEND unittest_librbd_srcs
150 crypto/luks/test_mock_FormatRequest.cc
151 crypto/luks/test_mock_LoadRequest.cc)
152endif()
9f95a23c 153
7c673cae
FG
154add_executable(unittest_librbd
155 ${unittest_librbd_srcs}
156 $<TARGET_OBJECTS:common_texttable_obj>)
11fdf7f2 157target_compile_definitions(unittest_librbd PRIVATE "TEST_LIBRBD_INTERNALS")
f67539c2
TL
158add_dependencies(unittest_librbd
159 cls_journal
7c673cae 160 cls_lock
f67539c2
TL
161 cls_rbd)
162target_link_libraries(unittest_librbd
163 rbd_test
164 rbd_api
165 rbd_internal
166 rbd_test_mock
7c673cae
FG
167 journal
168 journal_test_mock
f67539c2
TL
169 cls_rbd_client
170 cls_lock_client
7c673cae 171 cls_journal_client
f67539c2 172 rbd_types
7c673cae
FG
173 rados_test_stub
174 librados
f67539c2 175 ceph_immutable_object_cache_lib
7c673cae 176 osdc
11fdf7f2 177 ceph-common
7c673cae 178 global
f67539c2 179 OpenSSL::SSL
11fdf7f2 180 ${UNITTEST_LIBS})
7c673cae 181
f67539c2
TL
182if(WITH_RBD_RWL OR WITH_RBD_SSD_CACHE)
183 target_link_libraries(unittest_librbd
184 librbd_plugin_pwl_cache)
185endif()
186
7c673cae
FG
187add_executable(ceph_test_librbd
188 test_main.cc
189 $<TARGET_OBJECTS:common_texttable_obj>)
190target_link_libraries(ceph_test_librbd
191 rbd_test
192 rbd_api
193 rbd_internal
194 rbd_types
195 journal
196 cls_journal_client
197 cls_rbd_client
f67539c2 198 libneorados
11fdf7f2 199 librados
7c673cae
FG
200 ${UNITTEST_LIBS}
201 radostest)
11fdf7f2 202target_compile_definitions(ceph_test_librbd PRIVATE "TEST_LIBRBD_INTERNALS")
7c673cae 203
11fdf7f2
TL
204add_executable(ceph_test_librbd_fsx
205 fsx.cc
206 $<TARGET_OBJECTS:common_texttable_obj>
207 )
208target_link_libraries(ceph_test_librbd_fsx
209 librbd
210 librados
211 journal
212 global
213 m
214 ${CMAKE_DL_LIBS}
215 ${CRYPTO_LIBS}
216 ${EXTRALIBS}
217 )
218if(WITH_KRBD)
7c673cae 219 target_link_libraries(ceph_test_librbd_fsx
11fdf7f2
TL
220 krbd)
221endif()
222install(TARGETS
223 ceph_test_librbd_fsx
224 DESTINATION ${CMAKE_INSTALL_BINDIR})
7c673cae
FG
225
226install(TARGETS
227 ceph_test_librbd
7c673cae 228 DESTINATION ${CMAKE_INSTALL_BINDIR})