test: two endpoint expects that pinned their own configuration - #69
Merged
Conversation
…uild is build_endpoint.test pinned "/opt/seamware/plugins" literally, so it asserted the deployment layout rather than the endpoint. The nightly's coverage job points the broker at the INSTRUMENTED tree it measures and never installs, and the test went red there the first night it existed - reporting a job configuration as a broker defect. REGEXed down to the last path component, which keeps the part that is about the code (the endpoint reports a plugin directory, and it is the plugin one) and drops the part that is about the machine. Same reasoning the file already applies to gitSha, builtAt, compiler, build type and httpServer, and the header now says so beside them. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0161TjESZQPB9QTbb6xTzZfY
…s built with `stack` answers "what is LINKED into this binary", and corHttp is linked only into a COR_HTTP_SERVER=builtin build - stackManifest.sh leaves it out of an mhd one on purpose, because listing it there would be a claim about the binary that is not true of it. So there is no single member list, and version_endpoint.test pinned the mhd one. It went red on the nightly's built-in valgrind leg, which is the first and only place that flavour is built: the corHttp entry arrived with the image-build fix, AFTER the local built-in run that had been green, and a pull request builds mhd alone. Split rather than loosened. version_endpoint.test takes REQUIRE_HTTPSERVER: mhd and keeps its list; version_endpoint_builtin.test pins the built-in one. Each flavour asserts its own set in full - a pattern loose enough for both would accept a build that linked NEITHER, which is the only failure worth catching here. The new file makes one request where the old one makes two: the second call asserts that the endpoint is stateless, which belongs to the endpoint and is already covered. Verified both ways - the suite run twice, once against each flavour, with the inapplicable file filtered out each time: mhd 641 tests, 641 passed (version_endpoint_builtin N/A) builtin 640 tests, 640 passed (version_endpoint N/A) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0161TjESZQPB9QTbb6xTzZfY
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.
The 2026-09-06 nightly — the first CI run of the built-in HTTP server — went red in two of its fifteen legs. Neither is a broker defect: both are tests that pinned a fact about the configuration they happened to be written under.
version_endpoint— the built-in valgrind legstackanswers "what is LINKED into this binary", and corHttp is linked only into aCOR_HTTP_SERVER=builtinbuild.stackManifest.shleaves it out of anmhdone deliberately: listing it there would be a claim about the binary that is not true of it.So there is no single member list, and the test pinned the
mhdone. It could only fail where it did — the corHttp entry arrived with the image-build fix (#68), after the local built-in run that had been green, and a pull request buildsmhdalone. The nightly matrix caught exactly what it was added for, on its first night.Split rather than loosened.
version_endpoint.testtakesREQUIRE_HTTPSERVER: mhdand keeps its list; a newversion_endpoint_builtin.testpins the built-in one. Each flavour asserts its own set in full — one pattern loose enough for both would accept a build that linked neither, which is the only failure worth catching here.build_endpoint— the coverage legIt pinned
/opt/seamware/pluginsliterally, so it asserted a deployment layout. The coverage job points the broker at the instrumented tree it measures and never installs, and the test went red there the first night it existed.REGEXed down to the last path component: the endpoint reporting a plugin directory is about the code, which directory is about the run. Same reasoning the file already applies to
gitSha,builtAt,compiler, build type andhttpServer, and the header now says so beside them.Verification
Both flavours built and the whole suite run against each, with the inapplicable file filtered out each time:
🤖 Generated with Claude Code
https://claude.ai/code/session_0161TjESZQPB9QTbb6xTzZfY