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 ); }