summaryrefslogtreecommitdiff
path: root/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java')
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java61
1 files changed, 36 insertions, 25 deletions
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java
index bfcbfedb2..26ef42463 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java
@@ -23,12 +23,11 @@ import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
+import java.util.Comparator;
import java.util.Date;
import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;
-import java.util.Vector;
-
import junit.framework.AssertionFailedError;
import junit.framework.Test;
@@ -89,7 +88,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
private static final String LOG_PREFIX = " [junit]";
/** Class names of failed tests without duplicates. */
- private static SortedSet/*<TestInfos>*/ failedTests = new TreeSet();
+ private static SortedSet<TestInfos> failedTests = new TreeSet<>();
/** A writer for writing the generated source to. */
private BufferedWriter writer;
@@ -146,20 +145,13 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* @param project
* project reference
*/
+ @Override
public void setProject(Project project) {
// store project reference for logging
super.setProject(project);
// check if already registered
- boolean alreadyRegistered = false;
- Vector allListeners = project.getBuildListeners();
- final int size = allListeners.size();
- for (int i = 0; i < size; i++) {
- Object listener = allListeners.get(i);
- if (listener instanceof FailureRecorder) {
- alreadyRegistered = true;
- break;
- }
- }
+ boolean alreadyRegistered = project.getBuildListeners().stream()
+ .anyMatch(FailureRecorder.class::isInstance);
// register if needed
if (!alreadyRegistered) {
verbose("Register FailureRecorder (@" + this.hashCode() + ") as BuildListener");
@@ -173,6 +165,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void endTestSuite(JUnitTest suite) throws BuildException {
}
@@ -182,6 +175,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* @param throwable the reason it errored.
* @see junit.framework.TestListener#addError(junit.framework.Test, java.lang.Throwable)
*/
+ @Override
public void addError(Test test, Throwable throwable) {
failedTests.add(new TestInfos(test));
}
@@ -194,6 +188,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* @see junit.framework.TestListener#addFailure(junit.framework.Test, junit.framework.AssertionFailedError)
*/
// CheckStyle:LineLengthCheck ON
+ @Override
public void addFailure(Test test, AssertionFailedError error) {
failedTests.add(new TestInfos(test));
}
@@ -202,6 +197,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void setOutput(OutputStream out) {
// unused, close output file so it can be deleted before the VM exits
if (out != System.out) {
@@ -213,6 +209,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void setSystemError(String err) {
}
@@ -220,6 +217,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void setSystemOutput(String out) {
}
@@ -227,6 +225,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void startTestSuite(JUnitTest suite) throws BuildException {
}
@@ -234,6 +233,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void endTest(Test test) {
}
@@ -241,6 +241,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void startTest(Test test) {
}
@@ -248,7 +249,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
private void writeJavaClass() {
try {
- File sourceFile = new File((getLocationName() + ".java"));
+ File sourceFile = new File(getLocationName() + ".java");
verbose("Write collector class to '" + sourceFile.getAbsolutePath() + "'");
if (sourceFile.exists() && !sourceFile.delete()) {
@@ -299,8 +300,8 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
writer.newLine();
writer.write(" TestSuite suite = new TestSuite();");
writer.newLine();
- for (Iterator iter = failedTests.iterator(); iter.hasNext();) {
- TestInfos testInfos = (TestInfos) iter.next();
+ for (Iterator<TestInfos> iter = failedTests.iterator(); iter.hasNext();) {
+ TestInfos testInfos = iter.next();
writer.write(" suite.addTest(");
writer.write(String.valueOf(testInfos));
writer.write(");");
@@ -323,6 +324,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Logging facade in INFO-mode.
* @param message Log-message
*/
+ @Override
public void log(String message) {
getProject().log(LOG_PREFIX + " " + message, Project.MSG_INFO);
}
@@ -338,7 +340,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
/**
* TestInfos holds information about a given test for later use.
*/
- public static class TestInfos implements Comparable {
+ public static class TestInfos implements Comparable<TestInfos> {
/** The class name of the test. */
private final String className;
@@ -363,6 +365,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* @see java.lang.Object#toString()
* @see FailureRecorder#createSuiteMethod()
*/
+ @Override
public String toString() {
return "new " + className + "(\"" + methodName + "\")";
}
@@ -374,17 +377,18 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* @see java.lang.Comparable#compareTo
* @see SortedSet#comparator()
*/
- public int compareTo(Object other) {
- if (other instanceof TestInfos) {
- TestInfos otherInfos = (TestInfos) other;
- return toString().compareTo(otherInfos.toString());
- } else {
- return -1;
- }
+ @Override
+ public int compareTo(TestInfos other) {
+ return Comparator.comparing(Object::toString).compare(this, other);
}
+
+ @Override
public boolean equals(Object obj) {
- return obj instanceof TestInfos && toString().equals(obj.toString());
+ return obj == this || obj instanceof TestInfos
+ && toString().equals(obj.toString());
}
+
+ @Override
public int hashCode() {
return toString().hashCode();
}
@@ -396,6 +400,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void buildFinished(BuildEvent event) {
}
@@ -403,6 +408,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void buildStarted(BuildEvent event) {
}
@@ -410,6 +416,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void messageLogged(BuildEvent event) {
}
@@ -417,6 +424,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void targetFinished(BuildEvent event) {
}
@@ -424,6 +432,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void targetStarted(BuildEvent event) {
}
@@ -433,6 +442,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* @param event not used
* @see org.apache.tools.ant.BuildListener#taskFinished(org.apache.tools.ant.BuildEvent)
*/
+ @Override
public void taskFinished(BuildEvent event) {
if (!failedTests.isEmpty()) {
writeJavaClass();
@@ -443,6 +453,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
* Not used
* {@inheritDoc}
*/
+ @Override
public void taskStarted(BuildEvent event) {
}