Repository navigation
fix(tests): repair Windows hook-lifecycle and macOS connection-cap CI failures - #13
Conversation
…-cap failures Windows: cli_windows_lifecycle (tests/test_cli.c:9090) installed hooks bound to <home>/.local/bin/codebase-memory-mcp.exe, but `uninstall` derives its expected owned-script bytes from cbm_agent_installed_binary_path(), which in this fork returns codebase-memory-cli.exe. The seeded .cmd scripts and their extensionless twins therefore never matched the owned shapes and were left in place. The test now uses the fork's installed binary name, matching the path uninstall actually resolves. Upstream's test used mcp.exe because its installed binary still has that name. macOS: daemon_runtime_connection_cap_covers_slow_hello_and_stopping_is_terminal keeps a raw connection open without sending hello so it occupies one of two slots. The fixture's 2 s server hello deadline could expire during the two full client handshakes on a loaded sanitized runner (the suite took 427 s on macos-14), freeing the slot before the overflow connect was sampled. This one fixture now gets a 30 s request timeout through a static override, following the existing runtime_test_fixture_permanent pattern. The test closes the slow connection itself, so nothing depends on the shorter deadline. The capacity assertion is unchanged.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe runtime test fixture now accepts a file-local request-timeout override. The connection-cap test uses a 30-second timeout during startup, then resets the override. Other changes reformat existing test calls and expressions without changing their behavior. ChangesRuntime test adjustments
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Other Suggested reviewers: Merge Risk: ⚪ Minimal · up to The changes correct test setup without changing runtime behavior: the CLI lifecycle test uses the installed binary name, and the daemon test extends the HELLO timeout only for its fixture. No merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
Fixes the two GitHub CI shards that were still red when #12 merged. Both are test defects; no product code changes.
Windows:
cli_windows_lifecycle(tests/test_cli.c:9090)The test installed hooks bound to
<home>/.local/bin/codebase-memory-mcp.exe.uninstallbuilds its expected owned-script bytes fromcbm_agent_installed_binary_path(), which in this fork returnscodebase-memory-cli.exe(src/cli/cli.c:7696). The seeded.cmdscripts and their extensionless twins never matched an owned shape, so uninstall left them in place and the final check failed. The test now uses the fork's installed binary name. Upstream's version of this test usesmcp.exebecause its installed binary still has that name.macOS:
daemon_runtime_connection_cap_covers_slow_hello_and_stopping_is_terminal(tests/test_daemon_runtime.c:2951)The test holds a raw connection open without sending hello so it occupies one of two slots, then expects a third client to be rejected for capacity. The fixture's server hello deadline was 2 s. On macos-14 the sanitized
daemon_runtimesuite took 427 s, and the two full client handshakes before the overflow connect could outlast that deadline. The server then dropped the slow connection and freed the slot before the sample. This fixture now gets a 30 s request timeout through a static override, following the existingruntime_test_fixture_permanentpattern. The test closes the slow connection itself, so nothing depends on the shorter deadline. The capacity assertion is unchanged.Validation
codebase-memory-cli-release-tooling[Feature Request] Can you add PowerShell 7 and Windows PowerShell support to this? DeusData/codebase-memory-mcp#35 on7e9005f8withCBM_TEST_SUITES="daemon_runtime cli": SUCCESS, 287 passed, 0 failed. The connection-cap test passes there.37dd63ba(currentmain), passed.Summary by CodeRabbit