Skip to content

Fix cross-platform (non-Windows) test failures in process agent, artifact URIs, code grader, LSP path test - #8

Open
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1788440290-cross-platform-test-fixes
Open

Fix cross-platform (non-Windows) test failures in process agent, artifact URIs, code grader, LSP path test#8
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1788440290-cross-platform-test-fixes

Conversation

@devin-ai-integration

Copy link
Copy Markdown

Summary

Full suite on Linux: 2239 → 2237 passing / 2 failing. Seven of the nine failures were real non-Windows bugs, not test noise:

  • ProcessAgent: StandardInput.Close() sat outside the try { WriteLineAsync } catch (IOException), so a child that exits before reading its task JSON broke the pipe twice — the write was caught, the close wasn't. Moved the close inside the try.
  • LocalArtifactStore.GetAccessUrl: new Uri($"file:///{fullPath}") yields file://tmp/x on Unix (the leading / of /tmp collapses into the authority slashes). Now new Uri(fullPath, UriKind.Absolute).
  • CodeGrader: on Unix the shell script was passed as a flat Arguments = $"-c {expandedCommand}", which whitespace-splits into sh -c grep -q ... file so sh only ever saw grep. Now uses ArgumentList.Add("-c"); ArgumentList.Add(expandedCommand); Windows keeps cmd /c <string>.
  • LspClientTests.PathToUri_Converts_Windows_Path: the inputs are drive-letter paths and PathToUri calls Path.GetFullPath, which only treats C:\... as rooted on Windows. Guarded the theory with if (!OperatingSystem.IsWindows()) return;.

All four bugs also exist on ramseur/sovrant development (verified by running those projects in a clean worktree of upstream), so this isn't merge fallout.

Still failing (not fixed here — product decision)

ModelOverrideLoaderTests.LoadAll_RegistersBundledOverrides / LoadAll_OllamaGlob_SetsWorkaround. The gemma-4 entries in src/Sovrant.Api/Capabilities/model-overrides.json carry "expires": "2026-07-01", and LoadFromStream correctly skips expired entries — so as of today the bundled overrides no longer register and the tests fall back to CapabilitySource.Default. The expiry mechanism is working as designed; the fix is either to extend/remove the expiry or to retire the workaround and the tests with it. Left alone rather than guessing.

Link to Devin session: https://app.devin.ai/sessions/d1b1be50c04f4787bcc00befb37bf805
Open in Devin Desktop: https://app.devin.ai/desktop/session/d1b1be50c04f4787bcc00befb37bf805?variant=devin
Requested by: @xingh

…s, code grader shell args, and LSP path test

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

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.

1 participant