Group uncovered branches by package and file in JSON output#6
Merged
Conversation
Restructure uncoveredBranches from a flat array to packages/files/branches so repeated file paths are not duplicated. Resolve importPath and module- relative paths using the same module discovery as coverprofile normalization. Deterministic sort order: importPath, file path, line, kind. Add internal rollup helpers and tests. Update docs and README with the new schema and a jq flatten example. Lower the go directive to 1.22 because the previous 1.26 requirement could not be satisfied in restricted toolchain environments. Co-authored-by: Kei <keyskey@users.noreply.github.com>
Co-authored-by: Kei <keyskey@users.noreply.github.com>
Co-authored-by: Kei <keyskey@users.noreply.github.com>
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.
Summary
This change replaces the flat
uncoveredBranchesarray with a nested object:importPath→ filepath→branches(line,kind, optionalrecommendation). This removes repeated full file paths from the JSON while preserving every uncovered finding.Behavior
importPathand module-relativepathare derived from the samego.moddiscovery already used when normalizing coverprofile paths._+ POSIX directory path) and keep an absolute or unresolved path inpath.importPath, then filepath, thenline, thenkind.Documentation
docs/gobce.md,docs/how-gobce-works.md, andREADME.mdupdated; README adds ajqexample to flatten branch entries.Testing
go test ./...when a compatible Go toolchain is available.