Browse Source

option to suppress FAILED lines in JUnit log output. PR 35073

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@805415 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 16 years ago
parent
commit
083e036729
5 changed files with 43 additions and 5 deletions
  1. +4
    -0
      WHATSNEW
  2. +10
    -0
      docs/manual/OptionalTasks/junit.html
  3. +1
    -0
      src/main/org/apache/tools/ant/taskdefs/optional/junit/Constants.java
  4. +20
    -3
      src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
  5. +8
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java

+ 4
- 0
WHATSNEW View File

@@ -847,6 +847,10 @@ Other changes:
<javac>. <javac>.
Bugzilla Report 24359. Bugzilla Report 24359.


* It is now possible to suppress the "FAILED" lines sent to Ant's
logging system via <junit>'s new logFailedTests attribute.
Bugzilla Report 35073.

Changes from Ant 1.7.0 TO Ant 1.7.1 Changes from Ant 1.7.0 TO Ant 1.7.1
============================================= =============================================




+ 10
- 0
docs/manual/OptionalTasks/junit.html View File

@@ -228,6 +228,16 @@ elements</a>).</p>
<em>since Ant 1.7</em></td> <em>since Ant 1.7</em></td>
<td align="center" valign="top">No</td> <td align="center" valign="top">No</td>
</tr> </tr>
<tr>
<td valign="top">logfailedtests</td>
<td valign="top">When Ant executes multiple tests and doesn't stop
on errors or failures it will log a "FAILED" message for each
failing test to its logging system. If you set this option to
false, the message will not be logged and you have to rely on the
formatter output to find the failing tests.
<em>since Ant 1.8.0</em></td>
<td align="center" valign="top">No</td>
</tr>
</table> </table>


<p>By using the <code>errorproperty</code> and <code>failureproperty</code> <p>By using the <code>errorproperty</code> and <code>failureproperty</code>


+ 1
- 0
src/main/org/apache/tools/ant/taskdefs/optional/junit/Constants.java View File

@@ -35,4 +35,5 @@ public class Constants {
static final String LOGTESTLISTENEREVENTS = "logtestlistenerevents="; static final String LOGTESTLISTENEREVENTS = "logtestlistenerevents=";
static final String TESTSFILE = "testsfile="; static final String TESTSFILE = "testsfile=";
static final String TERMINATED_SUCCESSFULLY = "terminated successfully"; static final String TERMINATED_SUCCESSFULLY = "terminated successfully";
static final String LOG_FAILED_TESTS="logfailedtests=";
} }

+ 20
- 3
src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java View File

@@ -155,6 +155,8 @@ public class JUnitTask extends Task {
// Do we send output to the formatters ? // Do we send output to the formatters ?
private boolean outputToFormatters = true; private boolean outputToFormatters = true;


private boolean logFailedTests = true;

private File tmpDir; private File tmpDir;
private AntClassLoader classLoader = null; private AntClassLoader classLoader = null;
private Permissions perm = null; private Permissions perm = null;
@@ -596,6 +598,16 @@ public class JUnitTask extends Task {
this.outputToFormatters = outputToFormatters; this.outputToFormatters = outputToFormatters;
} }


/**
* If true, write a single "FAILED" line for failed tests to Ant's
* log system.
*
* @since Ant 1.8.0
*/
public void setLogFailedTests(boolean logFailedTests) {
this.logFailedTests = logFailedTests;
}

/** /**
* Assertions to enable in this program (if fork=true) * Assertions to enable in this program (if fork=true)
* @since Ant 1.6 * @since Ant 1.6
@@ -949,6 +961,8 @@ public class JUnitTask extends Task {
+ String.valueOf(showOutput)); + String.valueOf(showOutput));
cmd.createArgument().setValue(Constants.OUTPUT_TO_FORMATTERS cmd.createArgument().setValue(Constants.OUTPUT_TO_FORMATTERS
+ String.valueOf(outputToFormatters)); + String.valueOf(outputToFormatters));
cmd.createArgument().setValue(Constants.LOG_FAILED_TESTS
+ String.valueOf(logFailedTests));


cmd.createArgument().setValue( cmd.createArgument().setValue(
Constants.LOGTESTLISTENEREVENTS + "true"); // #31885 Constants.LOGTESTLISTENEREVENTS + "true"); // #31885
@@ -1865,9 +1879,12 @@ public class JUnitTask extends Task {
+ (result.timedOut ? " (timeout)" : "") + (result.timedOut ? " (timeout)" : "")
+ (result.crashed ? " (crashed)" : ""), getLocation()); + (result.crashed ? " (crashed)" : ""), getLocation());
} else { } else {
log(name + " FAILED"
+ (result.timedOut ? " (timeout)" : "")
+ (result.crashed ? " (crashed)" : ""), Project.MSG_ERR);
if (logFailedTests) {
log(name + " FAILED"
+ (result.timedOut ? " (timeout)" : "")
+ (result.crashed ? " (crashed)" : ""),
Project.MSG_ERR);
}
if (errorOccurredHere && test.getErrorProperty() != null) { if (errorOccurredHere && test.getErrorProperty() != null) {
getProject().setNewProperty(test.getErrorProperty(), "true"); getProject().setNewProperty(test.getErrorProperty(), "true");
} }


+ 8
- 2
src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java View File

@@ -680,6 +680,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
Properties props = new Properties(); Properties props = new Properties();
boolean showOut = false; boolean showOut = false;
boolean outputToFormat = true; boolean outputToFormat = true;
boolean logFailedTests = true;
boolean logTestListenerEvents = false; boolean logTestListenerEvents = false;




@@ -723,6 +724,9 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
} else if (args[i].startsWith(Constants.OUTPUT_TO_FORMATTERS)) { } else if (args[i].startsWith(Constants.OUTPUT_TO_FORMATTERS)) {
outputToFormat = Project.toBoolean( outputToFormat = Project.toBoolean(
args[i].substring(Constants.OUTPUT_TO_FORMATTERS.length())); args[i].substring(Constants.OUTPUT_TO_FORMATTERS.length()));
} else if (args[i].startsWith(Constants.LOG_FAILED_TESTS)) {
logFailedTests = Project.toBoolean(
args[i].substring(Constants.LOG_FAILED_TESTS.length()));
} }
} }


@@ -764,8 +768,10 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
if (code > returnCode) { if (code > returnCode) {
returnCode = code; returnCode = code;
} }
System.out.println("TEST " + t.getName()
+ " FAILED");
if (logFailedTests) {
System.out.println("TEST " + t.getName()
+ " FAILED");
}
} }
} }
} }


Loading…
Cancel
Save