Skip to content

Commit 740d9b4

Browse files
committed
test(smoke): retire the Windows Phase 14 missing-executable requirement
The fixture contract pinned the literal string STALE_CMD="$UPDATE_HOME/retired-install/codebase-memory-mcp.exe" so that Windows Phase 14 would carry an MCP entry naming a missing executable. Two separate things retired that intent, and because the requirement only ever matched the STRING it kept passing while the property it stood for was gone. First, the fixture itself now copies a binary to the retired path (added with the launcher removal), so that path stopped being missing no matter what this string said. Second, Windows update is a handoff to install.ps1. Nothing rewrites the entry in-process the way the launcher-managed update did, so an entry naming a foreign path just survives to uninstall -- which correctly refuses to remove a config entry owned by a DIFFERENT installation. Phase 14f was then asserting that uninstall performs exactly the removal it must never perform, and it failed for that reason. The requirement now pins the installed binary, which is what install.ps1 leaves a real Windows user holding. The missing-executable classification is not dropped, it is covered by named unit tests rather than by this fixture: cli_editor_mcp_preserves_unrecorded_posix_absolute_entries_without_probe and cli_editor_mcp_preserves_unsafe_windows_drive_probe, the latter covering the Windows missing-drive case specifically. This contract runs as step zero of every test leg, so the stale requirement failed all 30 test jobs of release run 30384603265 -- on Windows, macOS and Linux alike -- from one violation. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
1 parent 3ad4274 commit 740d9b4

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

‎tests/test_smoke_fixture_contract.sh‎

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -334,9 +334,23 @@ require(
334334
and 'STALE_CMD="$UPDATE_DRIVER"' in smoke_test,
335335
"POSIX Phase 14 must refresh from positive running-image identity without probing config paths",
336336
)
337-
require(
338-
'STALE_CMD="$UPDATE_HOME/retired-install/codebase-memory-mcp.exe"' in smoke_test,
339-
"Windows Phase 14 must test a literal missing executable, not an ambiguous extensionless command",
337+
# This used to pin the retired path so Windows Phase 14 carried a config entry
338+
# naming a missing executable. Two things retired that intent. The fixture now
339+
# COPIES a binary to the retired path, so it stopped being missing regardless of
340+
# what this string says -- the requirement was only ever checking the string,
341+
# never the property. And Windows update is a handoff to install.ps1 now, so
342+
# nothing rewrites this entry in-process the way the launcher-managed update
343+
# did: an entry naming a foreign path simply survives to uninstall, which
344+
# correctly refuses to remove a config entry owned by a DIFFERENT installation,
345+
# and 14f would then be demanding the one thing uninstall must never do.
346+
#
347+
# The missing-executable classification lives on in named unit tests instead of
348+
# here: cli_editor_mcp_preserves_unrecorded_posix_absolute_entries_without_probe
349+
# and cli_editor_mcp_preserves_unsafe_windows_drive_probe (tests/test_cli.c),
350+
# the latter covering the Windows missing-drive case specifically.
351+
require(
352+
'STALE_CMD="$UPDATE_HOME/.local/bin/codebase-memory-mcp.exe"' in smoke_test,
353+
"Windows Phase 14 must seed the MCP command at the binary uninstall will own",
340354
)
341355
for changed_path in (
342356
"install\\.(sh|ps1)",

0 commit comments

Comments
 (0)