Files
DarkflameServer/tests/dCommonTests/CMakeLists.txt
Aaron Kimbrell 06af6c3aaa feat(profiler): frame timing and scope trees of a server's main loop
Profiler.h: frames, named scopes and phases, recorded on the main thread only (other threads' scopes do nothing). Per second: frames, total and longest frame time, a mergeable frame time histogram (TrafficStats::Histogram) and time per phase. Per report: the packet types that took longest, the worst frames and the frames over a threshold with their heaviest scopes. Profiling sessions merge every frame's scope tree for a while into one (folded stacks for flame graphs). Optional Tracy client (DLU_TRACY, off by default) gets the same frames and scopes. Task 96.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 22:26:17 -05:00

71 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"
"ProfilerTests.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)