# -*- mode: python; -*-

Import("env")

env = env.Clone()

env.Library(
    target='storage_ephemeral_for_test_core',
    source=[
        'ephemeral_for_test_kv_engine.cpp',
        'ephemeral_for_test_record_store.cpp',
        'ephemeral_for_test_recovery_unit.cpp',
        'ephemeral_for_test_sorted_impl.cpp',
        'ephemeral_for_test_visibility_manager.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/storage/index_entry_comparison',
        '$BUILD_DIR/mongo/db/storage/record_store_base',
        '$BUILD_DIR/mongo/db/storage/recovery_unit_base',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/catalog/collection_options',
        '$BUILD_DIR/mongo/db/commands/server_status',
        '$BUILD_DIR/mongo/db/record_id_helpers',
        '$BUILD_DIR/mongo/db/storage/key_string',
        '$BUILD_DIR/mongo/db/storage/storage_options',
        '$BUILD_DIR/mongo/db/storage/write_unit_of_work',
        '$BUILD_DIR/mongo/util/fail_point',
    ],
)

env.Library(
    target='storage_ephemeral_for_test',
    source=[
        'ephemeral_for_test_init.cpp',
        'ephemeral_for_test_server_status.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/storage/durable_catalog_impl',
        '$BUILD_DIR/mongo/db/storage/storage_engine_impl',
        'storage_ephemeral_for_test_core',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/commands/server_status',
        '$BUILD_DIR/mongo/db/storage/storage_engine_common',
        '$BUILD_DIR/mongo/db/storage/storage_engine_lock_file',
    ],
)

# Testing
env.CppUnitTest(
    target='storage_ephemeral_for_test_test',
    source=[
        'ephemeral_for_test_kv_engine_test.cpp',
        'ephemeral_for_test_record_store_test.cpp',
        'ephemeral_for_test_recovery_unit_test.cpp',
        'ephemeral_for_test_radix_store_test.cpp',
        'ephemeral_for_test_radix_store_concurrent_test.cpp',
        'ephemeral_for_test_sorted_impl_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/auth/authmocks',
        '$BUILD_DIR/mongo/db/common',
        '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/multitenancy',
        '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
        '$BUILD_DIR/mongo/db/repl/replmocks',
        '$BUILD_DIR/mongo/db/storage/key_string',
        '$BUILD_DIR/mongo/db/storage/kv/kv_engine_test_harness',
        '$BUILD_DIR/mongo/db/storage/record_store_test_harness',
        '$BUILD_DIR/mongo/db/storage/recovery_unit_test_harness',
        '$BUILD_DIR/mongo/db/storage/sorted_data_interface_test_harness',
        'storage_ephemeral_for_test_core',
    ],
)
