New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue #14625: fix noinspectionreason for TestMethodWithoutAssertion #14812
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question
@@ -129,7 +129,8 @@ public void setUp() throws Exception { | |||
* @noinspection JUnitTestMethodWithNoAssertions, TestMethodWithoutAssertion | |||
* @noinspectionreason JUnitTestMethodWithNoAssertions - asserts in callstack, | |||
* but not in this method | |||
* @noinspectionreason TestMethodWithoutAssertion - until issue #14625 | |||
* @noinspectionreason TestMethodWithoutAssertion - asserts in callstack, | |||
* but not in this method |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We already have similar rule in some other tools, can you recheck if we suppressed this already for other tools maybe pmd or ....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@romani , pmd yes....
checkstyle/config/pmd-test.xml
Lines 107 to 110 in bb56e9d
| //ClassOrInterfaceDeclaration[@SimpleName='XdocsPagesTest'] | |
//MethodDeclaration[@Name='testAllChecksPresentOnAvailableChecksPage'] | |
| //ClassOrInterfaceDeclaration[@SimpleName='XdocsJavaDocsTest'] | |
//MethodDeclaration[@Name='testAllCheckSectionJavaDocs'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@romani , ping please.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can it help if we rename examineCheckSection
to assertCheckSection
? May be we can extend config to register this method name as asset.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can it help if we rename
examineCheckSection
toassertCheckSection
? May be we can extend config to register this method name as asset.
theoretically, It should, but we would be extending config just for satisfying 2 methods
@romani , just pointing out, we have our methods named in chains.
examineCheckSection
is followed by examineCheckSectionChildren
and again examineCheckSubSection
checkstyle/src/test/java/com/puppycrawl/tools/checkstyle/internal/XdocsJavaDocsTest.java
Line 165 in 1fc5987
private static void examineCheckSection(ModuleFactory moduleFactory, String fileName, |
checkstyle/src/test/java/com/puppycrawl/tools/checkstyle/internal/XdocsJavaDocsTest.java
Line 190 in 1fc5987
private static void examineCheckSectionChildren(Node section) { |
checkstyle/src/test/java/com/puppycrawl/tools/checkstyle/internal/XdocsJavaDocsTest.java
Line 206 in 1fc5987
private static void examineCheckSubSection(Node subSection, String subSectionName) { |
Do we really want to extend our config to new method and hack all these just to workaround for one inspection that won't even impact users as much?
Please do correct me if I'm wrong, I don't mean to cross your suggestion 😃
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@romani , ping please.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
examineCheckSection is actually do assert by execution of
checker.process(files);
All Junit asserts are Custom Check that helps to parse java files.
We can add assert for checker to have no violations or errors after execution to testAllCheckSectionJavaDocs() as it is a field of class, so no suppression will be required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ques
@@ -129,7 +129,8 @@ public void setUp() throws Exception { | |||
* @noinspection JUnitTestMethodWithNoAssertions, TestMethodWithoutAssertion | |||
* @noinspectionreason JUnitTestMethodWithNoAssertions - asserts in callstack, | |||
* but not in this method | |||
* @noinspectionreason TestMethodWithoutAssertion - until issue #14625 | |||
* @noinspectionreason TestMethodWithoutAssertion - asserts in callstack, | |||
* but not in this method |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can it help if we rename examineCheckSection
to assertCheckSection
? May be we can extend config to register this method name as asset.
@romani , please see post above at #14812 (comment) |
@romani , could you please assign this PR to yourself while we discuss how to proceed.. |
@MANISH-K-07, ping, please find time to finish this PR. |
Resolves #14625
TestMethodWithoutAssertion
inspection is a permanent suppression forXdocsJavaDocsTest
&XdocsPagesTest
.Reason being same as for inspection
JUnitTestMethodWithNoAssertions
.Ideally, in this case, both inspections function the same, I believe.