[CI] Keep the benchmark tests out of the per-distro ctest run (#7868)

DeckHashTest.RepeatTest exceeds the per-test 60 s timeout on the Arch
image while finishing in under a second everywhere else, so the Arch leg
is red on every pull request. The suite is labelled `bench` and documented
as kept out of the default run; ctest now skips that label outside the
coverage leg, which still wants those lines exercised.
This commit is contained in:
BruebachL 2026-11-10 18:46:38 +01:00 • committed by GitHub
parent a0113d0e8a
commit de2ca8d56b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -527,7 +527,15 @@ if [[ ${MAKE_TEST:-} == "1" ]]; then
# run concurrently: the only one that claims a fixed resource is single_instance_manager_test,
# which already scopes its local socket name to its own pid so parallel copies cannot collide.
ctest --version
ctest -C "$BUILDTYPE" --output-on-failure -j "${CTEST_JOBS:-4}"
# `bench` is the slow suite (see tests/CMakeLists.txt): DeckHashTest.RepeatTest exceeds the
# per-test 60 s timeout on the rolling Arch image while it finishes in under a second on every
# other one, and the unit tests assert the same behavior. Only the coverage leg, which wants
# those lines exercised, still runs the benchmarks; `ctest -L bench` runs them on demand.
if [[ ${MAKE_COVERAGE:-} == "1" ]]; then
ctest -C "$BUILDTYPE" --output-on-failure -j "${CTEST_JOBS:-4}"
else
ctest -C "$BUILDTYPE" --output-on-failure -j "${CTEST_JOBS:-4}" -LE bench
fi
echo "::endgroup::"
fi