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 */