V10.1.0/sync to fork - #3
Merged
Merged
Conversation
Synchronize the changelog with upstream coverlet 10.1.0 fixes that have been ported to this fork's narrowed MTP and core package surface.
Add AGENTS.md with upstream synchronization workflow and fork-specific constraints to guide future maintenance. Update solution file to include this guidance document.
Add support for the Microsoft Testing Platform --config-file command-line argument in the coverlet.MTP collector, falling back to the legacy coverlet.mtp.appsettings.json discovery only when no config file is explicitly specified.
Fix assembly resolution to fall back to NetCoreSharedFrameworkResolver when an assembly is completely absent from all *.deps.json compileLibraries (occurs when FrameworkReference is declared transitively in recent SDK versions). Prevents silently empty coverage reports for modules affected by this dependency context behavior.
Add regression tests for issue coverlet-coverage#1727 to ensure that async state-machine methods remain instrumented when ExcludeByAttribute=CompilerGeneratedAttribute is configured. Includes unit test for shared-framework assembly resolution fallback. Updates test infrastructure to support excludeAttributes parameter.
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.
This pull request synchronizes the Codebelt.Coverlet.MTP fork with upstream coverlet 10.1.0, selectively porting only relevant fixes and enhancements while preserving the fork's narrowed MTP/core package surface and multi-targeted package layout. The most important changes include honoring the Microsoft Testing Platform
--config-fileargument, improving assembly resolution to prevent empty coverage, and adding regression tests for these scenarios. Documentation and changelog entries have also been updated to reflect the new release and repository workflow.Feature and Bug Fixes:
--config-fileargument, using it to load configuration settings if provided, and only falling back to legacycoverlet.mtp.appsettings.jsondiscovery if not specified.*.deps.jsoncompileLibraries, the resolver now falls back toNetCoreSharedFrameworkResolverto locate the assembly in the shared framework, preventing cases of silently empty coverage due to recent .NET SDK changes.Testing Improvements:
compileLibrariesare correctly resolved from the shared framework, preventing coverage gaps for modules affected by SDK dependency context changes.ExcludeByAttribute=CompilerGeneratedAttributeto ensure async state-machine methods remain instrumented.Documentation and Project Guidance:
CHANGELOG.mdfor the 10.1.0 release, describing the selective sync and the above fixes. [1] [2]AGENTS.mdwith detailed repository guidance and an upstream sync workflow, clarifying how to maintain the fork's narrowed package surface and avoid reintroducing upstream features that were intentionally removed. [1] [2]