fix(tests): resolve the prod binary from CBM_TEST_BINARY, not a hardcoded build/c - #1463
Merged
Conversation
…oded build/c
The Linux legs of the local 3-OS ladder build into build/linux-arm64 /
build/linux-amd64, not build/c, so Step 5c died with
'missing binary: /src/build/c/codebase-memory-mcp' and took the whole
leg down. Steps 5 and 5b already pass CBM_TEST_BINARY (derived from
$BUILD_DIR) to their scripts; 5c did not, and its test hardcoded the
path.
CI never caught this because every CI leg uses the default BUILD_DIR of
build/c - the container legs are the only ones that differ, which is
precisely what the local ladder is for.
- test_worker_error_response.sh honours ${CBM_TEST_BINARY:-build/c/...}
like its sibling watchdog tests; the default keeps bare manual runs working
- scripts/test.sh passes CBM_TEST_BINARY to Step 5c, matching 5 and 5b
- test_hook_conflict_notice.sh carried the identical hardcoding and is
fixed the same way (local-only today, but wrong is wrong)
Verified: with the fix the test passes against an out-of-tree binary;
reverting the fix reproduces the ladder's exact failure (rc=2,
'missing binary: <worktree>/build/c/codebase-memory-mcp').
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
DeusData
enabled auto-merge
August 5, 2026 22:33
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.
Found by the local 3-OS ladder while gating the 0.9.1-rc.2 fix set.
Symptom
The Linux arm64 leg (
./test-infrastructure/run.sh test) fails:Cause
The container legs build into
build/linux-arm64/build/linux-amd64; onlybuild/cis the default. Steps 5 and 5b already hand their scriptsCBM_TEST_BINARY="$ROOT/$BUILD_DIR/codebase-memory-mcp", but Step 5c does not, andtests/test_worker_error_response.sh(from #1369) hardcodesbuild/c.CI could never catch this — every CI leg runs with the default
BUILD_DIR=build/c. The container legs are the only place the paths diverge, which is exactly what the local ladder is for.Fix
test_worker_error_response.shhonours${CBM_TEST_BINARY:-…/build/c/…}, matching its sibling watchdog tests; the fallback keeps a bare manual invocation working.scripts/test.shpassesCBM_TEST_BINARYto Step 5c, consistent with 5 and 5b.test_hook_conflict_notice.shhad the identical hardcoding (local-only today) and is fixed the same way.Verification
With the fix, the test passes against an out-of-tree binary; reverting it reproduces the ladder's exact failure (
rc=2,missing binary: <worktree>/build/c/codebase-memory-mcp). Full Linux leg re-run is in progress.