formatter(junit): include range in testcase name - #2538
Merged
bendrucker merged 1 commit intoJun 5, 2026
Merged
Conversation
bendrucker
approved these changes
Jun 5, 2026
Member
|
Nice, this seems like the most correct/simple option for a linter to emit uniquely identifiable case names. Let me know if I am mis-reading in having this supersede #2522. |
tmeijn
pushed a commit
to tmeijn/dotfiles
that referenced
this pull request
Jul 21, 2026
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [tflint](https://github.com/terraform-linters/tflint) | minor | `0.63.1` → `0.64.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>terraform-linters/tflint (tflint)</summary> ### [`v0.64.0`](https://github.com/terraform-linters/tflint/releases/tag/v0.64.0) [Compare Source](terraform-linters/tflint@v0.63.1...v0.64.0) #### What's Changed ##### Enhancements - cmd: include worker dir for no-range recursive issues by [@​Zakharden](https://github.com/Zakharden) in [#​2524](terraform-linters/tflint#2524) - config: add ignorable rule setting by [@​Zakharden](https://github.com/Zakharden) in [#​2525](terraform-linters/tflint#2525) - formatter(junit): include range in testcase name by [@​Zakharden](https://github.com/Zakharden) in [#​2538](terraform-linters/tflint#2538) ##### Bug Fixes - plugin: fetch attestation bundles from bundle\_url by [@​Kunalbehbud](https://github.com/Kunalbehbud) in [#​2593](terraform-linters/tflint#2593) - Merged as [#​2600](terraform-linters/tflint#2600) ##### Chores - Refactor formatter dispatch into format adapters by [@​bendrucker](https://github.com/bendrucker) in [#​2556](terraform-linters/tflint#2556) - Inline per-format print methods into their adapters by [@​bendrucker](https://github.com/bendrucker) in [#​2557](terraform-linters/tflint#2557) - build(deps): Bump docker/setup-buildx-action from 4.0.0 to 4.1.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2559](terraform-linters/tflint#2559) - build(deps): Bump github.com/mattn/go-colorable from 0.1.14 to 0.1.15 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2560](terraform-linters/tflint#2560) - build(deps): Bump golang from 1.26.3-alpine3.23 to 1.26.4-alpine3.23 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2558](terraform-linters/tflint#2558) - release: Set branch name for Homebrew tap by [@​wata727](https://github.com/wata727) in [#​2561](terraform-linters/tflint#2561) - Extract the shared runner-setup pipeline by [@​bendrucker](https://github.com/bendrucker) in [#​2555](terraform-linters/tflint#2555) - formatter: guard diagnostics with no source range by [@​bendrucker](https://github.com/bendrucker) in [#​2562](terraform-linters/tflint#2562) - docs: add Go install instructions to README by [@​RoseSecurity](https://github.com/RoseSecurity) in [#​2563](terraform-linters/tflint#2563) - build(deps): Bump actions/checkout from 6.0.2 to 6.0.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2565](terraform-linters/tflint#2565) - build(deps): Bump alpine from 3.23.4 to 3.24.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2566](terraform-linters/tflint#2566) - build(deps): Bump the go-x group with 2 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2567](terraform-linters/tflint#2567) - build(deps): Bump github.com/sigstore/sigstore-go from 1.1.4 to 1.2.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2568](terraform-linters/tflint#2568) - fix(install): close download and zip readers by [@​RoseSecurity](https://github.com/RoseSecurity) in [#​2564](terraform-linters/tflint#2564) - build(deps): Bump alpine from 3.24.0 to 3.24.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2570](terraform-linters/tflint#2570) - build(deps): Bump golang.org/x/net from 0.55.0 to 0.56.0 in the go-x group by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2571](terraform-linters/tflint#2571) - build(deps): Bump github.com/sigstore/sigstore-go from 1.2.0 to 1.2.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2572](terraform-linters/tflint#2572) - build(deps): Bump actions/checkout from 6.0.3 to 7.0.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2579](terraform-linters/tflint#2579) - build(deps): Bump actions/setup-go from 6.4.0 to 6.5.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2580](terraform-linters/tflint#2580) - build(deps): Bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2583](terraform-linters/tflint#2583) - build(deps): Bump goreleaser/goreleaser-action from 7.2.2 to 7.2.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2582](terraform-linters/tflint#2582) - build(deps): Bump actions/attest from 4.1.0 to 4.1.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2581](terraform-linters/tflint#2581) - build(deps): Bump docker/build-push-action from 7.2.0 to 7.3.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2584](terraform-linters/tflint#2584) - build(deps): Bump golang.org/x/text from 0.38.0 to 0.39.0 in the go-x group by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2585](terraform-linters/tflint#2585) - build(deps): Bump github.com/sigstore/sigstore-go from 1.2.1 to 1.2.2 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2588](terraform-linters/tflint#2588) - build(deps): Bump google.golang.org/grpc from 1.81.1 to 1.82.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2587](terraform-linters/tflint#2587) #### New Contributors - [@​Zakharden](https://github.com/Zakharden) made their first contribution in [#​2524](terraform-linters/tflint#2524) - [@​RoseSecurity](https://github.com/RoseSecurity) made their first contribution in [#​2563](terraform-linters/tflint#2563) - [@​Kunalbehbud](https://github.com/Kunalbehbud) made their first contribution in [#​2593](terraform-linters/tflint#2593) **Full Changelog**: <terraform-linters/tflint@v0.63.1...v0.64.0> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzIuNiIsInVwZGF0ZWRJblZlciI6IjQzLjI3Mi42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiLCJhdXRvbWF0aW9uOmJvdC1hdXRob3JlZCIsImRlcGVuZGVuY3ktdHlwZTo6bWlub3IiXX0=-->
Kunalbehbud
added a commit
to Kunalbehbud/tflint
that referenced
this pull request
Jul 21, 2026
junitErrors used the bare diagnostic summary as the testcase name, so multiple diagnostics sharing a summary (e.g. the same error on two lines) produced duplicate <testcase> names in the same <testsuite>. Include the diagnostic range in the name, mirroring how issue testcases are named since terraform-linters#2538. Fixes terraform-linters#1608
1 task
bendrucker
pushed a commit
that referenced
this pull request
Jul 24, 2026
junitErrors used the bare diagnostic summary as the testcase name, so multiple diagnostics sharing a summary (e.g. the same error on two lines) produced duplicate <testcase> names in the same <testsuite>. Include the diagnostic range in the name, mirroring how issue testcases are named since #2538. Fixes #1608
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.
Why
testcasenames were not unique when multiple issues shared the same rule name, which breaks parsers that deduplicate by name (for example GitLab).tflint --format junitoutput to hide duplicate failures in CI result processing.Closes #2522
What changed
Rangein the junit testcasenamefor each issue, producing names likerule file:line,column-end.Verification
go test ./formatter