fix(e2e): resolve inspected artifact with platform exe suffix (#202) - #204
Closed
emmanuelm41 wants to merge 1 commit into
Closed
fix(e2e): resolve inspected artifact with platform exe suffix (#202)#204emmanuelm41 wants to merge 1 commit into
emmanuelm41 wants to merge 1 commit into
Conversation
emmanuelm41
force-pushed
the
fix/windows-e2e-exe-suffix
branch
from
June 1, 2026 23:22
a7e762e to
fa48199
Compare
emmanuelm41
marked this pull request as draft
June 1, 2026 23:26
On Windows the binary-inspection step in `inspect_binary` looked for the run artifact at the fixture's suffix-less verify path (`./target/release/foo`), but the real file is `foo.exe`. `multi-dep` and `rust-workspace` therefore failed verify with "binary inspection: artifact not found" even though the binary ran fine (exit 0, correct stdout). The `Path::join` also left mixed `\.`/`/` separators in the reported path. Add `artifact_candidates` (pure, testable) + `resolve_artifact`: tidy the path via `portable_path`, then try `<path>` and `<path><EXE_SUFFIX>` in order, picking the first that exists. No-op on Unix (EXE_SUFFIX is empty).
emmanuelm41
force-pushed
the
fix/windows-e2e-exe-suffix
branch
from
June 2, 2026 11:36
fa48199 to
8545a06
Compare
Member
Author
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.
Closes #202.
Problem
The Windows e2e arm (#82) failed
multi-depandrust-workspaceat the binary-inspection verify step even though the binaries ran fine (exit 0, correct stdout):Two harness-only issues in
crates/kache-e2e/src/runner.rs::inspect_binary:cwd.join("./target/release/foo").exists(), but on Windows the real artifact isfoo.exe— the platform exe suffix was never applied.Path::joinleft mixed\.//separators in the reported path.Fix
artifact_candidates(path, exe_suffix)— pure, no filesystem — tidies the path with the existingportable_path()helper, then yields<path>followed by<path><EXE_SUFFIX>(skipping a double suffix). Testable on any host.resolve_artifact(path)usesstd::env::consts::EXE_SUFFIXand returns the first candidate that exists on disk.inspect_binarynow resolves viaresolve_artifactand reports the not-found path throughportable_pathfor clean separators.No-op on Unix (
EXE_SUFFIXis empty), mirroring theexe_suffixmatrix var already used inci.yml.Tests
Added 5 unit tests for the candidate/resolve logic.
cargo fmt,cargo clippy --all-targets, andcargo test -p kache-e2e(25 passed) all green locally.Validation: the Windows e2e arm is non-blocking and runs on the self-hosted
kunobi-windowsrunner; this PR's CI run will exercise it.