Author: krosenvold
Date: Sun May  1 10:19:40 2011
New Revision: 1098246

URL: http://svn.apache.org/viewvc?rev=1098246&view=rev
Log:
o Moved reporter construction logic further into ReporterManagerFactory

Added:
    
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/StartupReportConfiguration.java
   (with props)
Removed:
    
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/SurefireTimeoutMonitor.java
    
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkTimeout.java
    
maven/surefire/trunk/surefire-booter/src/test/java/org/apache/maven/surefire/booter/ForkTimeoutTest.java
Modified:
    
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
    
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
    
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/TestSetMockReporterFactory.java
    
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/plugin/surefire/report/ReporterManagerFactory.java
    
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/SurefireReflector.java
    
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractConsoleReporter.java
    
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractFileReporter.java
    
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/AbstractTextReporter.java
    
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterConfiguration.java
    
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java
    
maven/surefire/trunk/surefire-api/src/test/java/org/apache/maven/surefire/report/TestConsoleOutputRunListenerTest.java
    
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
    
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireStarter.java
    
maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/ConcurrentReporterManagerTest.java
    
maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/MavenSurefireJUnit47RunnerTest.java

Modified: 
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
 (original)
+++ 
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
 Sun May  1 10:19:40 2011
@@ -53,6 +53,7 @@ import org.apache.maven.surefire.booter.
 import org.apache.maven.surefire.booter.ClasspathConfiguration;
 import org.apache.maven.surefire.booter.ProviderConfiguration;
 import org.apache.maven.surefire.booter.StartupConfiguration;
+import org.apache.maven.surefire.booter.StartupReportConfiguration;
 import org.apache.maven.surefire.report.BriefConsoleReporter;
 import org.apache.maven.surefire.report.BriefFileReporter;
 import org.apache.maven.surefire.report.ConsoleOutputDirectReporter;
@@ -80,9 +81,9 @@ public abstract class AbstractSurefireMo
     implements SurefireExecutionParameters
 {
 
-    private static final String BRIEF_REPORT_FORMAT = "brief";
+    private static final String BRIEF_REPORT_FORMAT = 
StartupReportConfiguration.BRIEF_REPORT_FORMAT;
 
-    private static final String PLAIN_REPORT_FORMAT = "plain";
+    private static final String PLAIN_REPORT_FORMAT = 
StartupReportConfiguration.PLAIN_REPORT_FORMAT;
 
     // common field getters/setters
 
@@ -372,7 +373,8 @@ public abstract class AbstractSurefireMo
                                             isChildDelegation() );
 
             return new StartupConfiguration( providerName, 
classpathConfiguration, classLoaderConfiguration,
-                                             forkConfiguration.getForkMode(), 
false, isRedirectTestOutputToFile() );
+                                             forkConfiguration.getForkMode(), 
false, isRedirectTestOutputToFile()
+                                             );
         }
         catch ( DependencyResolutionRequiredException e )
         {
@@ -393,6 +395,13 @@ public abstract class AbstractSurefireMo
 
     }
 
+    private StartupReportConfiguration getStartupReportConfiguration()
+    {
+        return new StartupReportConfiguration( isUseFile(), isPrintSummary(), 
getReportFormat(),
+                                               isRedirectTestOutputToFile(), 
isDisableXmlReport(),
+                                               getReportsDirectory() );
+    }
+
     public void logClasspath( Classpath classpath, String descriptor )
     {
         getLog().debug( descriptor + " classpath:" );
@@ -523,9 +532,10 @@ public abstract class AbstractSurefireMo
     {
         StartupConfiguration startupConfiguration =
             createStartupConfiguration( forkConfiguration, provider, 
classLoaderConfiguration );
+        StartupReportConfiguration startupReportConfiguration = 
getStartupReportConfiguration();
         ProviderConfiguration providerConfiguration = 
createProviderConfiguration( forkConfiguration );
         return new ForkStarter( providerConfiguration, startupConfiguration, 
forkConfiguration,
-                                getForkedProcessTimeoutInSeconds() );
+                                getForkedProcessTimeoutInSeconds(), 
startupReportConfiguration );
     }
 
     protected ForkConfiguration getForkConfiguration()
@@ -1020,7 +1030,7 @@ public abstract class AbstractSurefireMo
         {
             return isPrintSummary() ? ConsoleReporter.class.getName() : null;
         }
-        else if ( BRIEF_REPORT_FORMAT.equals( getReportFormat() ) )
+        else if ( isRedirectTestOutputToFile() || BRIEF_REPORT_FORMAT.equals( 
getReportFormat() ) )
         {
             return BriefConsoleReporter.class.getName();
         }
@@ -1028,6 +1038,10 @@ public abstract class AbstractSurefireMo
         {
             return DetailedConsoleReporter.class.getName();
         }
+/*        if (isRedirectTestOutputToFile())
+        {
+            return null;
+        }*/
         return null;
     }
 

Modified: 
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
 (original)
+++ 
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
 Sun May  1 10:19:40 2011
@@ -30,6 +30,7 @@ import org.apache.maven.surefire.booter.
 import org.apache.maven.surefire.booter.ProviderConfiguration;
 import org.apache.maven.surefire.booter.ProviderFactory;
 import org.apache.maven.surefire.booter.StartupConfiguration;
+import org.apache.maven.surefire.booter.StartupReportConfiguration;
 import org.apache.maven.surefire.booter.SurefireBooterForkException;
 import org.apache.maven.surefire.booter.SurefireExecutionException;
 import org.apache.maven.surefire.booter.SurefireReflector;
@@ -70,13 +71,17 @@ public class ForkStarter
 
     private final ForkConfiguration forkConfiguration;
 
+    private final StartupReportConfiguration startupReportConfiguration;
+
     public ForkStarter( ProviderConfiguration providerConfiguration, 
StartupConfiguration startupConfiguration,
-                        ForkConfiguration forkConfiguration, int 
forkedProcessTimeoutInSeconds )
+                        ForkConfiguration forkConfiguration, int 
forkedProcessTimeoutInSeconds,
+                        StartupReportConfiguration startupReportConfiguration )
     {
         this.forkConfiguration = forkConfiguration;
         this.providerConfiguration = providerConfiguration;
         this.forkedProcessTimeoutInSeconds = forkedProcessTimeoutInSeconds;
         this.startupConfiguration = startupConfiguration;
+        this.startupReportConfiguration = startupReportConfiguration;
     }
 
     public RunResult run()
@@ -87,7 +92,7 @@ public class ForkStarter
         final String requestedForkMode = forkConfiguration.getForkMode();
         if ( ForkConfiguration.FORK_NEVER.equals( requestedForkMode ) )
         {
-            SurefireStarter surefireStarter = new SurefireStarter( 
startupConfiguration, providerConfiguration, false );
+            SurefireStarter surefireStarter = new SurefireStarter( 
startupConfiguration, providerConfiguration, false, 
this.startupReportConfiguration );
             result = surefireStarter.runSuitesInProcess();
         }
         else if ( ForkConfiguration.FORK_ONCE.equals( requestedForkMode ) )
@@ -111,7 +116,8 @@ public class ForkStarter
         final ReporterManagerFactory testSetReporterFactory =
             new ReporterManagerFactory( 
Thread.currentThread().getContextClassLoader(),
                                         
providerConfiguration.getReporterConfiguration(),
-                                        
providerConfiguration.getReporterConfiguration().getReports() );
+                                        
providerConfiguration.getReporterConfiguration().getReports(),
+                                        startupReportConfiguration );
         try
         {
             return fork( null, providerConfiguration.getProviderProperties(), 
testSetReporterFactory );
@@ -148,7 +154,8 @@ public class ForkStarter
         final ReporterManagerFactory testSetReporterFactory =
             new ReporterManagerFactory( 
Thread.currentThread().getContextClassLoader(),
                                         
providerConfiguration.getReporterConfiguration(),
-                                        
providerConfiguration.getReporterConfiguration().getReports() );
+                                        
providerConfiguration.getReporterConfiguration().getReports(),
+                                        startupReportConfiguration );
         try
         {
             while ( suites.hasNext() )
@@ -171,7 +178,7 @@ public class ForkStarter
     {
         SurefireReflector surefireReflector = new SurefireReflector( 
surefireClassLoader );
         Object reporterFactory =
-            surefireReflector.createReportingReporterFactory( 
this.providerConfiguration.getReporterConfiguration() );
+            surefireReflector.createReportingReporterFactory( 
this.providerConfiguration.getReporterConfiguration(), 
startupReportConfiguration );
 
         final ProviderFactory providerFactory =
             new ProviderFactory( startupConfiguration, providerConfiguration, 
surefireClassLoader, testsClassLoader,

Modified: 
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/TestSetMockReporterFactory.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/TestSetMockReporterFactory.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/TestSetMockReporterFactory.java
 (original)
+++ 
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/TestSetMockReporterFactory.java
 Sun May  1 10:19:40 2011
@@ -22,6 +22,7 @@ package org.apache.maven.plugin.surefire
 import java.io.File;
 import java.util.ArrayList;
 import org.apache.maven.plugin.surefire.report.ReporterManagerFactory;
+import org.apache.maven.surefire.booter.StartupReportConfiguration;
 import org.apache.maven.surefire.report.DefaultConsoleReporter;
 import org.apache.maven.surefire.report.DirectConsoleReporter;
 import org.apache.maven.surefire.report.ReporterConfiguration;
@@ -30,18 +31,23 @@ import org.apache.maven.surefire.report.
 /**
  * @author Kristian Rosenvold
  */
-public class TestSetMockReporterFactory extends ReporterManagerFactory
+public class TestSetMockReporterFactory
+    extends ReporterManagerFactory
 {
-    public TestSetMockReporterFactory(  )
+    public TestSetMockReporterFactory()
     {
-        super( Thread.currentThread().getContextClassLoader(), new 
ReporterConfiguration(new File("."), Boolean.TRUE), new ArrayList( ) );
+        super( Thread.currentThread().getContextClassLoader(),
+               new ReporterConfiguration( new File( "." ), Boolean.TRUE ), new 
ArrayList(),
+               StartupReportConfiguration.defaultValue() );
     }
 
-    public DirectConsoleReporter createConsoleReporter() {
-        return new DefaultConsoleReporter(System.out);
+    public DirectConsoleReporter createConsoleReporter()
+    {
+        return new DefaultConsoleReporter( System.out );
     }
 
-    public RunListener createReporter(){
+    public RunListener createReporter()
+    {
         return new MockReporter();
     }
 }

Modified: 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/plugin/surefire/report/ReporterManagerFactory.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/plugin/surefire/report/ReporterManagerFactory.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/plugin/surefire/report/ReporterManagerFactory.java
 (original)
+++ 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/plugin/surefire/report/ReporterManagerFactory.java
 Sun May  1 10:19:40 2011
@@ -23,6 +23,7 @@ import java.lang.reflect.Constructor;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import org.apache.maven.surefire.booter.StartupReportConfiguration;
 import org.apache.maven.surefire.report.AbstractConsoleReporter;
 import org.apache.maven.surefire.report.AbstractFileReporter;
 import org.apache.maven.surefire.report.DefaultDirectConsoleReporter;
@@ -44,12 +45,13 @@ import org.apache.maven.surefire.util.Su
  * <p/>
  * Keeps a centralized count of test run results.
  *
+ * TODO: Move out of API module
+ *
  * @author Kristian Rosenvold
  */
 public class ReporterManagerFactory
     implements ReporterFactory
 {
-    private List reportDefinitions;
 
     private ClassLoader surefireClassLoader;
 
@@ -59,12 +61,14 @@ public class ReporterManagerFactory
 
     private final MulticastingReporter multicastingReporter;
 
+    private final StartupReportConfiguration reportConfiguration;
+
     public ReporterManagerFactory( ClassLoader surefireClassLoader, 
ReporterConfiguration reporterConfiguration,
-                                   List reportDefinitions )
+                                   List reportDefinitions, 
StartupReportConfiguration reportConfiguration )
     {
         this.reporterConfiguration = reporterConfiguration;
-        this.reportDefinitions = reportDefinitions;
         this.surefireClassLoader = surefireClassLoader;
+        this.reportConfiguration = reportConfiguration;
         multicastingReporter = new MulticastingReporter( instantiateReports() 
);
         runStarting();
     }
@@ -77,27 +81,27 @@ public class ReporterManagerFactory
 
     private AbstractConsoleReporter instantiateConsoleReporter()
     {
-        return (AbstractConsoleReporter) instantiateReport( 
reporterConfiguration.getConsoleReporter() );
+        return (AbstractConsoleReporter) instantiateReport( 
reportConfiguration.getConsoleReporter() );
     }
 
     private AbstractFileReporter instantiateFileReporter()
     {
-        return (AbstractFileReporter) instantiateReport( 
reporterConfiguration.getFileReporter() );
+        return (AbstractFileReporter) instantiateReport( 
reportConfiguration.getFileReporter() );
     }
 
     private XMLReporter instantiateXmlReporter()
     {
-        return (XMLReporter) instantiateReport( 
reporterConfiguration.getXmlReporter() );
+        return (XMLReporter) instantiateReport( 
reportConfiguration.getXmlReporterName() );
     }
 
     private Reporter instantiateConsoleOutputFileReporter()
     {
-        return instantiateReport( 
reporterConfiguration.getConsoleOutputFileReporterName() );
+        return instantiateReport( 
reportConfiguration.getConsoleOutputFileReporterName() );
     }
 
     private List instantiateReports()
     {
-        return instantiateReportsNewStyle( reportDefinitions, 
reporterConfiguration, surefireClassLoader );
+        return instantiateReportsNewStyle( reportConfiguration.getReports(), 
reporterConfiguration, surefireClassLoader );
     }
 
     public RunResult close()

Added: 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/StartupReportConfiguration.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/StartupReportConfiguration.java?rev=1098246&view=auto
==============================================================================
--- 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/StartupReportConfiguration.java
 (added)
+++ 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/StartupReportConfiguration.java
 Sun May  1 10:19:40 2011
@@ -0,0 +1,203 @@
+package org.apache.maven.surefire.booter;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.maven.surefire.report.BriefConsoleReporter;
+import org.apache.maven.surefire.report.BriefFileReporter;
+import org.apache.maven.surefire.report.ConsoleOutputDirectReporter;
+import org.apache.maven.surefire.report.ConsoleOutputFileReporter;
+import org.apache.maven.surefire.report.ConsoleReporter;
+import org.apache.maven.surefire.report.DetailedConsoleReporter;
+import org.apache.maven.surefire.report.FileReporter;
+import org.apache.maven.surefire.report.XMLReporter;
+
+/**
+ * All the parameters used to construct reporters
+ * <p/>
+ * TODO: Move out of API module
+ *
+ * @author Kristian Rosenvold
+ */
+public class StartupReportConfiguration
+{
+    private final boolean useFile;
+
+    private final boolean printSummary;
+
+    private final String reportFormat;
+
+    private final boolean redirectTestOutputToFile;
+
+    private final boolean disableXmlReport;
+
+    private final File reportsDirectory;
+
+
+    public static final String BRIEF_REPORT_FORMAT = "brief";
+
+    public static final String PLAIN_REPORT_FORMAT = "plain";
+
+    public StartupReportConfiguration( boolean useFile, boolean printSummary, 
String reportFormat,
+                                       boolean redirectTestOutputToFile, 
boolean disableXmlReport,
+                                       File reportsDirectory )
+    {
+        this.useFile = useFile;
+        this.printSummary = printSummary;
+        this.reportFormat = reportFormat;
+        this.redirectTestOutputToFile = redirectTestOutputToFile;
+        this.disableXmlReport = disableXmlReport;
+        this.reportsDirectory = reportsDirectory;
+    }
+
+    public static StartupReportConfiguration defaultValue()
+    {
+        File target = new File( "./target" );
+        return new StartupReportConfiguration( true, true, "PLAIN", false, 
false, target );
+    }
+
+    public static StartupReportConfiguration defaultNoXml()
+    {
+        File target = new File( "./target" );
+        return new StartupReportConfiguration( true, true, "PLAIN", false, 
true, target );
+    }
+
+    public boolean isUseFile()
+    {
+        return useFile;
+    }
+
+    public boolean isPrintSummary()
+    {
+        return printSummary;
+    }
+
+    public String getReportFormat()
+    {
+        return reportFormat;
+    }
+
+    public boolean isRedirectTestOutputToFile()
+    {
+        return redirectTestOutputToFile;
+    }
+
+    public boolean isDisableXmlReport()
+    {
+        return disableXmlReport;
+    }
+
+    public File getReportsDirectory()
+    {
+        return reportsDirectory;
+    }
+
+    public String getXmlReporterName()
+    {
+        if ( !isDisableXmlReport() )
+        {
+            return XMLReporter.class.getName();
+        }
+        return null;
+    }
+
+    public String getFileReporter()
+    {
+        if ( isUseFile() )
+        {
+            if ( BRIEF_REPORT_FORMAT.equals( getReportFormat() ) )
+            {
+                return BriefFileReporter.class.getName();
+            }
+            else if ( PLAIN_REPORT_FORMAT.equals( getReportFormat() ) )
+            {
+                return FileReporter.class.getName();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the reporter that will write to the console
+     *
+     * @return a console reporter of null if no console reporting
+     */
+    public String getConsoleReporter()
+    {
+        if ( isUseFile() )
+        {
+            return isPrintSummary() ? ConsoleReporter.class.getName() : null;
+        }
+        else if ( isRedirectTestOutputToFile() || BRIEF_REPORT_FORMAT.equals( 
getReportFormat() ) )
+        {
+            return BriefConsoleReporter.class.getName();
+        }
+        else if ( PLAIN_REPORT_FORMAT.equals( getReportFormat() ) )
+        {
+            return DetailedConsoleReporter.class.getName();
+        }
+/*        if (isRedirectTestOutputToFile())
+        {
+            return null;
+        }*/
+        return null;
+    }
+
+    public String getConsoleOutputFileReporterName()
+    {
+        if ( isRedirectTestOutputToFile() )
+        {
+            return ConsoleOutputFileReporter.class.getName();
+        }
+        else
+        {
+            return ConsoleOutputDirectReporter.class.getName();
+        }
+    }
+
+
+    /**
+     * A list of classnames representing runnable reports for this test-run.
+     *
+     * @return A list of strings, each string is a classname of a class
+     *         implementing the org.apache.maven.surefire.report.Reporter 
interface
+     */
+    public List getReports()
+    {
+        ArrayList reports = new ArrayList();
+        addIfNotNull( reports, getConsoleReporter() );
+        addIfNotNull( reports, getFileReporter() );
+        addIfNotNull( reports, getXmlReporterName() );
+        addIfNotNull( reports, getConsoleOutputFileReporterName() );
+        return reports;
+    }
+
+    private void addIfNotNull( ArrayList reports, String reporter )
+    {
+        if ( reporter != null )
+        {
+            reports.add( reporter );
+        }
+    }
+
+
+}

Propchange: 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/StartupReportConfiguration.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/SurefireReflector.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/SurefireReflector.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/SurefireReflector.java
 (original)
+++ 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/booter/SurefireReflector.java
 Sun May  1 10:19:40 2011
@@ -77,12 +77,15 @@ public class SurefireReflector
 
     private final Class forkConfigurationInfo;
 
+    private final Class startupReportConfiguration;
+
     public SurefireReflector( ClassLoader surefireClassLoader )
     {
         this.surefireClassLoader = surefireClassLoader;
         try
         {
             reporterConfiguration = surefireClassLoader.loadClass( 
ReporterConfiguration.class.getName() );
+            startupReportConfiguration = surefireClassLoader.loadClass( 
StartupReportConfiguration.class.getName() );
             testRequest = surefireClassLoader.loadClass( 
TestRequest.class.getName() );
             testArtifactInfo = surefireClassLoader.loadClass( 
TestArtifactInfo.class.getName() );
             testArtifactInfoAware = surefireClassLoader.loadClass( 
TestArtifactInfoAware.class.getName() );
@@ -208,9 +211,23 @@ public class SurefireReflector
                                                                   new Class[]{ 
File.class, Boolean.class, String.class,
                                                                       
String.class, String.class, String.class } );
         return ReflectionUtils.newInstance( constructor, new Object[]{ 
reporterConfiguration.getReportsDirectory(),
-            reporterConfiguration.isTrimStackTrace(), 
reporterConfiguration.getConsoleReporter(),
-            reporterConfiguration.getFileReporter(), 
reporterConfiguration.getXmlReporter(),
-            reporterConfiguration.getConsoleOutputFileReporterName() } );
+            reporterConfiguration.isTrimStackTrace(), null, null, null, null } 
);
+    }
+
+    Object createStartupReportConfiguration( StartupReportConfiguration 
reporterConfiguration )
+    {
+        Constructor constructor = ReflectionUtils.getConstructor( 
this.startupReportConfiguration,
+                                                                  new Class[]{ 
boolean.class, boolean.class,
+                                                                      
String.class, boolean.class, boolean.class,
+                                                                      
File.class } );
+        //noinspection BooleanConstructorCall
+        final Object[] params =
+            { new Boolean( reporterConfiguration.isUseFile() ), new Boolean( 
reporterConfiguration.isPrintSummary() ),
+                reporterConfiguration.getReportFormat(),
+                new Boolean( 
reporterConfiguration.isRedirectTestOutputToFile() ),
+                new Boolean( reporterConfiguration.isDisableXmlReport() ),
+                reporterConfiguration.getReportsDirectory() };
+        return ReflectionUtils.newInstance( constructor, params );
     }
 
     public Object createForkingReporterFactory( Boolean trimStackTrace, 
PrintStream originalSystemOut )
@@ -221,11 +238,14 @@ public class SurefireReflector
                                                   surefireClassLoader );
     }
 
-    public Object createReportingReporterFactory( ReporterConfiguration 
reporterConfiguration )
+    public Object createReportingReporterFactory( ReporterConfiguration 
reporterConfiguration,
+                                                  StartupReportConfiguration 
startupReportConfiguration )
     {
-        Class[] args = new Class[]{ ClassLoader.class, 
this.reporterConfiguration, List.class };
+        Class[] args =
+            new Class[]{ ClassLoader.class, this.reporterConfiguration, 
List.class, this.startupReportConfiguration };
         Object report = createReporterConfiguration( reporterConfiguration );
-        Object[] params = new Object[]{ this.surefireClassLoader, report, 
reporterConfiguration.getReports() };
+        Object src = createStartupReportConfiguration( 
startupReportConfiguration );
+        Object[] params = new Object[]{ this.surefireClassLoader, report, 
reporterConfiguration.getReports(), src };
         return ReflectionUtils.instantiateObject( 
ReporterManagerFactory.class.getName(), args, params,
                                                   surefireClassLoader );
 

Modified: 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractConsoleReporter.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractConsoleReporter.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractConsoleReporter.java
 (original)
+++ 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractConsoleReporter.java
 Sun May  1 10:19:40 2011
@@ -42,11 +42,19 @@ public abstract class AbstractConsoleRep
 
     private static final PrintStream ORIGINAL_SYSTEM_OUT = System.out;
 
+    public AbstractConsoleReporter( boolean trimStackTrace, String format )
+    {
+        super( getPrintWriter(), trimStackTrace, format);
+    }
+
     AbstractConsoleReporter( String format, ReporterConfiguration 
reporterConfiguration )
     {
-        super(
-            new PrintWriter( new OutputStreamWriter( new BufferedOutputStream( 
ORIGINAL_SYSTEM_OUT, BUFFER_SIZE ) ) ),
-            format, reporterConfiguration );
+        super( getPrintWriter(), 
reporterConfiguration.isTrimStackTrace().booleanValue(), format);
+    }
+
+    private static PrintWriter getPrintWriter()
+    {
+        return new PrintWriter( new OutputStreamWriter( new 
BufferedOutputStream( ORIGINAL_SYSTEM_OUT, BUFFER_SIZE ) ) );
     }
 
     public void testSetStarting( ReportEntry report )

Modified: 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractFileReporter.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractFileReporter.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractFileReporter.java
 (original)
+++ 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractFileReporter.java
 Sun May  1 10:19:40 2011
@@ -36,15 +36,17 @@ public abstract class AbstractFileReport
 
     private final boolean deleteOnStarting;
 
-    AbstractFileReporter( ReporterConfiguration reporterConfiguration, String 
format )
+    protected AbstractFileReporter( boolean trimStackTrace, String format, 
File reportsDirectory )
     {
-        super( reporterConfiguration, format );
-
-        this.reportsDirectory = reporterConfiguration.getReportsDirectory();
-
+        super( trimStackTrace, format );
+        this.reportsDirectory = reportsDirectory;
         this.deleteOnStarting = false;
     }
 
+    AbstractFileReporter( ReporterConfiguration reporterConfiguration, String 
format )
+    {
+        this( reporterConfiguration.isTrimStackTrace().booleanValue(), format, 
reporterConfiguration.getReportsDirectory());
+    }
 
     public void testSetStarting( ReportEntry report )
         throws ReporterException
@@ -97,10 +99,5 @@ public abstract class AbstractFileReport
         writer.close();
 
         writer = null;
-
-        if ( isTimedOut() )
-        {
-            deleteIfExisting( getReportFile( report ) );
-        }
     }
 }

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=1098246&r1=1098245&r2=1098246&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
 Sun May  1 10:19:40 2011
@@ -52,22 +52,19 @@ public abstract class AbstractReporter
 
     private final boolean trimStackTrace;
 
-    private final ReporterConfiguration reporterConfiguration;
-
     // ----------------------------------------------------------------------
     // Report interface
     // ----------------------------------------------------------------------
 
 
-    AbstractReporter( ReporterConfiguration reporterConfiguration )
+    protected AbstractReporter( boolean trimStackTrace )
     {
-        this.reporterConfiguration = reporterConfiguration;
-        this.trimStackTrace = 
reporterConfiguration.isTrimStackTrace().booleanValue();
+        this.trimStackTrace = trimStackTrace;
     }
 
-    boolean isTimedOut()
+    AbstractReporter( ReporterConfiguration reporterConfiguration )
     {
-        return reporterConfiguration.isTimedOut();
+        this(reporterConfiguration.isTrimStackTrace().booleanValue());
     }
 
     public void writeFooter( String footer )

Modified: 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractTextReporter.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractTextReporter.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractTextReporter.java
 (original)
+++ 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/AbstractTextReporter.java
 Sun May  1 10:19:40 2011
@@ -46,13 +46,24 @@ public abstract class AbstractTextReport
 
     private List testResults;
 
-    protected AbstractTextReporter( ReporterConfiguration 
reporterConfiguration, String format )
-    {
-        super( reporterConfiguration );
 
+    protected AbstractTextReporter( boolean trimStackTrace, String format )
+    {
+        super( trimStackTrace );
         this.format = format;
     }
 
+    protected AbstractTextReporter( PrintWriter writer, boolean 
trimStackTrace, String format )
+    {
+        this( trimStackTrace, format);
+        this.writer = writer;
+    }
+
+    protected AbstractTextReporter( ReporterConfiguration 
reporterConfiguration, String format )
+    {
+        this( reporterConfiguration.isTrimStackTrace().booleanValue(), format);
+    }
+
 
     protected AbstractTextReporter( PrintWriter writer, String format, 
ReporterConfiguration reporterConfiguration )
     {

Modified: 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterConfiguration.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterConfiguration.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterConfiguration.java
 (original)
+++ 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterConfiguration.java
 Sun May  1 10:19:40 2011
@@ -40,8 +40,6 @@ public class ReporterConfiguration
 
     private final PrintStream originalSystemOut;
 
-    private final PrintStream originalSystemErr;
-
     private final Properties testVmSystemProperties;
 
     private final String consoleReporter;
@@ -57,8 +55,6 @@ public class ReporterConfiguration
      */
     private final Boolean trimStackTrace;
 
-    private volatile boolean timedOut = false;
-
     public ReporterConfiguration( File reportsDirectory, Boolean 
trimStackTrace, String consoleReporter,
                                   String fileReporter, String xmlReporter, 
String consoleOutputFileReporterName )
     {
@@ -76,7 +72,6 @@ public class ReporterConfiguration
         * As soon as we start loading user code, all h*ll breaks loose in this 
respect.
          */
         this.originalSystemOut = System.out;
-        this.originalSystemErr = System.err;
     }
 
     public ReporterConfiguration( File reportsDirectory, Boolean 
trimStackTrace )
@@ -147,34 +142,4 @@ public class ReporterConfiguration
     {
         return testVmSystemProperties;
     }
-
-    public void setTimedOut( boolean timedOut )
-    {
-        this.timedOut = timedOut;
-    }
-
-    public boolean isTimedOut()
-    {
-        return this.timedOut;
-    }
-
-    public String getConsoleReporter()
-    {
-        return consoleReporter;
-    }
-
-    public String getFileReporter()
-    {
-        return fileReporter;
-    }
-
-    public String getXmlReporter()
-    {
-        return xmlReporter;
-    }
-
-    public String getConsoleOutputFileReporterName()
-    {
-        return consoleOutputFileReporterName;
-    }
 }

Modified: 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java
 (original)
+++ 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java
 Sun May  1 10:19:40 2011
@@ -54,15 +54,19 @@ public class XMLReporter
 
     private final List results = Collections.synchronizedList( new ArrayList() 
);
 
-    public XMLReporter( ReporterConfiguration reporterConfiguration )
-    {
-        super( reporterConfiguration );
-
-        this.reportsDirectory = reporterConfiguration.getReportsDirectory();
 
+    public XMLReporter( boolean trimStackTrace, File reportsDirectory )
+    {
+        super( trimStackTrace );
+        this.reportsDirectory = reportsDirectory;
         this.deleteOnStarting = false;
     }
 
+    public XMLReporter( ReporterConfiguration reporterConfiguration )
+    {
+        this( reporterConfiguration.isTrimStackTrace().booleanValue(), 
reporterConfiguration.getReportsDirectory() );
+    }
+
 
     public void writeMessage( String message )
     {
@@ -94,10 +98,6 @@ public class XMLReporter
     {
         super.testSetCompleted( report );
 
-        if ( isTimedOut() )
-        {
-            return;
-        }
         long runTime = System.currentTimeMillis() - testSetStartTime;
 
         Xpp3Dom testSuite = createTestSuiteElement( report, runTime );
@@ -122,6 +122,7 @@ public class XMLReporter
 
         File reportDir = reportFile.getParentFile();
 
+        //noinspection ResultOfMethodCallIgnored
         reportDir.mkdirs();
 
         PrintWriter writer = null;
@@ -242,6 +243,7 @@ public class XMLReporter
         Throwable t = null;
         if ( report.getStackTraceWriter() != null )
         {
+            //noinspection ThrowableResultOfMethodCallIgnored
             t = report.getStackTraceWriter().getThrowable();
         }
 
@@ -296,7 +298,7 @@ public class XMLReporter
     /**
      * Adds system properties to the XML report.
      *
-     * @param testSuite
+     * @param testSuite The test suite to report to
      */
     private void showProperties( Xpp3Dom testSuite )
     {

Modified: 
maven/surefire/trunk/surefire-api/src/test/java/org/apache/maven/surefire/report/TestConsoleOutputRunListenerTest.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/test/java/org/apache/maven/surefire/report/TestConsoleOutputRunListenerTest.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-api/src/test/java/org/apache/maven/surefire/report/TestConsoleOutputRunListenerTest.java
 (original)
+++ 
maven/surefire/trunk/surefire-api/src/test/java/org/apache/maven/surefire/report/TestConsoleOutputRunListenerTest.java
 Sun May  1 10:19:40 2011
@@ -19,8 +19,10 @@ package org.apache.maven.surefire.report
  * under the License.
  */
 
+import java.io.File;
 import java.util.ArrayList;
 import org.apache.maven.plugin.surefire.report.ReporterManagerFactory;
+import org.apache.maven.surefire.booter.StartupReportConfiguration;
 
 import junit.framework.TestCase;
 
@@ -50,12 +52,13 @@ public class TestConsoleOutputRunListene
     private ReporterFactory createReporterFactory()
     {
         ReporterConfiguration reporterConfiguration = 
getTestReporterConfiguration();
-        return new ReporterManagerFactory( this.getClass().getClassLoader(), 
reporterConfiguration, new ArrayList() );
+        return new ReporterManagerFactory( this.getClass().getClassLoader(), 
reporterConfiguration, new ArrayList(),
+                                           
StartupReportConfiguration.defaultValue() );
     }
 
     public static ReporterConfiguration getTestReporterConfiguration()
     {
-        return new ReporterConfiguration( null, Boolean.TRUE, 
ConsoleReporter.class.getName(), null, null, null );
+        return new ReporterConfiguration( new File( "." ), Boolean.TRUE, 
ConsoleReporter.class.getName(), null, null, null );
     }
 
 }

Modified: 
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
 (original)
+++ 
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
 Sun May  1 10:19:40 2011
@@ -22,7 +22,6 @@ package org.apache.maven.surefire.booter
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
-import java.util.Properties;
 import org.apache.maven.surefire.suite.RunResult;
 
 /**
@@ -65,7 +64,7 @@ public class ForkedBooter
             final StartupConfiguration providerConfiguration = 
booterDeserializer.getProviderConfiguration();
 
 
-            SurefireStarter starter = new SurefireStarter( 
providerConfiguration, booterConfiguration, true );
+            SurefireStarter starter = new SurefireStarter( 
providerConfiguration, booterConfiguration, true, null );
 
             Object forkedTestSet = booterConfiguration.getTestForFork();
             final RunResult result = forkedTestSet != null

Modified: 
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireStarter.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireStarter.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireStarter.java
 (original)
+++ 
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireStarter.java
 Sun May  1 10:19:40 2011
@@ -50,12 +50,15 @@ public class SurefireStarter
 
     private final boolean inFork;
 
+    private final StartupReportConfiguration startupReportConfiguration;
+
     public SurefireStarter( StartupConfiguration startupConfiguration, 
ProviderConfiguration providerConfiguration,
-                            boolean inFork )
+                            boolean inFork, StartupReportConfiguration 
startupReportConfiguration )
     {
         this.providerConfiguration = providerConfiguration;
         this.startupConfiguration = startupConfiguration;
         this.inFork = inFork;
+        this.startupReportConfiguration = startupReportConfiguration;
     }
 
     public RunResult runSuitesInProcessWhenForked( Object testSet )
@@ -116,7 +119,7 @@ public class SurefireStarter
         SurefireReflector surefireReflector = new SurefireReflector( 
surefireClassLoader );
 
         final Object factory =
-            surefireReflector.createReportingReporterFactory( 
this.providerConfiguration.getReporterConfiguration() );
+            surefireReflector.createReportingReporterFactory( 
this.providerConfiguration.getReporterConfiguration(), 
startupReportConfiguration );
 
         return invokeProvider( null, testsClassLoader, surefireClassLoader, 
factory );
     }

Modified: 
maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/ConcurrentReporterManagerTest.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/ConcurrentReporterManagerTest.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/ConcurrentReporterManagerTest.java
 (original)
+++ 
maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/ConcurrentReporterManagerTest.java
 Sun May  1 10:19:40 2011
@@ -27,6 +27,7 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 import org.apache.maven.plugin.surefire.report.ReporterManagerFactory;
+import org.apache.maven.surefire.booter.StartupReportConfiguration;
 import org.apache.maven.surefire.report.ReporterConfiguration;
 import org.apache.maven.surefire.report.ReporterFactory;
 import org.apache.maven.surefire.report.RunListener;
@@ -402,12 +403,13 @@ public class ConcurrentReporterManagerTe
     private ReporterFactory createReporterFactory()
     {
         ReporterConfiguration reporterConfiguration = 
getTestReporterConfiguration();
-        return new ReporterManagerFactory( this.getClass().getClassLoader(), 
reporterConfiguration, Arrays.asList() );
+        return new ReporterManagerFactory( this.getClass().getClassLoader(), 
reporterConfiguration, Arrays.asList(),
+                                           
StartupReportConfiguration.defaultNoXml() );
     }
 
     public static ReporterConfiguration getTestReporterConfiguration()
     {
-        return new ReporterConfiguration( null, Boolean.TRUE );
+        return new ReporterConfiguration( new File( "." ), Boolean.TRUE );
     }
 
 

Modified: 
maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/MavenSurefireJUnit47RunnerTest.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/MavenSurefireJUnit47RunnerTest.java?rev=1098246&r1=1098245&r2=1098246&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/MavenSurefireJUnit47RunnerTest.java
 (original)
+++ 
maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/MavenSurefireJUnit47RunnerTest.java
 Sun May  1 10:19:40 2011
@@ -20,6 +20,7 @@ import java.io.File;
 import java.util.Arrays;
 import java.util.HashMap;
 import org.apache.maven.plugin.surefire.report.ReporterManagerFactory;
+import org.apache.maven.surefire.booter.StartupReportConfiguration;
 import org.apache.maven.surefire.report.ReporterConfiguration;
 import org.apache.maven.surefire.report.ReporterFactory;
 import org.apache.maven.surefire.report.RunListener;
@@ -120,7 +121,8 @@ public class MavenSurefireJUnit47RunnerT
         ReporterConfiguration reporterConfiguration = 
ConcurrentReporterManagerTest.getTestReporterConfiguration();
 
         ReporterFactory reporterManagerFactory =
-            new ReporterManagerFactory( this.getClass().getClassLoader(), 
reporterConfiguration, Arrays.asList() );
+            new ReporterManagerFactory( this.getClass().getClassLoader(), 
reporterConfiguration, Arrays.asList(),
+                                        
StartupReportConfiguration.defaultNoXml() );
 
         final HashMap<String, TestSet> classMethodCounts = new HashMap<String, 
TestSet>();
         RunListener reporter = ConcurrentReporterManager.createInstance( 
classMethodCounts, reporterManagerFactory,


Reply via email to