Skip to content

Commit

Permalink
Issue #11665: Create a robust method of surviving mutation suppression
Browse files Browse the repository at this point in the history
  • Loading branch information
Vyom-Yadav committed Jun 24, 2022
1 parent b499862 commit fba897f
Show file tree
Hide file tree
Showing 15 changed files with 1,334 additions and 3 deletions.
4 changes: 4 additions & 0 deletions .ci/jsoref-spellchecker/whitelist.words
Expand Up @@ -516,6 +516,7 @@ googlegroups
googlesource
Gorm
govstrangefolder
GPath
gpg
gradle
gradlew
Expand Down Expand Up @@ -866,6 +867,7 @@ multiplevariabledeclarations
Multiset
multithreading
mutableexception
mutationtest
MVC
mvn
mvnw
Expand Down Expand Up @@ -1210,6 +1212,8 @@ sivakumar
Slawinski
slf
slist
Slurper
slurpersupport
Sms
smth
snyk
Expand Down
47 changes: 47 additions & 0 deletions .ci/pitest-suppressions/pitest-ant-suppressions.xml
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppressedMutations>
<mutation unstable="false">
<sourceFile>CheckstyleAntTask.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask</mutatedClass>
<mutatedMethod>execute</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.MathMutator</mutator>
<description>Replaced long subtraction with addition</description>
<lineContent>log(&quot;Total execution took &quot; + (endTime - startTime) + TIME_SUFFIX,</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>CheckstyleAntTask.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask</mutatedClass>
<mutatedMethod>processFiles</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.MathMutator</mutator>
<description>Replaced long subtraction with addition</description>
<lineContent>log(&quot;To locate the files took &quot; + (endTime - startTime) + TIME_SUFFIX,</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>CheckstyleAntTask.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask</mutatedClass>
<mutatedMethod>processFiles</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.MathMutator</mutator>
<description>Replaced long subtraction with addition</description>
<lineContent>log(&quot;To process the files took &quot; + (processingEndTime - processingStartTime)</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>CheckstyleAntTask.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask$Formatter</mutatedClass>
<mutatedMethod>createDefaultLogger</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>if (toFile == null || !useFile) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>CheckstyleAntTask.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask$Formatter</mutatedClass>
<mutatedMethod>createXmlLogger</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>if (toFile == null || !useFile) {</lineContent>
</mutation>
</suppressedMutations>
137 changes: 137 additions & 0 deletions .ci/pitest-suppressions/pitest-coding-1-suppressions.xml
@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppressedMutations>
<mutation unstable="false">
<sourceFile>UnnecessaryParenthesesCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.UnnecessaryParenthesesCheck</mutatedClass>
<mutatedMethod>isLambdaSingleParameterSurrounded</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>if (firstChild != null &amp;&amp; firstChild.getType() == TokenTypes.LPAREN) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>UnnecessaryParenthesesCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.UnnecessaryParenthesesCheck</mutatedClass>
<mutatedMethod>leaveToken</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_ELSE</mutator>
<description>removed conditional - replaced equality check with false</description>
<lineContent>if (type != TokenTypes.ASSIGN</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>UnnecessaryParenthesesCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.UnnecessaryParenthesesCheck</mutatedClass>
<mutatedMethod>leaveToken</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>|| parent.getType() != TokenTypes.ANNOTATION_MEMBER_VALUE_PAIR) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>UnnecessaryParenthesesCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.UnnecessaryParenthesesCheck</mutatedClass>
<mutatedMethod>visitToken</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>else if (type != TokenTypes.ASSIGN</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>UnnecessaryParenthesesCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.UnnecessaryParenthesesCheck</mutatedClass>
<mutatedMethod>visitToken</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>if (type == TokenTypes.LAMBDA &amp;&amp; isLambdaSingleParameterSurrounded(ast)) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>VariableDeclarationUsageDistanceCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck</mutatedClass>
<mutatedMethod>calculateDistanceInSingleScope</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>&amp;&amp; currentAst.getType() != TokenTypes.RCURLY) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>VariableDeclarationUsageDistanceCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck</mutatedClass>
<mutatedMethod>calculateDistanceInSingleScope</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_ELSE</mutator>
<description>removed conditional - replaced equality check with false</description>
<lineContent>if (!firstUsageFound) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>VariableDeclarationUsageDistanceCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck</mutatedClass>
<mutatedMethod>getFirstNodeInsideForWhileDoWhileBlocks</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_ELSE</mutator>
<description>removed conditional - replaced equality check with false</description>
<lineContent>if (currentNodeType == TokenTypes.SLIST) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>VariableDeclarationUsageDistanceCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck</mutatedClass>
<mutatedMethod>getFirstNodeInsideIfBlock</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_ELSE</mutator>
<description>removed conditional - replaced equality check with false</description>
<lineContent>else if (isChild(currentNode, variable)) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>VariableDeclarationUsageDistanceCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck</mutatedClass>
<mutatedMethod>getFirstNodeInsideIfBlock</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_ELSE</mutator>
<description>removed conditional - replaced equality check with false</description>
<lineContent>if (currentNode.getType() == TokenTypes.LITERAL_IF) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>VariableDeclarationUsageDistanceCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck</mutatedClass>
<mutatedMethod>getFirstNodeInsideTryCatchFinallyBlocks</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>&amp;&amp; currentNode.getType() == TokenTypes.LITERAL_CATCH) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>VariableDeclarationUsageDistanceCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck</mutatedClass>
<mutatedMethod>isChild</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>if (curNode.getType() == ast.getType() &amp;&amp; curNode.getText().equals(ast.getText())) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>VariableDeclarationUsageDistanceCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck</mutatedClass>
<mutatedMethod>isInitializationSequence</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>while (result</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>VariableDeclarationUsageDistanceCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck</mutatedClass>
<mutatedMethod>isVariableInOperatorExpr</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>if (!isVarInOperatorDeclaration &amp;&amp; operator.getType() == TokenTypes.LITERAL_IF) {</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>VariableDeclarationUsageDistanceCheck.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck</mutatedClass>
<mutatedMethod>searchVariableUsageExpressions</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.RemoveConditionalMutator_EQUAL_IF</mutator>
<description>removed conditional - replaced equality check with true</description>
<lineContent>&amp;&amp; currentStatementAst.getType() != TokenTypes.RCURLY) {</lineContent>
</mutation>
</suppressedMutations>

0 comments on commit fba897f

Please sign in to comment.