Repository navigation
fix(ci): fail the relinker test step when no test is registered - #14187
Merged
oneandonlydean merged 2 commits intoNov 2, 2026
Merged
Conversation
The relinker-only test step runs ctest without --no-tests=error, so a configuration that registers no test passes with 'No tests were found'. The sibling steps for the register-context, write-watch and relinker-asan tests already pass that flag. ctest 3.25.1 exits 0 without it and 8 with it when no test is found.
The test reads the relinker ctest line of build.yml and checks that it passes --no-tests=error. Against the previous line it fails.
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
12 tasks done
Contributor
|
Windows result for head Host: Windows 11 26300, Python 3.13.5.
AI-assisted: yes (Claude Code), the runs and the numbers above are from this machine. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The relinker-only test step in
build.ymlrunsctest --test-dir build-relinkerwithout--no-tests=error. A configuration that registers no test therefore passes with "No tests were found". The other test steps in the same file (register-context, write-watch, relinker-asan) already pass that flag. With ctest 3.25.1, a directory with no tests exits 0 without the flag and 8 with it.No configuration registers zero tests today: the relinker-only configuration has 233
add_testlines. The change closes the gap for a future CMake change that moves the registrations behind a condition that is false in that configuration.Fix, in two commits:
b0dbe27b48:--no-tests=erroron that step.be8ea1e172:tools/tests/test_relinker_test_step.pyreads the relinkerctestline ofbuild.ymland requires the flag. It is registered inCMakeLists.txtafterselect_tests.Overlap: the overlap check fails closed on ten open pull requests that touch
CMakeLists.txtand conflict withmain(#1835, #5021, #7642, #9539, #10193, #10897, #11104, #13578, #13928, #13929), so it cannot compare them. I searched theirCMakeLists.txtpatches forselect_tests,tools_self_inspectandrelinker_test_step: none mentions them. This PR's registration sits afterselect_tests.Tested
Linux, Python 3.11.2, on
upstream/main1bc97b9527plus these commits:python3 tools/tests/test_relinker_test_step.py: OK with the fix.'--no-tests=error' not found in ' - run: ctest --test-dir build-relinker --output-on-failure --timeout 120 --parallel 4'.build.ymlparses as YAML (PyYAML).python3 tools/check_conventions.py --base upstream/mainandgit diff --check upstream/main: clean.Not run: the relinker job itself. The flag only changes behaviour when no test is found, which the current configuration does not produce.
Checklist
mainNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)