-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Resolve Pitest Suppression in Pitest-Javadoc Profile #13999
Comments
…stractJavaDocCheck
…cCheck validateDefaultJavadocTokens() method
…pHtmlCommentmethod()
…pHtmlCommentmethod()
@Kevin222004 why aren’t we referencing #12341 (comment) and why are we rewriting the pitest procedure here? |
Javadoc are very special group, we less demanding to prove that code is required. We know already that implementation of such checks are very error prone, so if regression can not be found by regression, code should be removed. If there will be regression, we are sorry and we will fix easily in next release. This rule is not applicable to AST based javadoc Checks, we might do the same for Indentation module ( I am not sure). This rule is not applicable to #14019 . |
I am on JavadocParagraphCheck |
…pHtmlCommentmethod()
…pHtmlCommentmethod()
i am on |
I am on foundThrows.add(documentedClassInfo.getName().getText()) |
Bumps [com.google.truth:truth](https://github.com/google/truth) from 1.2.0 to 1.3.0. - [Release notes](https://github.com/google/truth/releases) - [Commits](google/truth@v1.2.0...v1.3.0) --- updated-dependencies: - dependency-name: com.google.truth:truth dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Issue checkstyle#6207: Enale XpathRegressionTest for IlegalTokenText dependency: bump org.pitest:pitest-maven from 1.15.3 to 1.15.4 Bumps [org.pitest:pitest-maven](https://github.com/hcoles/pitest) from 1.15.3 to 1.15.4. - [Release notes](https://github.com/hcoles/pitest/releases) - [Commits](hcoles/pitest@1.15.3...1.15.4) --- updated-dependencies: - dependency-name: org.pitest:pitest-maven dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Issue checkstyle#13213: removed //ok metrics,design Issue checkstyle#13213: Removed //ok from leftout files Issue checkstyle#13999: Resolve pitest suppression for throwAst.getParent() of JavadocMethod Issue checkstyle#13213: Removed //ok noncompilable/naming dependency: bump org.pitest:pitest-maven from 1.15.4 to 1.15.6 Bumps [org.pitest:pitest-maven](https://github.com/hcoles/pitest) from 1.15.4 to 1.15.6. - [Release notes](https://github.com/hcoles/pitest/releases) - [Commits](hcoles/pitest@1.15.4...1.15.6) --- updated-dependencies: - dependency-name: org.pitest:pitest-maven dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Issue checkstyle#11163: Enforced file size inputs Issue checkstyle#6207: Add XPath IT Regression test for CatchParameterName Issue checkstyle#11163: Enforced filesize commentsindentation Issue checkstyle#13213: removed //ok noncompilable/sizes Issue checkstyle#13213: Removed //ok from methodcount Issue checkstyle#11163: enforced filesize MissingJavadocTypeTags Issue checkstyle#6207: Enable XpathRegressiontest for EqualsHashCode Issue checkstyle#13213: Removed //ok from nolinewrap Issue checkstyle#13213: Removed //ok from declarationorder Issue checkstyle#14137: Enable `MockitoStubbing` check Issue checkstyle#13213: removed //ok noncompilable/whitespace Issue checkstyle#13345: Enable StaticVariableNameCheckExamplesTest Issue checkstyle#14137: Enable `TimeZoneUsage` check Issue checkstyle#11163: Enforced filesize TypeNoJavadoc1 doc: release notes for 10.13.0 [maven-release-plugin] prepare release checkstyle-10.13.0 [maven-release-plugin] prepare for next development iteration doc: fix releasenotes.xml line length violation Issue# 13999: RemoveConditionalMutator_EQUAL_IF on if (child.getType() == TokenTypes.PARAMETER_DEF)
…tJavadocTokens method of AbstractJavadocCheck
…tJavadocTokens method of AbstractJavadocCheck
…tJavadocTokens method of AbstractJavadocCheck
As a part of this issue, we have to kill the mutation listed below and remove the suppression from pitest-javadoc-suppression.xml
How to Kill the Mutation
1) Take 1 mutation and apply to the code
Pick up the one mutation from the pitest-javadoc-suppression.xml file or for better understanding you can generate the pitest report as well by Following Steps
and finally hardcode the mutation.
How to hardcode the mutation
For better understanding of mutatnt, That how it works. Please checkout Pitest Doc In this you will find the detail explaination of each mutant with example.
2) Send the pr and generate the report
After hardcoding the code please send a pull request and try to generate the regression Report. If Regression report found the diff then you got your test cases. use that part of code as your input and create a test.
How to generate the Regression Report
To learn how to generate the regression report Please go through the Following link.
https://github.com/checkstyle/contribution/tree/master/checkstyle-tester#report-generation
After reading this you found the 2 method two genrate the report please try to generate the report with Github Action.
For example https://github.com/checkstyle/contribution/tree/master/checkstyle-tester#generation-examples
Basically you have to generate the 2 report in with project file
3) Removal of code
If no diff found from all the report just follow the mutation apply the changes and update the pr.
Apart of this for more detailed explaination please go through Wiki-Page and Pit Documentation
Example of how we did not find by report test case that kill mutation #13342 and we simply updated code as pitest mutated.
Example of how to share analytical explanation on why removal of code is ok - #14410
List of survivals to kill mutation
please always choose single mutation for Pull Request.
1) JavadocParagraphCheck
DetailNode newLine = JavadocUtil.getPreviousSibling(node)
3) JavadocStyleCheck
builder.deleteCharAt(index)
if (Character.isWhitespace(builder.charAt(index)))
if (Character.isWhitespace(builder.charAt(index)))
if (Character.isWhitespace(builder.charAt(index))) {
if (Character.isWhitespace(builder.charAt(index))) {
if (Character.isWhitespace(builder.charAt(index)))
index += 2;
builder.deleteCharAt(index)
4) JavadocMethodCheck
final int col = calculateTagColumn(noargCurlyMatcher, i, startColumnNumber)
.getColumnNo());
final Token token = new Token(tag.getFirstArg(), tag.getLineNo(), tag
final int col = calculateTagColumn(noargCurlyMatcher, i, startColumnNumber)
foundThrows.add(documentedClassInfo.getName().getText())
foundThrows.add(documentedClassInfo.getName().getText())
if (class1.contains(separator) || class2.contains(separator)) {
if (arg1.startsWith(ELEMENT_START) && arg1.endsWith(ELEMENT_END))
if (child.getType() == TokenTypes.PARAMETER_DEF) {
if (class1.contains(separator) || class2.contains(separator)) {
if (ancestor.getType() == TokenTypes.LITERAL_TRY
return surroundingAccessModifier != null
final DetailAST blockAst = methodAst.findFirstToken(TokenTypes.SLIST)
DetailAST ancestor = throwAst.getParent();
2) JavadocMethodCheck$Token
columnNo = fullIdent.getColumnNo();
columnNo = fullIdent.getColumnNo();
lineNo = fullIdent.getLineNo();
lineNo = fullIdent.getLineNo()
5) JavadocNodeImpl
+ ", children=" + Objects.hashCode(children)
6) JavadocTagInfo$15
varType.getFirstChild().getType() == TokenTypes.ARRAY_DECLARATOR
return astType == TokenTypes.VARIABLE_DE
Issue #13501: Kill mutation for JavadocTagInfo4 #13601
Issue #13501: Kill mutation for JavadocTagInfo3 #13600
7) JavadocTagInfo$14
return astType == TokenTypes.METHOD_DEF
Issue #13501: Kill mutation for JavadocTagInfo2 #13599
8) JavadocTagInfo$11
return astType == TokenTypes.METHOD_DEF
Issue #13501: Kill mutation for JavadocTagInfo #13598.
9) TagParser
Point position = findChar(text, '<', new Point(0, 0))
toPoint = findChar(text, '>', getNextPoint(text, toPoint))
toPoint = findChar(text, '>', toPoint)
(Character.isJavaIdentifierStart(text.charAt(position))
(Character.isJavaIdentifierStart(text.charAt(position))
if (incompleteTag) {
.substring(0, toPoint.getColumnNo() + 1).endsWith("-->"))
(Character.isJavaIdentifierStart(text.charAt(position))
text = text.substring(column).trim()
while (toPoint.getLineNo() < text.length && !text[toPoint.getLineNo()]
10) AbstractJavadocCheck
JavadocUtil.getTokenName(javadocTokenId), getClass().getName())
avadocToken, getClass().getName()
blockCommentNode.getColumnNo())
waitsForProcessing = shouldBeProcessed(curNode);
if (curNode != null) {
if (getRequiredJavadocTokens().length != 0)
if (toVisit == null) {
Issue #13501: Kill mutation for AbstarctJavadoc #13602
The text was updated successfully, but these errors were encountered: