]> git.proxmox.com Git - ceph.git/blob - ceph/src/test/librbd/CMakeLists.txt
f1179f4f6648b7602929d4881556c1d86af67890
[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_BlockGuard.cc
15 test_DeepCopy.cc
16 test_Groups.cc
17 test_Migration.cc
18 test_MirroringWatcher.cc
19 test_ObjectMap.cc
20 test_Operations.cc
21 test_Trash.cc
22 journal/test_Entries.cc
23 journal/test_Replay.cc)
24 add_library(rbd_test STATIC ${librbd_test})
25 target_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)
33
34 set(librbd_test_mock_srcs
35 mock/MockImageCtx.cc
36 mock/MockJournal.cc)
37 add_library(rbd_test_mock STATIC ${librbd_test_mock_srcs})
38 target_link_libraries(rbd_test_mock PUBLIC
39 GMock::GMock)
40
41 # unittest_librbd
42 # doesn't use add_ceph_test because it is called by run-rbd-unit-tests.sh
43 set(unittest_librbd_srcs
44 test_main.cc
45 test_mock_fixture.cc
46 test_mock_DeepCopyRequest.cc
47 test_mock_ExclusiveLock.cc
48 test_mock_Journal.cc
49 test_mock_ManagedLock.cc
50 test_mock_ObjectMap.cc
51 test_mock_TrashWatcher.cc
52 test_mock_Watcher.cc
53 cache/test_mock_WriteAroundObjectDispatch.cc
54 cache/test_mock_ParentImageCache.cc
55 deep_copy/test_mock_ImageCopyRequest.cc
56 deep_copy/test_mock_MetadataCopyRequest.cc
57 deep_copy/test_mock_ObjectCopyRequest.cc
58 deep_copy/test_mock_SetHeadRequest.cc
59 deep_copy/test_mock_SnapshotCopyRequest.cc
60 deep_copy/test_mock_SnapshotCreateRequest.cc
61 exclusive_lock/test_mock_PreAcquireRequest.cc
62 exclusive_lock/test_mock_PostAcquireRequest.cc
63 exclusive_lock/test_mock_PreReleaseRequest.cc
64 image/test_mock_AttachChildRequest.cc
65 image/test_mock_AttachParentRequest.cc
66 image/test_mock_CloneRequest.cc
67 image/test_mock_DetachChildRequest.cc
68 image/test_mock_DetachParentRequest.cc
69 image/test_mock_ListWatchersRequest.cc
70 image/test_mock_PreRemoveRequest.cc
71 image/test_mock_RefreshRequest.cc
72 image/test_mock_RemoveRequest.cc
73 image/test_mock_ValidatePoolRequest.cc
74 io/test_mock_CopyupRequest.cc
75 io/test_mock_ImageRequest.cc
76 io/test_mock_ImageRequestWQ.cc
77 io/test_mock_ObjectRequest.cc
78 io/test_mock_SimpleSchedulerObjectDispatch.cc
79 journal/test_mock_OpenRequest.cc
80 journal/test_mock_PromoteRequest.cc
81 journal/test_mock_Replay.cc
82 journal/test_mock_ResetRequest.cc
83 managed_lock/test_mock_AcquireRequest.cc
84 managed_lock/test_mock_BreakRequest.cc
85 managed_lock/test_mock_GetLockerRequest.cc
86 managed_lock/test_mock_ReacquireRequest.cc
87 managed_lock/test_mock_ReleaseRequest.cc
88 mirror/snapshot/test_mock_CreateNonPrimaryRequest.cc
89 mirror/snapshot/test_mock_CreatePrimaryRequest.cc
90 mirror/snapshot/test_mock_ImageMeta.cc
91 mirror/snapshot/test_mock_PromoteRequest.cc
92 mirror/snapshot/test_mock_UnlinkPeerRequest.cc
93 mirror/snapshot/test_mock_Utils.cc
94 mirror/test_mock_DisableRequest.cc
95 object_map/test_mock_InvalidateRequest.cc
96 object_map/test_mock_LockRequest.cc
97 object_map/test_mock_RefreshRequest.cc
98 object_map/test_mock_ResizeRequest.cc
99 object_map/test_mock_SnapshotCreateRequest.cc
100 object_map/test_mock_SnapshotRemoveRequest.cc
101 object_map/test_mock_SnapshotRollbackRequest.cc
102 object_map/test_mock_UnlockRequest.cc
103 object_map/test_mock_UpdateRequest.cc
104 operation/test_mock_DisableFeaturesRequest.cc
105 operation/test_mock_EnableFeaturesRequest.cc
106 operation/test_mock_Request.cc
107 operation/test_mock_ResizeRequest.cc
108 operation/test_mock_SnapshotCreateRequest.cc
109 operation/test_mock_SnapshotProtectRequest.cc
110 operation/test_mock_SnapshotRemoveRequest.cc
111 operation/test_mock_SnapshotRollbackRequest.cc
112 operation/test_mock_SnapshotUnprotectRequest.cc
113 operation/test_mock_TrimRequest.cc
114 trash/test_mock_MoveRequest.cc
115 trash/test_mock_RemoveRequest.cc
116 watcher/test_mock_RewatchRequest.cc
117 )
118
119 if(WITH_RBD_RWL)
120 set(unittest_librbd_srcs
121 ${unittest_librbd_srcs}
122 cache/test_mock_ReplicatedWriteLog.cc)
123 endif(WITH_RBD_RWL)
124
125 add_executable(unittest_librbd
126 ${unittest_librbd_srcs}
127 $<TARGET_OBJECTS:common_texttable_obj>)
128 target_compile_definitions(unittest_librbd PRIVATE "TEST_LIBRBD_INTERNALS")
129 target_link_libraries(unittest_librbd
130 cls_rbd
131 cls_rbd_client
132 cls_lock
133 cls_lock_client
134 journal
135 journal_test_mock
136 cls_journal
137 cls_journal_client
138 rados_test_stub
139 librados
140 rbd_test
141 rbd_test_mock
142 rbd_api
143 rbd_internal
144 rbd_types
145 osdc
146 ceph-common
147 global
148 ${UNITTEST_LIBS})
149
150 add_executable(ceph_test_librbd
151 test_main.cc
152 $<TARGET_OBJECTS:common_texttable_obj>)
153 target_link_libraries(ceph_test_librbd
154 rbd_test
155 rbd_api
156 rbd_internal
157 rbd_types
158 journal
159 cls_journal_client
160 cls_rbd_client
161 librados
162 ${UNITTEST_LIBS}
163 radostest)
164 target_compile_definitions(ceph_test_librbd PRIVATE "TEST_LIBRBD_INTERNALS")
165
166 add_executable(ceph_test_librbd_fsx
167 fsx.cc
168 $<TARGET_OBJECTS:common_texttable_obj>
169 )
170 target_link_libraries(ceph_test_librbd_fsx
171 librbd
172 librados
173 journal
174 global
175 m
176 ${CMAKE_DL_LIBS}
177 ${CRYPTO_LIBS}
178 ${EXTRALIBS}
179 )
180 if(WITH_KRBD)
181 target_link_libraries(ceph_test_librbd_fsx
182 krbd)
183 endif()
184 install(TARGETS
185 ceph_test_librbd_fsx
186 DESTINATION ${CMAKE_INSTALL_BINDIR})
187
188 install(TARGETS
189 ceph_test_librbd
190 DESTINATION ${CMAKE_INSTALL_BINDIR})