Skip to content

fix(cargo-anvil): shorten Windows coverage paths - #165

Closed
martintmk wants to merge 1 commit into
mainfrom
fix/anvil-windows-llvm-cov-command-limit
Closed

fix(cargo-anvil): shorten Windows coverage paths#165
martintmk wants to merge 1 commit into
mainfrom
fix/anvil-windows-llvm-cov-command-limit

Conversation

@martintmk

Copy link
Copy Markdown
Member

Summary

  • use target/c as cargo-llvm-cov's private build directory on Windows unless the caller already set CARGO_LLVM_COV_TARGET_DIR
  • keep the existing per-feature report split while shortening every --object path passed to llvm-cov export
  • add recipe contract coverage and update the generated Anvil files and design documentation

Motivation

Oxidizer PR microsoft/oxidizer#722 still fails after the per-feature split because one llvm-cov export command is 34,152 characters, exceeding the Windows CreateProcess limit. Replacing target/llvm-cov-target with target/c in that captured command reduces it to approximately 28,088 characters while preserving the same object set and coverage semantics.

This is intentionally a targeted mitigation for cargo-llvm-cov's current one-argument-per-object behavior. A response-file implementation in cargo-llvm-cov would be the structural upstream fix.

Validation

  • focused recipe contract tests for the compact target directory
  • cargo-anvil clippy with all targets and features
  • generated artifact dry-run reports no drift

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 460b188a-08ea-418c-802a-41d557329876
@martintmk

Copy link
Copy Markdown
Member Author

replaced by #166

@martintmk martintmk closed this Sep 8, 2026
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