]> git.proxmox.com Git - ceph.git/blob - ceph/src/rocksdb/TARGETS
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / rocksdb / TARGETS
1 REPO_PATH = "internal_repo_rocksdb/repo/"
2 BUCK_BINS = "buck-out/gen/" + REPO_PATH
3 TEST_RUNNER = REPO_PATH + "buckifier/rocks_test_runner.sh"
4 rocksdb_compiler_flags = [
5 "-msse",
6 "-msse4.2",
7 "-fno-builtin-memcmp",
8 "-DROCKSDB_PLATFORM_POSIX",
9 "-DROCKSDB_LIB_IO_POSIX",
10 "-DROCKSDB_FALLOCATE_PRESENT",
11 "-DROCKSDB_MALLOC_USABLE_SIZE",
12 "-DOS_LINUX",
13 # Flags to enable libs we include
14 "-DSNAPPY",
15 "-DZLIB",
16 "-DBZIP2",
17 "-DLZ4",
18 "-DZSTD",
19 "-DGFLAGS=gflags",
20 "-DNUMA",
21 "-DTBB",
22 # Needed to compile in fbcode
23 "-Wno-expansion-to-defined",
24 ]
25
26 rocksdb_external_deps = [
27 ('bzip2', None, 'bz2'),
28 ('snappy', None, "snappy"),
29 ('zlib', None, 'z'),
30 ('gflags', None, 'gflags'),
31 ('lz4', None, 'lz4'),
32 ('zstd', None),
33 ('tbb', None),
34 ("numa", "2.0.8", "numa"),
35 ("googletest", None, "gtest"),
36 ]
37
38 rocksdb_preprocessor_flags = [
39 # Directories with files for #include
40 "-I" + REPO_PATH + "include/",
41 "-I" + REPO_PATH,
42 ]
43
44 cpp_library(
45 name = "rocksdb_lib",
46 headers = AutoHeaders.RECURSIVE_GLOB,
47 srcs = [
48 "cache/clock_cache.cc",
49 "cache/lru_cache.cc",
50 "cache/sharded_cache.cc",
51 "db/builder.cc",
52 "db/c.cc",
53 "db/column_family.cc",
54 "db/compacted_db_impl.cc",
55 "db/compaction.cc",
56 "db/compaction_iterator.cc",
57 "db/compaction_job.cc",
58 "db/compaction_picker.cc",
59 "db/compaction_picker_universal.cc",
60 "db/convenience.cc",
61 "db/db_filesnapshot.cc",
62 "db/db_impl.cc",
63 "db/db_impl_write.cc",
64 "db/db_impl_compaction_flush.cc",
65 "db/db_impl_files.cc",
66 "db/db_impl_open.cc",
67 "db/db_impl_debug.cc",
68 "db/db_impl_experimental.cc",
69 "db/db_impl_readonly.cc",
70 "db/db_info_dumper.cc",
71 "db/db_iter.cc",
72 "db/dbformat.cc",
73 "db/event_helpers.cc",
74 "db/experimental.cc",
75 "db/external_sst_file_ingestion_job.cc",
76 "db/file_indexer.cc",
77 "db/flush_job.cc",
78 "db/flush_scheduler.cc",
79 "db/forward_iterator.cc",
80 "db/internal_stats.cc",
81 "db/log_reader.cc",
82 "db/log_writer.cc",
83 "db/managed_iterator.cc",
84 "db/memtable.cc",
85 "db/memtable_list.cc",
86 "db/merge_helper.cc",
87 "db/merge_operator.cc",
88 "db/range_del_aggregator.cc",
89 "db/repair.cc",
90 "db/snapshot_impl.cc",
91 "db/table_cache.cc",
92 "db/table_properties_collector.cc",
93 "db/transaction_log_impl.cc",
94 "db/version_builder.cc",
95 "db/version_edit.cc",
96 "db/version_set.cc",
97 "db/wal_manager.cc",
98 "db/write_batch.cc",
99 "db/write_batch_base.cc",
100 "db/write_controller.cc",
101 "db/write_thread.cc",
102 "env/env.cc",
103 "env/env_chroot.cc",
104 "env/env_hdfs.cc",
105 "env/env_posix.cc",
106 "env/io_posix.cc",
107 "env/memenv.cc",
108 "memtable/hash_cuckoo_rep.cc",
109 "memtable/hash_linklist_rep.cc",
110 "memtable/hash_skiplist_rep.cc",
111 "memtable/memtable_allocator.cc",
112 "memtable/skiplistrep.cc",
113 "memtable/vectorrep.cc",
114 "monitoring/histogram.cc",
115 "monitoring/histogram_windowing.cc",
116 "monitoring/instrumented_mutex.cc",
117 "monitoring/iostats_context.cc",
118 "monitoring/perf_context.cc",
119 "monitoring/perf_level.cc",
120 "monitoring/statistics.cc",
121 "monitoring/thread_status_impl.cc",
122 "monitoring/thread_status_updater.cc",
123 "monitoring/thread_status_updater_debug.cc",
124 "monitoring/thread_status_util.cc",
125 "monitoring/thread_status_util_debug.cc",
126 "options/cf_options.cc",
127 "options/db_options.cc",
128 "options/options.cc",
129 "options/options_helper.cc",
130 "options/options_parser.cc",
131 "options/options_sanity_check.cc",
132 "port/port_posix.cc",
133 "port/stack_trace.cc",
134 "table/adaptive_table_factory.cc",
135 "table/block.cc",
136 "table/block_based_filter_block.cc",
137 "table/block_based_table_builder.cc",
138 "table/block_based_table_factory.cc",
139 "table/block_based_table_reader.cc",
140 "table/block_builder.cc",
141 "table/block_prefix_index.cc",
142 "table/bloom_block.cc",
143 "table/cuckoo_table_builder.cc",
144 "table/cuckoo_table_factory.cc",
145 "table/cuckoo_table_reader.cc",
146 "table/flush_block_policy.cc",
147 "table/format.cc",
148 "table/full_filter_block.cc",
149 "table/get_context.cc",
150 "table/index_builder.cc",
151 "table/iterator.cc",
152 "table/merging_iterator.cc",
153 "table/meta_blocks.cc",
154 "table/partitioned_filter_block.cc",
155 "table/persistent_cache_helper.cc",
156 "table/plain_table_builder.cc",
157 "table/plain_table_factory.cc",
158 "table/plain_table_index.cc",
159 "table/plain_table_key_coding.cc",
160 "table/plain_table_reader.cc",
161 "table/sst_file_writer.cc",
162 "table/table_properties.cc",
163 "table/two_level_iterator.cc",
164 "tools/dump/db_dump_tool.cc",
165 "util/arena.cc",
166 "util/auto_roll_logger.cc",
167 "util/bloom.cc",
168 "util/build_version.cc",
169 "util/coding.cc",
170 "util/compaction_job_stats_impl.cc",
171 "util/comparator.cc",
172 "util/concurrent_arena.cc",
173 "util/crc32c.cc",
174 "util/delete_scheduler.cc",
175 "util/dynamic_bloom.cc",
176 "util/event_logger.cc",
177 "util/file_reader_writer.cc",
178 "util/file_util.cc",
179 "util/filename.cc",
180 "util/filter_policy.cc",
181 "util/hash.cc",
182 "util/log_buffer.cc",
183 "util/murmurhash.cc",
184 "util/random.cc",
185 "util/rate_limiter.cc",
186 "util/slice.cc",
187 "util/sst_file_manager_impl.cc",
188 "util/status.cc",
189 "util/status_message.cc",
190 "util/string_util.cc",
191 "util/sync_point.cc",
192 "util/thread_local.cc",
193 "util/threadpool_imp.cc",
194 "util/transaction_test_util.cc",
195 "util/xxhash.cc",
196 "utilities/backupable/backupable_db.cc",
197 "utilities/blob_db/blob_db.cc",
198 "utilities/checkpoint/checkpoint_impl.cc",
199 "utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc",
200 "utilities/convenience/info_log_finder.cc",
201 "utilities/date_tiered/date_tiered_db_impl.cc",
202 "utilities/document/document_db.cc",
203 "utilities/document/json_document.cc",
204 "utilities/document/json_document_builder.cc",
205 "utilities/env_mirror.cc",
206 "utilities/env_timed.cc",
207 "utilities/geodb/geodb_impl.cc",
208 "utilities/leveldb_options/leveldb_options.cc",
209 "utilities/lua/rocks_lua_compaction_filter.cc",
210 "utilities/memory/memory_util.cc",
211 "utilities/merge_operators/max.cc",
212 "utilities/merge_operators/put.cc",
213 "utilities/merge_operators/string_append/stringappend.cc",
214 "utilities/merge_operators/string_append/stringappend2.cc",
215 "utilities/merge_operators/uint64add.cc",
216 "utilities/option_change_migration/option_change_migration.cc",
217 "utilities/options/options_util.cc",
218 "utilities/persistent_cache/block_cache_tier.cc",
219 "utilities/persistent_cache/block_cache_tier_file.cc",
220 "utilities/persistent_cache/block_cache_tier_metadata.cc",
221 "utilities/persistent_cache/persistent_cache_tier.cc",
222 "utilities/persistent_cache/volatile_tier_impl.cc",
223 "utilities/redis/redis_lists.cc",
224 "utilities/simulator_cache/sim_cache.cc",
225 "utilities/spatialdb/spatial_db.cc",
226 "utilities/table_properties_collectors/compact_on_deletion_collector.cc",
227 "utilities/transactions/optimistic_transaction_db_impl.cc",
228 "utilities/transactions/optimistic_transaction_impl.cc",
229 "utilities/transactions/transaction_base.cc",
230 "utilities/transactions/transaction_db_impl.cc",
231 "utilities/transactions/transaction_db_mutex_impl.cc",
232 "utilities/transactions/transaction_impl.cc",
233 "utilities/transactions/transaction_lock_mgr.cc",
234 "utilities/transactions/transaction_util.cc",
235 "utilities/ttl/db_ttl_impl.cc",
236 "utilities/write_batch_with_index/write_batch_with_index.cc",
237 "utilities/write_batch_with_index/write_batch_with_index_internal.cc",
238 "tools/ldb_cmd.cc",
239 "tools/ldb_tool.cc",
240 "tools/sst_dump_tool.cc",
241 ],
242 deps = [],
243 preprocessor_flags = rocksdb_preprocessor_flags,
244 compiler_flags = rocksdb_compiler_flags,
245 external_deps = rocksdb_external_deps,
246 )
247
248 cpp_library(
249 name = "rocksdb_test_lib",
250 headers = AutoHeaders.RECURSIVE_GLOB,
251 srcs = [
252 "env/mock_env.cc",
253 "table/mock_table.cc",
254 "util/fault_injection_test_env.cc",
255 "util/testharness.cc",
256 "util/testutil.cc",
257 "db/db_test_util.cc",
258 "utilities/col_buf_encoder.cc",
259 "utilities/col_buf_decoder.cc",
260 "utilities/column_aware_encoding_util.cc",
261 ],
262 deps = [":rocksdb_lib"],
263 preprocessor_flags = rocksdb_preprocessor_flags,
264 compiler_flags = rocksdb_compiler_flags,
265 external_deps = rocksdb_external_deps,
266 )
267
268 cpp_library(
269 name = "rocksdb_tools_lib",
270 headers = AutoHeaders.RECURSIVE_GLOB,
271 srcs = [
272 "tools/db_bench_tool.cc",
273 "util/testutil.cc",
274 ],
275 deps = [":rocksdb_lib"],
276 preprocessor_flags = rocksdb_preprocessor_flags,
277 compiler_flags = rocksdb_compiler_flags,
278 external_deps = rocksdb_external_deps,
279 )
280
281 cpp_library(
282 name = "env_basic_test_lib",
283 headers = AutoHeaders.RECURSIVE_GLOB,
284 srcs = ["env/env_basic_test.cc"],
285 deps = [":rocksdb_test_lib"],
286 preprocessor_flags = rocksdb_preprocessor_flags,
287 compiler_flags = rocksdb_compiler_flags,
288 external_deps = rocksdb_external_deps,
289 )
290
291 # [test_name, test_src, test_type]
292 ROCKS_TESTS = [['merger_test', 'table/merger_test.cc', 'serial'],
293 ['cache_test', 'cache/cache_test.cc', 'serial'],
294 ['options_file_test', 'db/options_file_test.cc', 'serial'],
295 ['compaction_picker_test', 'db/compaction_picker_test.cc', 'serial'],
296 ['corruption_test', 'db/corruption_test.cc', 'serial'],
297 ['thread_list_test', 'util/thread_list_test.cc', 'serial'],
298 ['table_properties_collector_test',
299 'db/table_properties_collector_test.cc',
300 'serial'],
301 ['document_db_test', 'utilities/document/document_db_test.cc', 'serial'],
302 ['event_logger_test', 'util/event_logger_test.cc', 'serial'],
303 ['coding_test', 'util/coding_test.cc', 'serial'],
304 ['statistics_test', 'monitoring/statistics_test.cc', 'serial'],
305 ['options_settable_test', 'options/options_settable_test.cc', 'serial'],
306 ['sst_dump_test', 'tools/sst_dump_test.cc', 'serial'],
307 ['column_aware_encoding_test',
308 'utilities/column_aware_encoding_test.cc',
309 'serial'],
310 ['db_iterator_test', 'db/db_iterator_test.cc', 'serial'],
311 ['db_sst_test', 'db/db_sst_test.cc', 'parallel'],
312 ['geodb_test', 'utilities/geodb/geodb_test.cc', 'serial'],
313 ['listener_test', 'db/listener_test.cc', 'serial'],
314 ['write_callback_test', 'db/write_callback_test.cc', 'serial'],
315 ['version_set_test', 'db/version_set_test.cc', 'serial'],
316 ['full_filter_block_test', 'table/full_filter_block_test.cc', 'serial'],
317 ['cleanable_test', 'table/cleanable_test.cc', 'serial'],
318 ['checkpoint_test', 'utilities/checkpoint/checkpoint_test.cc', 'serial'],
319 ['compact_files_test', 'db/compact_files_test.cc', 'serial'],
320 ['db_options_test', 'db/db_options_test.cc', 'serial'],
321 ['object_registry_test', 'utilities/object_registry_test.cc', 'serial'],
322 ['blob_db_test', 'utilities/blob_db/blob_db_test.cc', 'serial'],
323 ['auto_roll_logger_test', 'util/auto_roll_logger_test.cc', 'serial'],
324 ['dbformat_test', 'db/dbformat_test.cc', 'serial'],
325 ['write_batch_with_index_test',
326 'utilities/write_batch_with_index/write_batch_with_index_test.cc',
327 'serial'],
328 ['json_document_test', 'utilities/document/json_document_test.cc', 'serial'],
329 ['file_reader_writer_test', 'util/file_reader_writer_test.cc', 'serial'],
330 ['repair_test', 'db/repair_test.cc', 'serial'],
331 ['persistent_cache_test',
332 'utilities/persistent_cache/persistent_cache_test.cc',
333 'parallel'],
334 ['db_bloom_filter_test', 'db/db_bloom_filter_test.cc', 'serial'],
335 ['external_sst_file_basic_test',
336 'db/external_sst_file_basic_test.cc',
337 'serial'],
338 ['options_test', 'options/options_test.cc', 'serial'],
339 ['perf_context_test', 'db/perf_context_test.cc', 'serial'],
340 ['db_block_cache_test', 'db/db_block_cache_test.cc', 'serial'],
341 ['heap_test', 'util/heap_test.cc', 'serial'],
342 ['db_test2', 'db/db_test2.cc', 'serial'],
343 ['filelock_test', 'util/filelock_test.cc', 'serial'],
344 ['write_controller_test', 'db/write_controller_test.cc', 'serial'],
345 ['compaction_iterator_test', 'db/compaction_iterator_test.cc', 'serial'],
346 ['spatial_db_test', 'utilities/spatialdb/spatial_db_test.cc', 'serial'],
347 ['c_test', 'db/c_test.c', 'serial'],
348 ['range_del_aggregator_test', 'db/range_del_aggregator_test.cc', 'serial'],
349 ['date_tiered_test', 'utilities/date_tiered/date_tiered_test.cc', 'serial'],
350 ['ldb_cmd_test', 'tools/ldb_cmd_test.cc', 'serial'],
351 ['db_test', 'db/db_test.cc', 'parallel'],
352 ['block_based_filter_block_test',
353 'table/block_based_filter_block_test.cc',
354 'serial'],
355 ['merge_test', 'db/merge_test.cc', 'serial'],
356 ['bloom_test', 'util/bloom_test.cc', 'serial'],
357 ['block_test', 'table/block_test.cc', 'serial'],
358 ['cuckoo_table_builder_test', 'table/cuckoo_table_builder_test.cc', 'serial'],
359 ['backupable_db_test',
360 'utilities/backupable/backupable_db_test.cc',
361 'parallel'],
362 ['db_flush_test', 'db/db_flush_test.cc', 'serial'],
363 ['filename_test', 'db/filename_test.cc', 'serial'],
364 ['cuckoo_table_reader_test', 'table/cuckoo_table_reader_test.cc', 'serial'],
365 ['slice_transform_test', 'util/slice_transform_test.cc', 'serial'],
366 ['cuckoo_table_db_test', 'db/cuckoo_table_db_test.cc', 'serial'],
367 ['inlineskiplist_test', 'memtable/inlineskiplist_test.cc', 'parallel'],
368 ['optimistic_transaction_test',
369 'utilities/transactions/optimistic_transaction_test.cc',
370 'serial'],
371 ['hash_table_test',
372 'utilities/persistent_cache/hash_table_test.cc',
373 'serial'],
374 ['db_dynamic_level_test', 'db/db_dynamic_level_test.cc', 'serial'],
375 ['option_change_migration_test',
376 'utilities/option_change_migration/option_change_migration_test.cc',
377 'serial'],
378 ['db_inplace_update_test', 'db/db_inplace_update_test.cc', 'serial'],
379 ['autovector_test', 'util/autovector_test.cc', 'serial'],
380 ['db_iter_test', 'db/db_iter_test.cc', 'serial'],
381 ['flush_job_test', 'db/flush_job_test.cc', 'serial'],
382 ['wal_manager_test', 'db/wal_manager_test.cc', 'serial'],
383 ['write_batch_test', 'db/write_batch_test.cc', 'serial'],
384 ['crc32c_test', 'util/crc32c_test.cc', 'serial'],
385 ['rate_limiter_test', 'util/rate_limiter_test.cc', 'serial'],
386 ['external_sst_file_test', 'db/external_sst_file_test.cc', 'parallel'],
387 ['compaction_job_test', 'db/compaction_job_test.cc', 'serial'],
388 ['mock_env_test', 'env/mock_env_test.cc', 'serial'],
389 ['db_table_properties_test', 'db/db_table_properties_test.cc', 'serial'],
390 ['db_compaction_test', 'db/db_compaction_test.cc', 'parallel'],
391 ['arena_test', 'util/arena_test.cc', 'serial'],
392 ['stringappend_test',
393 'utilities/merge_operators/string_append/stringappend_test.cc',
394 'serial'],
395 ['reduce_levels_test', 'tools/reduce_levels_test.cc', 'serial'],
396 ['prefix_test', 'db/prefix_test.cc', 'serial'],
397 ['ttl_test', 'utilities/ttl/ttl_test.cc', 'serial'],
398 ['merge_helper_test', 'db/merge_helper_test.cc', 'serial'],
399 ['file_indexer_test', 'db/file_indexer_test.cc', 'serial'],
400 ['memory_test', 'utilities/memory/memory_test.cc', 'serial'],
401 ['log_test', 'db/log_test.cc', 'serial'],
402 ['env_timed_test', 'utilities/env_timed_test.cc', 'serial'],
403 ['deletefile_test', 'db/deletefile_test.cc', 'serial'],
404 ['partitioned_filter_block_test',
405 'table/partitioned_filter_block_test.cc',
406 'serial'],
407 ['comparator_db_test', 'db/comparator_db_test.cc', 'serial'],
408 ['compaction_job_stats_test', 'db/compaction_job_stats_test.cc', 'serial'],
409 ['thread_local_test', 'util/thread_local_test.cc', 'serial'],
410 ['version_builder_test', 'db/version_builder_test.cc', 'serial'],
411 ['db_range_del_test', 'db/db_range_del_test.cc', 'serial'],
412 ['table_test', 'table/table_test.cc', 'parallel'],
413 ['db_tailing_iter_test', 'db/db_tailing_iter_test.cc', 'serial'],
414 ['db_compaction_filter_test', 'db/db_compaction_filter_test.cc', 'parallel'],
415 ['options_util_test', 'utilities/options/options_util_test.cc', 'serial'],
416 ['dynamic_bloom_test', 'util/dynamic_bloom_test.cc', 'serial'],
417 ['db_basic_test', 'db/db_basic_test.cc', 'serial'],
418 ['db_merge_operator_test', 'db/db_merge_operator_test.cc', 'serial'],
419 ['manual_compaction_test', 'db/manual_compaction_test.cc', 'parallel'],
420 ['delete_scheduler_test', 'util/delete_scheduler_test.cc', 'serial'],
421 ['transaction_test', 'utilities/transactions/transaction_test.cc', 'serial'],
422 ['db_io_failure_test', 'db/db_io_failure_test.cc', 'serial'],
423 ['db_log_iter_test', 'db/db_log_iter_test.cc', 'serial'],
424 ['compact_on_deletion_collector_test',
425 'utilities/table_properties_collectors/compact_on_deletion_collector_test.cc',
426 'serial'],
427 ['env_test', 'env/env_test.cc', 'serial'],
428 ['db_wal_test', 'db/db_wal_test.cc', 'parallel'],
429 ['sim_cache_test', 'utilities/simulator_cache/sim_cache_test.cc', 'serial'],
430 ['db_memtable_test', 'db/db_memtable_test.cc', 'serial'],
431 ['db_universal_compaction_test',
432 'db/db_universal_compaction_test.cc',
433 'parallel'],
434 ['histogram_test', 'monitoring/histogram_test.cc', 'serial'],
435 ['util_merge_operators_test',
436 'utilities/util_merge_operators_test.cc',
437 'serial'],
438 ['fault_injection_test', 'db/fault_injection_test.cc', 'parallel'],
439 ['env_basic_test', 'env/env_basic_test.cc', 'serial'],
440 ['iostats_context_test', 'monitoring/iostats_context_test.cc', 'serial'],
441 ['memtable_list_test', 'db/memtable_list_test.cc', 'serial'],
442 ['column_family_test', 'db/column_family_test.cc', 'serial'],
443 ['db_properties_test', 'db/db_properties_test.cc', 'serial'],
444 ['version_edit_test', 'db/version_edit_test.cc', 'serial'],
445 ['skiplist_test', 'memtable/skiplist_test.cc', 'serial'],
446 ['lru_cache_test', 'cache/lru_cache_test.cc', 'serial'],
447 ['plain_table_db_test', 'db/plain_table_db_test.cc', 'serial'],
448 ['db_statistics_test', 'db/db_statistics_test.cc', 'serial']]
449
450
451 # Generate a test rule for each entry in ROCKS_TESTS
452 for test_cfg in ROCKS_TESTS:
453 test_name = test_cfg[0]
454 test_cc = test_cfg[1]
455 ttype = "gtest" if test_cfg[2] == "parallel" else "simple"
456 test_bin = test_name + "_bin"
457
458 cpp_binary (
459 name = test_bin,
460 srcs = [test_cc],
461 deps = [":rocksdb_test_lib"],
462 preprocessor_flags = rocksdb_preprocessor_flags,
463 compiler_flags = rocksdb_compiler_flags,
464 external_deps = rocksdb_external_deps,
465 )
466
467 custom_unittest(
468 name = test_name,
469 type = ttype,
470 deps = [":" + test_bin],
471 command = [TEST_RUNNER, BUCK_BINS + test_bin]
472 )