Check exact-empty sections across all libraries - #3899
Closed
richlander wants to merge 5 commits into
Closed
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 69d084f3-8160-4685-8876-53ca246b77f9
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 69d084f3-8160-4685-8876-53ca246b77f9
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 69d084f3-8160-4685-8876-53ca246b77f9
Owner
Author
|
Closing as superseded. #3901 merged the document-wide exact-empty fix for #3884, and #3945 subsequently added the multi-inspection Markdown framing, aggregate count behavior, wildcard boundary, and per-assembly failure diagnostics while defining the current output-shape contract. This branch no longer carries a unique behavioral change worth resolving against current main. |
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.
Exact-empty validation now evaluates the whole multi-assembly document instead of only its first inspection. A selected section renders when any assembly has rows, and fails only when every assembly is empty.
Markdown output now composes each assembly with its own effective section filter under the package's
Librariesheading. This preserves the report hierarchy while ensuring a populated later assembly renders without leaking unrequested sections. Row-oriented formats retain their existing per-assembly rendering.The same document-level decision governs empty-section notes: a populated later assembly no longer appears alongside a false note that the selected section has no data. Inspection failures remain correlated per assembly, so a failure in one assembly is still visible even when another assembly renders the requested section. Duplicate identical failures are reported once.
A deterministic local package fixture puts an empty assembly first and the test assembly with async methods second. It pins both sides:
-S "Async Methods" --tsvand--markdownexit 0 and emit the later assembly's rows.Library InfoorSymbols.-S Resources --tsvstill exits 1 with empty stdout when every assembly is empty.Compatibility boundary: single-assembly behavior is unchanged. Singleton
--count, wildcard provenance (#3886), and multi-assembly reference trees (#3885) are separate paths and remain out of scope.Validation:
Microsoft.NETCore.App.Runtime.linux-x64@10.0.0 --tfm all -S "Async Methods" --tsvexits 0 with 269 lines and no stderr (regressed head exited 1 with empty stdout).Closes #3884.