Skip to content

dotnet tests: a wrong DOTNET_E2E_* path fails instead of skipping - #62

Merged
Sniperlyf3 merged 1 commit into
mainfrom
claude/meowsshapi-prs-issues-k2bx2m
Sep 25, 2026
Merged

Sniperlyf3 merged 1 commit into
mainfrom
claude/meowsshapi-prs-issues-k2bx2m

Conversation

@Sniperlyf3

Copy link
Copy Markdown
Owner

Problem

A mistyped or not-yet-built binary path in CI made the .NET real-binary E2E suite pass without running anything.

  • Five E2E test classes each had their own copy of the binary lookup.
  • Each copy returned null ("no binaries, skip") when a DOTNET_E2E_* variable was set but named a file that doesn't exist.
  • The Go agent E2E suite fell into the same trap on Windows until ci: run the Go agent E2E suite on Windows, and fail if it skips #60. CLAUDE.md listed the .NET half as still open.

Fix

  • One shared lookup: the five copies now call E2EBinaries.Sources().
    • Both variables unset: the tests still skip, as a local run should.
    • Only one variable set, or either naming a missing file: it throws, naming the variable and the path.
  • CLAUDE.md: the "still goes quiet" note now describes the new behaviour.

Verification

  • New tests: E2EBinariesTests covers all three outcomes (skip, run, throw).
  • Variables unset: dotnet test dotnet/Meowshell.sln passes 231/231.
  • Real binaries: 231/231 against the real linux_amd64 binaries, with e2e/start-testderp.sh running as in CI.
  • Missing file: with DOTNET_E2E_MEOWSHELL_BIN pointed at a file that doesn't exist, 26 real-binary tests fail with "does not exist". Before this change, the same configuration passed.

🤖 Generated with Claude Code

https://claude.ai/code/session_013WM5HyhwRLKBDyHR6qitkk


Generated by Claude Code

Five E2E test classes each carried the same binary lookup, and each
returned null -- "no binaries, skip" -- when a DOTNET_E2E_* variable was
set but named a file that did not exist. The tests treat null as a local
run and return early, so a mistyped or not-yet-built path in CI turned
the whole real-binary suite into a green no-op. That is the trap the Go
agent E2E suite fell into on Windows until #60, and CLAUDE.md listed the
.NET half as still open.

The five copies now share E2EBinaries.Sources(): both variables unset
still skips, as a local run should; one set without the other, or either
naming a missing file, throws with the variable and path. CLAUDE.md says
so in place of the "still goes quiet" note.

Verified: E2EBinariesTests pin all three outcomes. dotnet test
dotnet/Meowshell.sln passes 231/231 with the variables unset, and 231/231
against the real linux_amd64 binaries with e2e/start-testderp.sh running,
as CI runs it. With DOTNET_E2E_MEOWSHELL_BIN pointed at a missing file,
26 real-binary tests fail with "does not exist"; before this change the
same configuration passed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013WM5HyhwRLKBDyHR6qitkk
@Sniperlyf3
Sniperlyf3 merged commit b338e48 into main Sep 25, 2026
22 checks passed
@Sniperlyf3
Sniperlyf3 deleted the claude/meowsshapi-prs-issues-k2bx2m branch September 25, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants