mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-22 01:25:10 -07:00
* tests: add manual picture loader benchmark against the real card hosts (cherry picked from commit 588d71d3b9a8278ab98b847802908f322c1035b7) * tests: address review on picture loader benchmark - Sandbox via unique app/org names plus Linux-only XDG redirection, derive the warm-cache probe and data path from SettingsCache, and bail out when the temporary sandbox cannot be created. - Run each pass with a fresh worker and shut workers down before reading the 429 counters, so the redirect cache is persisted and no worker thread can outlive the stack-local counters or the installed message handler. - Make s_activeCounters atomic and always forward log output when the previous handler is the built-in (nullptr) one. - Validate --timeout-min, scale the cached-pass budget with --count, honour the first --url as the stress template, and add the missing trailing newlines. - Zero-initialise SettingsCache members so the benchmark mock cannot dereference an indeterminate pointer. --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
26 lines
1 KiB
CMake
26 lines
1 KiB
CMake
# Manual benchmark hitting the real card image hosts. Not registered with
|
|
# add_test(): it requires a cards.xml, touches the network for minutes at a
|
|
# time, and needs network access. Build it explicitly and run by hand.
|
|
add_executable(
|
|
picture_loader_benchmark_test
|
|
${VERSION_STRING_CPP}
|
|
../../cockatrice/src/interface/card_picture_loader/card_picture_loader_local.cpp
|
|
../../cockatrice/src/interface/card_picture_loader/card_picture_to_load.cpp
|
|
../../cockatrice/src/interface/card_picture_loader/card_picture_loader_worker.cpp
|
|
../../cockatrice/src/interface/card_picture_loader/card_picture_loader_worker_work.cpp
|
|
../../cockatrice/src/client/settings/cache_settings.h
|
|
picture_loader_benchmark.cpp
|
|
settings_cache_mock.cpp
|
|
)
|
|
|
|
target_include_directories(picture_loader_benchmark_test PRIVATE ${CMAKE_SOURCE_DIR}/cockatrice/src)
|
|
|
|
target_link_libraries(
|
|
picture_loader_benchmark_test
|
|
libcockatrice_card
|
|
libcockatrice_settings
|
|
libcockatrice_interfaces
|
|
libcockatrice_utility
|
|
Threads::Threads
|
|
${TEST_QT_MODULES}
|
|
)
|