]> git.proxmox.com Git - ceph.git/blame - ceph/src/test/librbd/CMakeLists.txt
import ceph nautilus 14.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
11fdf7f2 46 test_mock_DeepCopyRequest.cc
7c673cae
FG
47 test_mock_ExclusiveLock.cc
48 test_mock_Journal.cc
49 test_mock_ManagedLock.cc
50 test_mock_ObjectMap.cc
11fdf7f2 51 test_mock_TrashWatcher.cc
91327a77 52 test_mock_Watcher.cc
11fdf7f2
TL
53 deep_copy/test_mock_ImageCopyRequest.cc
54 deep_copy/test_mock_MetadataCopyRequest.cc
55 deep_copy/test_mock_ObjectCopyRequest.cc
56 deep_copy/test_mock_SetHeadRequest.cc
57 deep_copy/test_mock_SnapshotCopyRequest.cc
58 deep_copy/test_mock_SnapshotCreateRequest.cc
7c673cae
FG
59 exclusive_lock/test_mock_PreAcquireRequest.cc
60 exclusive_lock/test_mock_PostAcquireRequest.cc
61 exclusive_lock/test_mock_PreReleaseRequest.cc
11fdf7f2
TL
62 image/test_mock_AttachChildRequest.cc
63 image/test_mock_AttachParentRequest.cc
64 image/test_mock_CloneRequest.cc
65 image/test_mock_DetachChildRequest.cc
66 image/test_mock_DetachParentRequest.cc
67 image/test_mock_ListWatchersRequest.cc
68 image/test_mock_PreRemoveRequest.cc
7c673cae
FG
69 image/test_mock_RefreshRequest.cc
70 image/test_mock_RemoveRequest.cc
11fdf7f2 71 image/test_mock_ValidatePoolRequest.cc
81eedcae 72 io/test_mock_CopyupRequest.cc
7c673cae 73 io/test_mock_ImageRequest.cc
224ce89b 74 io/test_mock_ImageRequestWQ.cc
b32b8144 75 io/test_mock_ObjectRequest.cc
7c673cae
FG
76 journal/test_mock_OpenRequest.cc
77 journal/test_mock_PromoteRequest.cc
78 journal/test_mock_Replay.cc
11fdf7f2 79 journal/test_mock_ResetRequest.cc
7c673cae
FG
80 managed_lock/test_mock_AcquireRequest.cc
81 managed_lock/test_mock_BreakRequest.cc
82 managed_lock/test_mock_GetLockerRequest.cc
83 managed_lock/test_mock_ReacquireRequest.cc
84 managed_lock/test_mock_ReleaseRequest.cc
85 mirror/test_mock_DisableRequest.cc
86 object_map/test_mock_InvalidateRequest.cc
87 object_map/test_mock_LockRequest.cc
88 object_map/test_mock_RefreshRequest.cc
89 object_map/test_mock_ResizeRequest.cc
90 object_map/test_mock_SnapshotCreateRequest.cc
91 object_map/test_mock_SnapshotRemoveRequest.cc
92 object_map/test_mock_SnapshotRollbackRequest.cc
93 object_map/test_mock_UnlockRequest.cc
94 object_map/test_mock_UpdateRequest.cc
95 operation/test_mock_DisableFeaturesRequest.cc
96 operation/test_mock_EnableFeaturesRequest.cc
97 operation/test_mock_Request.cc
98 operation/test_mock_ResizeRequest.cc
99 operation/test_mock_SnapshotCreateRequest.cc
100 operation/test_mock_SnapshotProtectRequest.cc
101 operation/test_mock_SnapshotRemoveRequest.cc
102 operation/test_mock_SnapshotRollbackRequest.cc
103 operation/test_mock_SnapshotUnprotectRequest.cc
3efd9988 104 operation/test_mock_TrimRequest.cc
11fdf7f2 105 trash/test_mock_MoveRequest.cc
7c673cae
FG
106 watcher/test_mock_RewatchRequest.cc
107 )
108add_executable(unittest_librbd
109 ${unittest_librbd_srcs}
110 $<TARGET_OBJECTS:common_texttable_obj>)
11fdf7f2 111target_compile_definitions(unittest_librbd PRIVATE "TEST_LIBRBD_INTERNALS")
7c673cae
FG
112target_link_libraries(unittest_librbd
113 cls_rbd
114 cls_rbd_client
115 cls_lock
116 cls_lock_client
117 journal
118 journal_test_mock
119 cls_journal
120 cls_journal_client
121 rados_test_stub
122 librados
123 rbd_test
124 rbd_test_mock
125 rbd_api
126 rbd_internal
127 rbd_types
128 osdc
11fdf7f2 129 ceph-common
7c673cae 130 global
11fdf7f2 131 ${UNITTEST_LIBS})
7c673cae
FG
132
133add_executable(ceph_test_librbd
134 test_main.cc
135 $<TARGET_OBJECTS:common_texttable_obj>)
136target_link_libraries(ceph_test_librbd
137 rbd_test
138 rbd_api
139 rbd_internal
140 rbd_types
141 journal
142 cls_journal_client
143 cls_rbd_client
11fdf7f2 144 librados
7c673cae
FG
145 ${UNITTEST_LIBS}
146 radostest)
11fdf7f2 147target_compile_definitions(ceph_test_librbd PRIVATE "TEST_LIBRBD_INTERNALS")
7c673cae 148
11fdf7f2
TL
149add_executable(ceph_test_librbd_fsx
150 fsx.cc
151 $<TARGET_OBJECTS:common_texttable_obj>
152 )
153target_link_libraries(ceph_test_librbd_fsx
154 librbd
155 librados
156 journal
157 global
158 m
159 ${CMAKE_DL_LIBS}
160 ${CRYPTO_LIBS}
161 ${EXTRALIBS}
162 )
163if(WITH_KRBD)
7c673cae 164 target_link_libraries(ceph_test_librbd_fsx
11fdf7f2
TL
165 krbd)
166endif()
167install(TARGETS
168 ceph_test_librbd_fsx
169 DESTINATION ${CMAKE_INSTALL_BINDIR})
7c673cae
FG
170
171install(TARGETS
172 ceph_test_librbd
7c673cae 173 DESTINATION ${CMAKE_INSTALL_BINDIR})