Index: BriefJUnitResultFormatter.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/BriefJUnitResultFormatter.java,v --- BriefJUnitResultFormatter.java 6 Jan 2005 10:36:38 -0000 1.18 +++ BriefJUnitResultFormatter.java 18 Feb 2005 04:14:15 -0000 @@ -69,6 +69,8 @@ */ private String systemError = null; + private boolean verbose = true; + /** * Constructor for BriefJUnitResultFormatter. */ @@ -246,4 +248,16 @@ resultWriter.println(strace); resultWriter.println(); } + /** + * @return Returns the verbose. + */ + public boolean isVerbose() { + return verbose; + } + /** + * @param verbose The verbose to set. + */ + public void setVerbose(boolean verbose) { + this.verbose = verbose; + } } Index: FormatterElement.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/FormatterElement.java,v --- FormatterElement.java 15 Apr 2004 13:53:47 -0000 1.22 +++ FormatterElement.java 18 Feb 2005 04:14:16 -0000 @@ -55,6 +55,7 @@ private boolean useFile = true; private String ifProperty; private String unlessProperty; + private boolean verbose; public static final String XML_FORMATTER_CLASS_NAME = "org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter"; @@ -120,7 +121,7 @@ } /** - *

Set the file which the formatte should log to. + *

Set the file which the formatter should log to. * *

Note that logging to file must be enabled . */ @@ -237,6 +238,7 @@ } } r.setOutput(out); + r.setVerbose(this.verbose); return r; } @@ -250,4 +252,16 @@ return new String[] {"plain", "xml", "brief"}; } } + /** + * @return Returns the verbose. + */ + public boolean getVerbose() { + return verbose; + } + /** + * @param verbose The verbose to set. + */ + public void setVerbose(final boolean verbose) { + this.verbose = verbose; + } } Index: JUnitResultFormatter.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitResultFormatter.java,v --- JUnitResultFormatter.java 9 Mar 2004 16:48:31 -0000 1.16 +++ JUnitResultFormatter.java 18 Feb 2005 04:14:16 -0000 @@ -51,4 +51,11 @@ * This is what the test has written to System.err */ void setSystemError(String err); + + /** + * Set to write out all property info within Formatter + * Currently useful for XMLJUnitFormatter + * @param verbose + */ + void setVerbose(boolean verbose); } Index: JUnitTask.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java,v --- JUnitTask.java 6 Jan 2005 12:05:10 -0000 1.113 +++ JUnitTask.java 18 Feb 2005 04:14:18 -0000 @@ -59,7 +59,7 @@ /** * Runs JUnit tests. * - *

JUnit is a framework to create unit test. It has been initially + *

JUnit is a framework to create unit test. It was initially * created by Erich Gamma and Kent Beck. JUnit can be found at http://www.junit.org. * @@ -152,7 +152,7 @@ private static final int STRING_BUFFER_SIZE = 128; private static final FileUtils FILE_UTILS = FileUtils.getFileUtils(); - + /** * If true, force ant to re-classload all classes for each JUnit TestCase * @@ -838,6 +838,8 @@ if (fe.shouldUse(this)) { formatterArg.append("formatter="); formatterArg.append(fe.getClassname()); + formatterArg.append(","); + formatterArg.append("verbose="+String.valueOf(fe.getVerbose())); File outFile = getOutput(fe, test); if (outFile != null) { formatterArg.append(","); Index: JUnitTestRunner.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java,v --- JUnitTestRunner.java 22 Nov 2004 09:23:34 -0000 1.54 +++ JUnitTestRunner.java 18 Feb 2005 04:14:19 -0000 @@ -33,11 +33,13 @@ import java.util.Properties; import java.util.StringTokenizer; import java.util.Vector; + import junit.framework.AssertionFailedError; import junit.framework.Test; import junit.framework.TestListener; import junit.framework.TestResult; import junit.framework.TestSuite; + import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import org.apache.tools.ant.types.Permissions; @@ -589,16 +591,26 @@ private static void createAndStoreFormatter(String line) throws BuildException { FormatterElement fe = new FormatterElement(); - int pos = line.indexOf(','); - if (pos == -1) { - fe.setClassname(line); + + StringTokenizer st = new StringTokenizer(line, ","); + if (st.countTokens()==1) { + fe.setClassname(line); fe.setUseFile(false); - } else { - fe.setClassname(line.substring(0, pos)); - fe.setUseFile(true); - if (!multipleTests) { - fe.setOutfile(new File(line.substring(pos + 1))); - } + } else if (st.countTokens()==2) { + fe.setClassname(st.nextToken()); + String param = st.nextToken(); + if (param.contains("verbose")) { + fe.setVerbose(Boolean.valueOf(param.substring(8,param.length())).booleanValue()); + } else { //file param + fe.setUseFile(true); + fe.setOutfile(new File(param)); + } + } else if (st.countTokens()==3) { + fe.setClassname(st.nextToken()); + String param = st.nextToken(); + fe.setVerbose(Boolean.valueOf(param.substring(8,param.length())).booleanValue()); + fe.setUseFile(true); + fe.setOutfile(new File(st.nextToken())); } fromCmdLine.addElement(fe); } Index: PlainJUnitResultFormatter.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java,v --- PlainJUnitResultFormatter.java 15 Nov 2004 10:41:43 -0000 1.26 +++ PlainJUnitResultFormatter.java 18 Feb 2005 04:14:20 -0000 @@ -59,6 +59,8 @@ * Suppress endTest if testcase failed. */ private Hashtable failed = new Hashtable(); + + private boolean verbose = true; private String systemOutput = null; private String systemError = null; @@ -234,4 +236,16 @@ } } + /** + * @return Returns the verbose. + */ + public boolean isVerbose() { + return verbose; + } + /** + * @param verbose The verbose to set. + */ + public void setVerbose(boolean verbose) { + this.verbose = verbose; + } } // PlainJUnitResultFormatter Index: SummaryJUnitResultFormatter.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/SummaryJUnitResultFormatter.java,v --- SummaryJUnitResultFormatter.java 9 Mar 2004 16:48:31 -0000 1.16 +++ SummaryJUnitResultFormatter.java 18 Feb 2005 04:14:20 -0000 @@ -43,6 +43,7 @@ private boolean withOutAndErr = false; private String systemOutput = null; private String systemError = null; + private boolean verbose = true; /** * Empty @@ -146,4 +147,16 @@ } } } + /** + * @return Returns the verbose. + */ + public boolean isVerbose() { + return verbose; + } + /** + * @param verbose The verbose to set. + */ + public void setVerbose(boolean verbose) { + this.verbose = verbose; + } } Index: XMLJUnitResultFormatter.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java,v --- XMLJUnitResultFormatter.java 22 Nov 2004 09:23:34 -0000 1.38 +++ XMLJUnitResultFormatter.java 18 Feb 2005 04:14:21 -0000 @@ -82,6 +82,8 @@ */ private OutputStream out; + private boolean verbose; + public XMLJUnitResultFormatter() { } @@ -115,16 +117,19 @@ // Output properties Element propsElement = doc.createElement(PROPERTIES); rootElement.appendChild(propsElement); - Properties props = suite.getProperties(); - if (props != null) { - Enumeration e = props.propertyNames(); - while (e.hasMoreElements()) { - String name = (String) e.nextElement(); - Element propElement = doc.createElement(PROPERTY); - propElement.setAttribute(ATTR_NAME, name); - propElement.setAttribute(ATTR_VALUE, props.getProperty(name)); - propsElement.appendChild(propElement); - } + System.out.println("XML verbose: "+ this.verbose); + if (verbose) { + Properties props = suite.getProperties(); + if (props != null) { //only output properties when verbose is set + Enumeration e = props.propertyNames(); + while (e.hasMoreElements()) { + String name = (String) e.nextElement(); + Element propElement = doc.createElement(PROPERTY); + propElement.setAttribute(ATTR_NAME, name); + propElement.setAttribute(ATTR_VALUE, props.getProperty(name)); + propsElement.appendChild(propElement); + } + } } } @@ -267,4 +272,16 @@ nested.appendChild(doc.createCDATASection(output)); } -} // XMLJUnitResultFormatter + /** + * @return Returns the verbose. + */ + public boolean getVerbose() { + return verbose; + } + /** + * @param verbose The verbose to set. + */ + public void setVerbose(final boolean verbose) { + this.verbose = verbose; + } +} // XMLJUnitResultFormatter