You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by lt...@apache.org on 2012/05/15 10:17:11 UTC

svn commit: r1338590 - /maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java

Author: ltheussl
Date: Tue May 15 08:17:11 2012
New Revision: 1338590

URL: http://svn.apache.org/viewvc?rev=1338590&view=rev
Log:
[SUREFIRE-659] Maven PDF plugin: showSuccess=false creates empty table causing error. Avoid writing tables without rows.

Modified:
    maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java

Modified: maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java?rev=1338590&r1=1338589&r2=1338590&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java (original)
+++ maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java Tue May 15 08:17:11 2012
@@ -47,6 +47,8 @@ public class SurefireReportGenerator
 
     private final String xrefLocation;
 
+    private static final int LEFT = Sink.JUSTIFY_LEFT;
+
     public SurefireReportGenerator( List<File> reportsDirectories, Locale locale, boolean showSuccess,
                                     String xrefLocation )
     {
@@ -127,6 +129,8 @@ public class SurefireReportGenerator
 
         sink.table();
 
+        sink.tableRows( new int[]{LEFT, LEFT, LEFT, LEFT, LEFT, LEFT}, true );
+
         sink.tableRow();
 
         sinkHeader( sink, bundle.getString( "report.surefire.label.tests" ) );
@@ -159,6 +163,8 @@ public class SurefireReportGenerator
 
         sink.tableRow_();
 
+        sink.tableRows_();
+
         sink.table_();
 
         sink.lineBreak();
@@ -189,6 +195,8 @@ public class SurefireReportGenerator
 
         sink.table();
 
+        sink.tableRows( new int[]{LEFT, LEFT, LEFT, LEFT, LEFT, LEFT, LEFT}, true );
+
         sink.tableRow();
 
         sinkHeader( sink, bundle.getString( "report.surefire.label.package" ) );
@@ -236,6 +244,8 @@ public class SurefireReportGenerator
             sink.tableRow_();
         }
 
+        sink.tableRows_();
+
         sink.table_();
 
         sink.lineBreak();
@@ -261,8 +271,28 @@ public class SurefireReportGenerator
 
             sinkAnchor( sink, packageName );
 
+            boolean showTable = false;
+
+            while ( suiteIterator.hasNext() )
+            {
+                ReportTestSuite suite = (ReportTestSuite) suiteIterator.next();
+
+                if ( showSuccess || suite.getNumberOfErrors() != 0 || suite.getNumberOfFailures() != 0 )
+                {
+                    showTable = true;
+
+                    break;
+                }
+            }
+
+            suiteIterator = testSuiteList.iterator();
+
+            if ( showTable )
+            {
             sink.table();
 
+            sink.tableRows( new int[]{LEFT, LEFT, LEFT, LEFT, LEFT, LEFT, LEFT, LEFT}, true );
+
             sink.tableRow();
 
             sinkHeader( sink, "" );
@@ -338,7 +368,10 @@ public class SurefireReportGenerator
                 }
             }
 
+            sink.tableRows_();
+
             sink.table_();
+            }
 
             sink.section2_();
         }
@@ -376,8 +409,28 @@ public class SurefireReportGenerator
 
                 sinkAnchor( sink, suite.getPackageName() + suite.getName() );
 
+                boolean showTable = false;
+
+                while ( caseIterator.hasNext() )
+                {
+                    ReportTestCase testCase = (ReportTestCase) caseIterator.next();
+
+                    if ( testCase.getFailure() != null || showSuccess )
+                    {
+                        showTable = true;
+
+                        break;
+                    }
+                }
+
+                caseIterator = testCases.listIterator();
+
+                if ( showTable )
+                {
                 sink.table();
 
+                sink.tableRows( new int[]{LEFT, LEFT, LEFT}, true );
+
                 while ( caseIterator.hasNext() )
                 {
                     ReportTestCase testCase = (ReportTestCase) caseIterator.next();
@@ -492,7 +545,10 @@ public class SurefireReportGenerator
                     }
                 }
 
+                sink.tableRows_();
+
                 sink.table_();
+                }
 
                 sink.section2_();
             }
@@ -528,6 +584,8 @@ public class SurefireReportGenerator
 
             sink.table();
 
+            sink.tableRows( new int[]{LEFT, LEFT}, true );
+
             while ( failIter.hasNext() )
             {
                 ReportTestCase tCase = (ReportTestCase) failIter.next();
@@ -618,6 +676,8 @@ public class SurefireReportGenerator
                 }
             }
 
+            sink.tableRows_();
+
             sink.table_();
         }