Skip to content

test: two endpoint expects that pinned their own configuration - #69

Merged
kzangeli merged 2 commits into
mainfrom
test/config-dependent-endpoint-expects
Sep 8, 2026
Merged

test: two endpoint expects that pinned their own configuration#69
kzangeli merged 2 commits into
mainfrom
test/config-dependent-endpoint-expects

Conversation

@kzangeli

@kzangeli kzangeli commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

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 leg

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 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 mhd one. 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 builds mhd alone. The nightly matrix caught exactly what it was added for, on its first night.

Split rather than loosened. version_endpoint.test takes REQUIRE_HTTPSERVER: mhd and keeps its list; a new version_endpoint_builtin.test pins 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 leg

It pinned /opt/seamware/plugins literally, 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 and httpServer, 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:

mhd      641 tests, 641 passed
builtin  640 tests, 640 passed

🤖 Generated with Claude Code

https://claude.ai/code/session_0161TjESZQPB9QTbb6xTzZfY

kzangeli and others added 2 commits September 8, 2026 15:47
…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
@kzangeli
kzangeli merged commit b0682e3 into main Sep 8, 2026
8 checks passed
@kzangeli
kzangeli deleted the test/config-dependent-endpoint-expects branch September 8, 2026 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant