Skip to content

Commit

Permalink
Issue checkstyle#6295: added test cases to kill javadoc profile mutat…
Browse files Browse the repository at this point in the history
…ions
  • Loading branch information
rnveach committed Dec 25, 2018
1 parent a2a3c63 commit 3c6cfc2
Show file tree
Hide file tree
Showing 12 changed files with 99 additions and 11 deletions.
10 changes: 0 additions & 10 deletions .ci/pitest.sh
Expand Up @@ -105,26 +105,16 @@ pitest-javadoc)
"AbstractTypeAwareCheck.java.html:<td class='covered'><pre><span class='survived'> if (dotIdx == -1) {</span></pre></td></tr>"
"AbstractTypeAwareCheck.java.html:<td class='covered'><pre><span class='survived'> imports.clear();</span></pre></td></tr>"
"AbstractTypeAwareCheck.java.html:<td class='covered'><pre><span class='survived'> typeParams.clear();</span></pre></td></tr>"
"JavadocMethodCheck.java.html:<td class='covered'><pre><span class='survived'> final int col = noargMultilineStart.start(1) - 1;</span></pre></td></tr>"
"JavadocMethodCheck.java.html:<td class='covered'><pre><span class='survived'> return (ast.getType() == TokenTypes.METHOD_DEF || ast.getType() == TokenTypes.CTOR_DEF)</span></pre></td></tr>"
"JavadocMethodCheck.java.html:<td class='covered'><pre><span class='survived'> while (remIndex &#60; lines.length) {</span></pre></td></tr>"
"JavadocMethodCheck.java.html:<td class='covered'><pre><span class='survived'> while (remIndex &#60; lines.length) {</span></pre></td></tr>"
"JavadocPackageCheck.java.html:<td class='covered'><pre><span class='survived'> directoriesChecked.clear();</span></pre></td></tr>"
"JavadocPackageCheck.java.html:<td class='covered'><pre><span class='survived'> setFileExtensions(&#34;java&#34;);</span></pre></td></tr>"
"JavadocPackageCheck.java.html:<td class='covered'><pre><span class='survived'> super.beginProcessing(charset);</span></pre></td></tr>"
"JavadocStyleCheck.java.html:<td class='covered'><pre><span class='survived'> &#38;&#38; builder.charAt(index - 1) == &#39;*&#39;) {</span></pre></td></tr>"
"JavadocStyleCheck.java.html:<td class='covered'><pre><span class='survived'> else if (index &#62; 0 &#38;&#38; builder.charAt(index) == &#39;/&#39;</span></pre></td></tr>"
"JavadocStyleCheck.java.html:<td class='covered'><pre><span class='survived'> trimTail(builder);</span></pre></td></tr>"
"JavadocTagContinuationIndentationCheck.java.html:<td class='covered'><pre><span class='survived'> &#38;&#38; (text.length() &#60;= offset</span></pre></td></tr>"
"JavadocTagInfo.java.html:<td class='covered'><pre><span class='survived'> .collect(Collectors.toMap(JavadocTagInfo::getName, tagName -&#62; tagName)));</span></pre></td></tr>"
"JavadocTagInfo.java.html:<td class='covered'><pre><span class='survived'> .collect(Collectors.toMap(JavadocTagInfo::getText, tagText -&#62; tagText)));</span></pre></td></tr>"
"JavadocTypeCheck.java.html:<td class='covered'><pre><span class='survived'> tagCount++;</span></pre></td></tr>"
"SummaryJavadocCheck.java.html:<td class='covered'><pre><span class='survived'> for (int i = 0; !found &#38;&#38; i &#60; children.length - 1; i++) {</span></pre></td></tr>"
"SummaryJavadocCheck.java.html:<td class='covered'><pre><span class='survived'> if (child.getType() != JavadocTokenTypes.JAVADOC_INLINE_TAG</span></pre></td></tr>"
"TagParser.java.html:<td class='covered'><pre><span class='survived'> &#38;&#38; (Character.isWhitespace(currentLine.charAt(column))</span></pre></td></tr>"
"TagParser.java.html:<td class='covered'><pre><span class='survived'> || currentLine.charAt(column) == &#39;*&#39;)) {</span></pre></td></tr>"
"TagParser.java.html:<td class='covered'><pre><span class='survived'> while (column &#60; currentLine.length()</span></pre></td></tr>"
"WriteTagCheck.java.html:<td class='covered'><pre><span class='survived'> log(lineNo, MSG_MISSING_TAG, tag);</span></pre></td></tr>"
"WriteTagCheck.java.html:<td class='covered'><pre><span class='survived'> tagCount += 1;</span></pre></td></tr>"
);
checkPitestReport "${ignoredItems[@]}"
Expand Down
Expand Up @@ -140,6 +140,7 @@ public void testTags() throws Exception {
"328:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
"337:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
"344:5: " + getCheckMessage(MSG_INVALID_INHERIT_DOC),
"383:8: " + getCheckMessage(MSG_DUPLICATE_TAG, "@return"),
};

verify(checkConfig, getPath("InputJavadocMethodTags.java"), expected);
Expand Down Expand Up @@ -179,6 +180,7 @@ public void testTagsWithResolver() throws Exception {
"328:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
"337:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
"344:5: " + getCheckMessage(MSG_INVALID_INHERIT_DOC),
"383:8: " + getCheckMessage(MSG_DUPLICATE_TAG, "@return"),
};
verify(checkConfig, getPath("InputJavadocMethodTags.java"), expected);
}
Expand Down Expand Up @@ -298,6 +300,7 @@ public void testTagsWithSubclassesAllowed() throws Exception {
"328:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
"337:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
"344:5: " + getCheckMessage(MSG_INVALID_INHERIT_DOC),
"383:8: " + getCheckMessage(MSG_DUPLICATE_TAG, "@return"),
};
verify(checkConfig, getPath("InputJavadocMethodTags.java"), expected);
}
Expand Down Expand Up @@ -639,4 +642,15 @@ public void testJavadocInMethod() throws Exception {
verify(checkConfig, getPath("InputJavadocMethodJavadocInMethod.java"), expected);
}

@Test
public void testConstructor() throws Exception {
final DefaultConfiguration checkConfig = createModuleConfig(JavadocMethodCheck.class);
final String[] expected = {
"5:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
"8:49: " + getCheckMessage(MSG_EXPECTED_TAG, "@param", "p1"),
"10:50: " + getCheckMessage(MSG_EXPECTED_TAG, "@param", "p1"),
};
verify(checkConfig, getPath("InputJavadocMethodConstructor.java"), expected);
}

}
Expand Up @@ -174,4 +174,14 @@ public void testCheckstyleExceptionIfFailedToGetCanonicalPathToFile() {
}
}

@Test
public void testNonJava() throws Exception {
final Configuration checkConfig = createModuleConfig(JavadocPackageCheck.class);
final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
verify(
createChecker(checkConfig),
getPath("InputJavadocPackageNotJava.txt"),
expected);
}

}
Expand Up @@ -74,6 +74,7 @@ public void testCheck() throws Exception {
"310: " + getCheckMessage(MSG_KEY, 4),
"322: " + getCheckMessage(MSG_KEY, 4),
"324: " + getCheckMessage(MSG_KEY, 4),
"342: " + getCheckMessage(MSG_KEY, 4),
};
verify(checkConfig, getPath("InputJavadocTagContinuationIndentation.java"),
expected);
Expand Down
Expand Up @@ -204,6 +204,15 @@ public void testEnumsAndAnnotations() throws Exception {
verify(checkConfig, getPath("InputWriteTag2.java"), expected);
}

@Test
public void testNoJavadocs() throws Exception {
final DefaultConfiguration checkConfig = createModuleConfig(WriteTagCheck.class);
final String[] expected = {
"3: " + getCheckMessage(MSG_MISSING_TAG, "null"),
};
verify(checkConfig, getPath("InputWriteTag3.java"), expected);
}

@Override
protected void verify(Checker checker,
File[] processedFiles,
Expand Down
@@ -0,0 +1,17 @@
package com.puppycrawl.tools.checkstyle.checks.javadoc.javadocmethod;

public class InputJavadocMethodConstructor {
private int field;
public InputJavadocMethodConstructor() {}
public InputJavadocMethodConstructor(Runnable p1) { this.field = 0; }
/** */
public InputJavadocMethodConstructor(String p1) { this.field = 0; }
/** Test. */
public InputJavadocMethodConstructor(Integer p1) { this.field = 0; }
/** Test.
* @param p1 */
public InputJavadocMethodConstructor(Long p1) { this.field = 0; }
/** Test.
* @param p1 Test. */
public InputJavadocMethodConstructor(Short p1) { this.field = 0; }
}
Expand Up @@ -376,3 +376,11 @@ public final String myMethod(final String arg1,
class WrongException extends RuntimeException
{
}

@interface InputInterfaceTest {
/** @return
* nothing
* @return
* oops */
String[] results() default {};
}
@@ -0,0 +1 @@
test
Expand Up @@ -423,4 +423,24 @@ void inheritDocWithThrows() {}
* @return Return
*/
public int test(String s) { return 0; }

/** Set of all class field names.*/
public String field;

/**
* <p>Test.</p>
* <pre class="body">
for (
; i &lt; j; i++, j--) {}
</pre>
*/
public void test2() {}

/**
* <p>Test.</p>
* <pre><code>&#064;ExtendWith(SpotBugsExtension.class)
public class SampleTest {
}</code></pre>
*/
public void test3() {}
}
Expand Up @@ -334,3 +334,13 @@ interface FooIn1 {}
* factory}.</p> // no warning
*/
interface FooIn2 {}
class ShortNextLine {
/**
* Test.
*
* @return Test
* tt <code>null</code>.
*/
public void example() {
}
}
Expand Up @@ -18,7 +18,7 @@ enum InputWriteTag2 {
/**
* @incomplete This annotation needs more code...
*/
@interface InputWriteTag3 {
@interface InputWriteTag2a {
/**
* @incomplete This annotation field needs more code...
*/
Expand Down
@@ -0,0 +1,8 @@
package com.puppycrawl.tools.checkstyle.checks.javadoc.writetag;

class InputWriteTag3
{
public void method()
{
}
}

0 comments on commit 3c6cfc2

Please sign in to comment.