mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-09 22:33:45 +00:00
FdbMappedFile maps a file read-only (CreateFileMapping/MapViewOfFile on Windows, mmap elsewhere) and falls back to reading it into memory when mapping fails. FdbReader reads the table and column headers from it and looks rows up by their first column through the fdb's own buckets, decoding every integer as little-endian with bounds checks, so the rows never get copied out of the file. Tests write small fdb files (collisions, text, int64, nulls) and read them both mapped and from memory. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
70 lines
1.9 KiB
CMake
70 lines
1.9 KiB
CMake
set(DCOMMONTEST_SOURCES
|
|
"AMFDeserializeTests.cpp"
|
|
"ClientSysInfoTests.cpp"
|
|
"Amf3Tests.cpp"
|
|
"ToUnderlyingTests.cpp"
|
|
"InstanceMigrationTests.cpp"
|
|
"LiveUpdateTests.cpp"
|
|
"TestCDFeatureGatingTable.cpp"
|
|
"TestLDFFormat.cpp"
|
|
"TestNiPoint3.cpp"
|
|
"TestEncoding.cpp"
|
|
"TestLUString.cpp"
|
|
"TestLUWString.cpp"
|
|
"TestBitStreamUtils.cpp"
|
|
"MessageIdPinTests.cpp"
|
|
"dCommonDependencies.cpp"
|
|
"LxfmlTests.cpp"
|
|
"MigrationSplitTests.cpp"
|
|
"ConfigLayerTests.cpp"
|
|
"SlashCommandLevelsTests.cpp"
|
|
"AccountRulesTests.cpp"
|
|
"VanityXmlTests.cpp"
|
|
"EventPartsTests.cpp"
|
|
"ScheduleRulesTests.cpp"
|
|
"VanityEventsTests.cpp"
|
|
"ZoneFileTests.cpp"
|
|
"ClientZoneFilesTests.cpp"
|
|
"ZoneScenesTests.cpp"
|
|
"LiveOpsRulesTests.cpp"
|
|
"ProcessAndLimitsTests.cpp"
|
|
"HotPropertySlotsTests.cpp"
|
|
"PropertyRentRulesTests.cpp"
|
|
"PropertyReputationRulesTests.cpp"
|
|
"BindAddressTests.cpp"
|
|
"TrafficStatsTests.cpp"
|
|
"Sd0Tests.cpp"
|
|
"FdbReaderTests.cpp"
|
|
)
|
|
|
|
add_subdirectory(dEnumsTests)
|
|
list(APPEND DCOMMONTEST_SOURCES ${DENUMS_TESTS})
|
|
|
|
# Set our executable
|
|
add_executable(dCommonTests ${DCOMMONTEST_SOURCES})
|
|
|
|
# Needs to be in binary dir for ctest
|
|
if(APPLE)
|
|
add_custom_target(dCommonTestsLink
|
|
${CMAKE_COMMAND} -E copy $<TARGET_FILE:MariaDB::ConnCpp> ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
add_dependencies(dCommonTests dCommonTestsLink)
|
|
endif()
|
|
|
|
# Link needed libraries
|
|
target_link_libraries(dCommonTests ${COMMON_LIBRARIES} MD5 GTest::gtest_main)
|
|
# SpareBackoff.h (header only)
|
|
target_include_directories(dCommonTests PRIVATE "${PROJECT_SOURCE_DIR}/dMasterServer")
|
|
|
|
# Copy test files to testing directory
|
|
add_subdirectory(TestBitStreams)
|
|
file(COPY ${TESTBITSTREAMS} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
|
add_subdirectory(LxfmlTestFiles)
|
|
file(COPY ${LXFMLTESTFILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
# VanityXmlTests reads the shipped vanity files
|
|
target_compile_definitions(dCommonTests PRIVATE DLU_SOURCE_DIR="${PROJECT_SOURCE_DIR}")
|
|
|
|
# Discover the tests
|
|
gtest_discover_tests(dCommonTests)
|