fix(tests): resolve the prod binary from CBM_TEST_BINARY, not a hardcoded 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>
This commit is contained in:
+1
-1
@@ -280,7 +280,7 @@ CBM_TEST_BINARY="$WATCHDOG_BINARY" bash "$ROOT/tests/test_worker_watchdog.sh"
|
||||
# still exits nonzero for the user-facing tool error, but the supervisor must
|
||||
# preserve that response instead of misreporting exit_nonzero as a file crash.
|
||||
echo "=== Step 5c: worker error-response transport regression ==="
|
||||
bash "$ROOT/tests/test_worker_error_response.sh"
|
||||
CBM_TEST_BINARY="$WATCHDOG_BINARY" bash "$ROOT/tests/test_worker_error_response.sh"
|
||||
|
||||
# Step 5d (#1388) is DELIBERATELY NOT GATING HERE — see
|
||||
# tests/test_hook_conflict_notice.sh for the full what-was-tried record.
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
BINARY="${ROOT}/build/c/codebase-memory-mcp"
|
||||
BINARY="${CBM_TEST_BINARY:-${ROOT}/build/c/codebase-memory-mcp}"
|
||||
if [[ ! -x "${BINARY}" && -x "${BINARY}.exe" ]]; then
|
||||
BINARY="${BINARY}.exe"
|
||||
fi
|
||||
|
||||
@@ -6,7 +6,11 @@
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
BINARY="${ROOT}/build/c/codebase-memory-mcp"
|
||||
# scripts/test.sh builds into $BUILD_DIR, which is NOT build/c on every leg (the
|
||||
# Linux containers use build/linux-arm64 / build/linux-amd64). Honour the binary
|
||||
# the caller built, exactly as test_parent_watchdog.sh and test_worker_watchdog.sh
|
||||
# do; the build/c default keeps a bare manual invocation working.
|
||||
BINARY="${CBM_TEST_BINARY:-${ROOT}/build/c/codebase-memory-mcp}"
|
||||
if [[ ! -x "${BINARY}" && -x "${BINARY}.exe" ]]; then
|
||||
BINARY="${BINARY}.exe"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user