diff --git a/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
index 6fd0ffe9a..7242a4dc6 100644
--- a/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
+++ b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
@@ -74,6 +74,8 @@ import org.apache.tools.ant.types.Commandline;
import org.apache.tools.ant.types.CommandlineJava;
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.util.FileUtils;
+import org.apache.avalon.excalibur.i18n.ResourceManager;
+import org.apache.avalon.excalibur.i18n.Resources;
/**
* The core JUnit task.
@@ -82,6 +84,9 @@ import org.apache.tools.ant.util.FileUtils;
*/
public class JUnitTask extends Task {
+ private final static Resources RES =
+ ResourceManager.getPackageResources( JUnitTask.class );
+
/** port to run the server on */
private int port = -1;
@@ -111,12 +116,13 @@ public class JUnitTask extends Task {
execute.setCommandline(cmd.getCommandline());
execute.setAntRun(project);
- log("Executing: " + cmd.toString(), Project.MSG_VERBOSE);
+ log(RES.getString("task.process-cmdline.log", cmd.toString()), Project.MSG_VERBOSE);
int retVal;
try {
retVal = execute.execute();
} catch (IOException e) {
- throw new BuildException("Process fork failed.", e, location);
+ String msg = RES.getString("task.process-failed.error");
+ throw new BuildException(msg, e, location);
} finally {
tmp.delete();
}
diff --git a/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/Resources.properties b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/Resources.properties
new file mode 100644
index 000000000..74a470fc6
--- /dev/null
+++ b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/Resources.properties
@@ -0,0 +1,3 @@
+# task
+task.process-cmdline.log = Executing {0}
+task.process-failed.error = Process failed.
\ No newline at end of file
diff --git a/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/BriefFormatter.java b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/BriefFormatter.java
index a7e69ae49..8dda7d35a 100644
--- a/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/BriefFormatter.java
+++ b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/BriefFormatter.java
@@ -55,6 +55,8 @@ package org.apache.tools.ant.taskdefs.optional.junit.formatter;
import java.io.PrintWriter;
+import org.apache.avalon.excalibur.i18n.Resources;
+import org.apache.avalon.excalibur.i18n.ResourceManager;
/**
* Display additional messages from a SummaryFormatter
@@ -64,19 +66,17 @@ import java.io.PrintWriter;
*/
public class BriefFormatter extends SummaryFormatter {
+ private final static Resources RES =
+ ResourceManager.getPackageResources( BriefFormatter.class );
+
public void onTestFailed(int status, String testname, String trace) {
- PrintWriter writer = getWriter();
- writer.print("TestCase: ");
- writer.print(testname);
+ String msg = null;
if (status == STATUS_ERROR) {
- writer.print("\tCaused an ERROR");
- } else if (status == STATUS_FAILURE) {
- writer.write("\tFAILED");
+ msg = RES.getString("brief.status-error.msg", testname, trace);
+ } else {
+ msg = RES.getString("brief.status-failure.msg", testname, trace);
}
- writer.println();
- writer.print(trace);
- writer.println();
- writer.println();
+ getWriter().println(msg);
super.onTestFailed(status, testname, trace);
}
diff --git a/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/Resources.properties b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/Resources.properties
new file mode 100644
index 000000000..48f65a75d
--- /dev/null
+++ b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/Resources.properties
@@ -0,0 +1,7 @@
+# Summary formatter
+summary.finished.msg = TestSuite: \nTests run: {0, number, integer}, Failures: {1, number, integer}, Errors: {2, number, integer}, Time elapsed: {3, number, integer} sec\n
+
+# Brief formatter
+brief.status-error.msg = TestCase: {0}\tCaused an ERROR\n{1}\n
+brief.status-failure.msg = TestCase: {0}\tFAILED\n{1}\n
+
diff --git a/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/SummaryFormatter.java b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/SummaryFormatter.java
index 872013f0f..e49b882d1 100644
--- a/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/SummaryFormatter.java
+++ b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/SummaryFormatter.java
@@ -56,6 +56,9 @@ package org.apache.tools.ant.taskdefs.optional.junit.formatter;
import java.io.PrintWriter;
import java.text.MessageFormat;
+import org.apache.avalon.excalibur.i18n.Resources;
+import org.apache.avalon.excalibur.i18n.ResourceManager;
+
/**
* Display a summary message at the end of a testsuite stating
* runs, failures, errors, and elapsed time.
@@ -64,25 +67,16 @@ import java.text.MessageFormat;
*/
public class SummaryFormatter extends BaseFormatter {
- protected final MessageFormat mf = new MessageFormat(
- "Tests run: {0, number, integer}" +
- ", Failures: {1, number, integer}" +
- ", Errors: {2, number, integer}" +
- ", Time elapsed: {3, number, integer} sec");
+ private final static Resources RES =
+ ResourceManager.getPackageResources( SummaryFormatter.class );
protected void finished(long elapsedtime) {
- PrintWriter writer = getWriter();
- writer.print("Testsuite: ");
- writer.println();
- String line = mf.format(new Object[]{
- new Integer(getRunCount()),
- new Integer(getFailureCount()),
- new Integer(getErrorCount()),
- new Long(elapsedtime / 1000)
- });
- writer.print(line);
- writer.println();
- writer.println();
+ String msg = RES.getString("summary.finished.msg",
+ new Integer(getRunCount()),
+ new Integer(getFailureCount()),
+ new Integer(getErrorCount()),
+ new Long(elapsedtime / 1000) );
+ getWriter().println(msg);
close();
}
diff --git a/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/XMLFormatter.java b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/XMLFormatter.java
index 992f0e6be..a3f8bcf8d 100644
--- a/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/XMLFormatter.java
+++ b/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/XMLFormatter.java
@@ -62,6 +62,9 @@ import org.w3c.dom.Element;
import org.w3c.dom.Text;
/**
+ * XML Formatter. Due to the nature of the XML we are forced to store
+ * everything in memory until it is finished. It might be resource
+ * intensive when running lots of testcases.
*
* @author Stephane Bailliez
*/