You are viewing a plain text version of this content. The canonical link for it is here.
Posted to surefire-commits@maven.apache.org by br...@apache.org on 2006/07/31 15:24:41 UTC
svn commit: r427114 - in /maven/surefire/trunk:
surefire-api/src/main/java/org/apache/maven/surefire/report/
surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/
Author: brett
Date: Mon Jul 31 06:24:40 2006
New Revision: 427114
URL: http://svn.apache.org/viewvc?rev=427114&view=rev
Log:
[MSUREFIRE-141] list the failed/erroroneous test cases at the end to make it easier to find them
Submitted by: Mark Holster
Modified:
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractReporter.java
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/Reporter.java
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterManager.java
maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGReporter.java
Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractReporter.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractReporter.java?rev=427114&r1=427113&r2=427114&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractReporter.java (original)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractReporter.java Mon Jul 31 06:24:40 2006
@@ -17,6 +17,8 @@
*/
import java.text.NumberFormat;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.Locale;
/**
@@ -30,8 +32,18 @@
protected int errors;
+ /**
+ * Holds the source(s) that causes the error(s).
+ */
+ private Collection errorSources = new ArrayList();
+
protected int failures;
+ /**
+ * Holds the source(s) that causes the failure(s).
+ */
+ private Collection failureSources = new ArrayList();
+
protected long startTime;
protected long endTime;
@@ -94,6 +106,22 @@
{
}
+ /**
+ * @see org.apache.maven.surefire.report.Reporter#getFailureSources()
+ */
+ public Collection getFailureSources()
+ {
+ return this.failureSources;
+ }
+
+ /**
+ * @see org.apache.maven.surefire.report.Reporter#getErrorSources()
+ */
+ public Collection getErrorSources()
+ {
+ return this.errorSources;
+ }
+
// ----------------------------------------------------------------------
// Test
// ----------------------------------------------------------------------
@@ -118,14 +146,14 @@
public void testError( ReportEntry report, String stdOut, String stdErr )
{
++errors;
-
+ errorSources.add( report.getName() );
endTest();
}
public void testFailed( ReportEntry report, String stdOut, String stdErr )
{
++failures;
-
+ failureSources.add( report.getName() );
endTest();
}
@@ -173,6 +201,11 @@
failures = 0;
completedCount = 0;
+
+ this.failureSources = new ArrayList();
+
+ this.errorSources = new ArrayList();
+
}
// ----------------------------------------------------------------------
Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/Reporter.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/Reporter.java?rev=427114&r1=427113&r2=427114&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/Reporter.java (original)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/Reporter.java Mon Jul 31 06:24:40 2006
@@ -1,5 +1,7 @@
package org.apache.maven.surefire.report;
+import java.util.Collection;
+
/*
* Copyright 2001-2006 The Apache Software Foundation.
*
@@ -111,4 +113,18 @@
* @return
*/
int getNumSkipped();
+
+ /**
+ * Gives the source(s) that causes the error(s).
+ *
+ * @return The source(s).
+ */
+ Collection getErrorSources();
+
+ /**
+ * Gives the source(s) that causes the failures(s).
+ *
+ * @return The source(s).
+ */
+ Collection getFailureSources();
}
Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterManager.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterManager.java?rev=427114&r1=427113&r2=427114&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterManager.java (original)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterManager.java Mon Jul 31 06:24:40 2006
@@ -21,6 +21,8 @@
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
@@ -31,8 +33,18 @@
private int errors;
+ /**
+ * Holds the sources of the error.
+ */
+ private Collection errorSources = new ArrayList();
+
private int failures;
+ /**
+ * Holds the sources of the failures.
+ */
+ private Collection failureSources = new ArrayList();
+
private List reports;
private PrintStream oldOut;
@@ -156,6 +168,25 @@
writeFooter( "" );
writeFooter( "Results :" );
+ writeFooter( "" );
+ if ( failures > 0 )
+ {
+ writeFooter( "Failed tests: " );
+ for ( Iterator iterator = this.failureSources.iterator(); iterator.hasNext(); )
+ {
+ writeFooter( " " + iterator.next() );
+ }
+ writeFooter( "" );
+ }
+ if ( errors > 0 )
+ {
+ writeFooter( "Tests in error: " );
+ for ( Iterator iterator = this.errorSources.iterator(); iterator.hasNext(); )
+ {
+ writeFooter( " " + iterator.next() );
+ }
+ writeFooter( "" );
+ }
writeFooter( "Tests run: " + completedCount + ", Failures: " + failures + ", Errors: " + errors +
", Skipped: " + skipped );
writeFooter( "" );
@@ -195,8 +226,10 @@
skipped += reporter.getNumSkipped();
errors += reporter.getNumErrors();
+ errorSources.addAll( reporter.getErrorSources() );
failures += reporter.getNumFailures();
+ failureSources.addAll( reporter.getFailureSources() );
completedCount += reporter.getNumTests();
}
Modified: maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGReporter.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGReporter.java?rev=427114&r1=427113&r2=427114&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGReporter.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGReporter.java Mon Jul 31 06:24:40 2006
@@ -75,15 +75,15 @@
{
String rawString = bundle.getString( "testStarting" );
String group = groupString( result.getMethod().getGroups(), result.getTestClass().getName() );
- ReportEntry report = new ReportEntry( source, result.getTestClass().getName() + "#" +
- result.getMethod().getMethodName(), group, rawString );
+ ReportEntry report = new ReportEntry( source, getUserFriendlyTestName( result ), group, rawString );
reportManager.testStarting( report );
}
public void onTestSuccess( ITestResult result )
{
- ReportEntry report = new ReportEntry( source, result.getName(), bundle.getString( "testSuccessful" ) );
+ ReportEntry report =
+ new ReportEntry( source, getUserFriendlyTestName( result ), bundle.getString( "testSuccessful" ) );
reportManager.testSucceeded( report );
}
@@ -91,15 +91,22 @@
{
String rawString = bundle.getString( "executeException" );
- ReportEntry report =
- new ReportEntry( source, result.getName(), rawString, new TestNGStackTraceWriter( result ) );
+ ReportEntry report = new ReportEntry( source, getUserFriendlyTestName( result ), rawString,
+ new TestNGStackTraceWriter( result ) );
reportManager.testFailed( report );
}
+ private static String getUserFriendlyTestName( ITestResult result )
+ {
+ // This is consistent with the JUnit output
+ return result.getName() + "(" + result.getTestClass().getName() + ")";
+ }
+
public void onTestSkipped( ITestResult result )
{
- ReportEntry report = new ReportEntry( source, result.getName(), bundle.getString( "testSkipped" ) );
+ ReportEntry report =
+ new ReportEntry( source, getUserFriendlyTestName( result ), bundle.getString( "testSkipped" ) );
reportManager.testSkipped( report );
}
@@ -108,8 +115,8 @@
{
String rawString = bundle.getString( "executeException" );
- ReportEntry report =
- new ReportEntry( source, result.getName(), rawString, new TestNGStackTraceWriter( result ) );
+ ReportEntry report = new ReportEntry( source, getUserFriendlyTestName( result ), rawString,
+ new TestNGStackTraceWriter( result ) );
reportManager.testError( report );
}