https://gitlab.synchro.net/main/sbbs/-/commit/43cc4d49f3c0feb9a651d4ed
Modified Files:
.gitlab-ci-unix.yml
Log Message:
CI: fail the door test jobs when they run no tests at all
ctest's default for an empty test set is to print "No tests were found!!!"
and exit 0, so a test step that runs nothing passes. Both door jobs that
run tests could do this, which makes the guard quietly conditional on
wiring it cannot see: rename TERMGFX_TESTS or SYNCRETRO_TESTS, or let the
-D stop taking effect, and ctest reports success having executed nothing.
This is not hypothetical. The [termgfx] job ran ctest against a tree whose
test target did not exist yet and was green for its first several
pipelines, reporting a passing test step that had run zero tests -- the
exact failure the step exists to catch, in the step meant to catch it.
Pass --no-tests=error so an empty set is a failure (ctest exits 8). Both
jobs already use --test-dir, added in the same CMake 3.20 as this flag, so
it costs no new version floor. The [termgfx] job's ctest is spelled like syncretro's while here, rather than cd-ing into the build dir.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net