Conversation
…ffix `LtIncorrectUnlint` was already fixed to split the tail on ":" before checking membership, so `many-void-attributes:37` style suppressions of a real lint are accepted. That fix (from PR #1404, closing #1388) had a generic unit test, but no integration-level pack exercising the actual registered lint list the way the reported eo-runtime failure did. Add that pack so the exact regression cannot resurface unnoticed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011JuFSRNk5QvWp5dnwsqPyW
zaguzovmaksim0-hue
left a comment
There was a problem hiding this comment.
I checked the current implementation and the regression scope. LtIncorrectUnlint.nameOf() already strips the :line suffix before membership validation, and invalid() explicitly accepts both name:N and name:N-M, so the reported many-void-attributes:37 shape is valid on current master.
The value of this PR is therefore the production-pack regression: it uses the real registered lint name instead of a synthetic name and runs through the same pack machinery that originally exposed the problem. That is the right way to pin the now-correct behavior without changing implementation code.
All current CI checks are green across Linux, macOS, and Windows. No correctness issue found. Approving.
|
@zaguzovmaksim0-hue Thanks for the review! You've earned +4 points for this: +12 as a basis; -8 for absolutely no comments posted; -4 for too few (12) hits-of-code; +4 to give you at least something. Your running score is +148; don't forget to check your Zerocracy account too). |
Summary
LtIncorrectUnlintreports "Suppressing ... does not make sense" for+unlint many-void-attributes:37-style suppressions of a real lint,because it looks up the lint name after stripping the
:linesuffix.Looking at
src/main/java/org/eolang/lints/LtIncorrectUnlint.javaonmaster, this is already correct:nameOf()splits the tail on:before checking membership in the known-lints set, and
LtIncorrectUnlintTest#understandsUnlintsWithLineNumberalready coversthe shape generically. That fix landed as a side effect of PR #1404
(closing #1388), which rewrote this class, but #1021 itself was never
closed and had no coverage using an actual registered lint name run
through the production pack pipeline (the exact way the originally
reported
eo-maven-plugin:lintfailure onwin32.eoexercised it).This PR adds that missing integration-level regression pack, using the
real
many-void-attributeslint name with a line suffix, assertingzero defects — so this exact scenario can never silently regress again.
Test plan
mvn test -Dtest=LtByXslTest,LtIncorrectUnlintTestpasses locally, including the new packpacks/single/incorrect-unlint/allows-real-lint-with-line-suffix.yamlCloses #1021
🤖 Generated with Claude Code
https://claude.ai/code/session_011JuFSRNk5QvWp5dnwsqPyW
Generated by Claude Code