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 kr...@apache.org on 2011/03/03 22:06:34 UTC
svn commit: r1076794 - in /maven/surefire/trunk:
surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/
surefire-providers/surefire-junit3/src/main/java/org/apac...
Author: krosenvold
Date: Thu Mar 3 21:06:33 2011
New Revision: 1076794
URL: http://svn.apache.org/viewvc?rev=1076794&view=rev
Log:
[SUREFIRE-711] Added closing of reportermanager upon scanning of classpath to avoid memory leak
Modified:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/TestProvider.java
maven/surefire/trunk/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.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/MavenSurefireJUnit47RunnerTestCase.java
maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/TestProvider.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/TestProvider.java?rev=1076794&r1=1076793&r2=1076794&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/TestProvider.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/TestProvider.java Thu Mar 3 21:06:33 2011
@@ -50,6 +50,7 @@ public class TestProvider extends Abstr
public Iterator getSuites()
{
+
return null;
}
Modified: maven/surefire/trunk/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java?rev=1076794&r1=1076793&r2=1076794&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java Thu Mar 3 21:06:33 2011
@@ -115,6 +115,10 @@ public class JUnit3Provider extends Abst
public Iterator getSuites()
{
testsToRun = scanClassPath();
+ // Added to free the streams when scanning the classpath.
+ // It is essentially wrong that the capture of stdout is embedded within the reporter manager,
+ // which will change for 2.8.1+
+ reporterFactory.close();
return testsToRun.iterator();
}
Modified: maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java?rev=1076794&r1=1076793&r2=1076794&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java Thu Mar 3 21:06:33 2011
@@ -159,6 +159,11 @@ public class JUnit4Provider extends Abst
public Iterator getSuites()
{
testsToRun = scanClassPath();
+ // Added to free the streams when scanning the classpath.
+ // It is essentially wrong that the capture of stdout is embedded within the reporter manager,
+ // which will change for 2.8.1+
+ reporterFactory.close();
+
return testsToRun.iterator();
}
Modified: maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java?rev=1076794&r1=1076793&r2=1076794&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java Thu Mar 3 21:06:33 2011
@@ -84,6 +84,11 @@ public class JUnitCoreProvider extends A
public Iterator getSuites()
{
testsToRun = scanClassPath();
+ // Added to free the streams when scanning the classpath.
+ // It is essentially wrong that the capture of stdout is embedded within the reporter manager,
+ // which will change for 2.8.1+
+ reporterFactory.close();
+
return testsToRun.iterator();
}
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=1076794&r1=1076793&r2=1076794&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 Thu Mar 3 21:06:33 2011
@@ -198,6 +198,7 @@ public class ConcurrentReporterManagerTe
Computer computer = new Computer();
jUnitCore.run( computer, classes );
+ reporterManagerFactory.close();
return reporterManagerFactory.getGlobalRunStatistics();
}
Modified: maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/MavenSurefireJUnit47RunnerTestCase.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/MavenSurefireJUnit47RunnerTestCase.java?rev=1076794&r1=1076793&r2=1076794&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/MavenSurefireJUnit47RunnerTestCase.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/MavenSurefireJUnit47RunnerTestCase.java Thu Mar 3 21:06:33 2011
@@ -151,6 +151,8 @@ public class MavenSurefireJUnit47RunnerT
Assert.assertEquals( "The exception thrown by the failing TestCase", RuntimeException.class,
result.getFailures().get( 0 ).getException().getClass() );
+
+ reporterManagerFactory.close();
}
private ReporterConfiguration getReporterConfiguration()
Modified: maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java?rev=1076794&r1=1076793&r2=1076794&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java Thu Mar 3 21:06:33 2011
@@ -43,7 +43,8 @@ import java.util.Properties;
* @author Kristian Rosenvold
* @noinspection UnusedDeclaration
*/
-public class TestNGProvider extends AbstractProvider
+public class TestNGProvider
+ extends AbstractProvider
{
private final Properties providerProperties;
@@ -128,7 +129,8 @@ public class TestNGProvider extends Abst
new ArrayList( directoryScannerParameters.getExcludes() ),
testRequest.getTestSourceDirectory().toString(),
testArtifactInfo.getVersion(), providerProperties,
- reporterConfiguration.getReportsDirectory(), testRequest.getRequestedTestMethod() );
+ reporterConfiguration.getReportsDirectory(),
+ testRequest.getRequestedTestMethod() );
}
private TestNGXmlTestSuite getXmlSuite()
@@ -145,6 +147,11 @@ public class TestNGProvider extends Abst
{
try
{
+ // Added to free the streams when scanning the classpath.
+ // It is essentially wrong that the capture of stdout is embedded within the reporter manager,
+ // which will change for 2.8.1+
+ reporterFactory.close();
+
return getXmlSuite().locateTestSets( testClassLoader ).keySet().iterator();
}
catch ( TestSetFailedException e )
@@ -155,6 +162,11 @@ public class TestNGProvider extends Abst
else
{
testsToRun = scanClassPath();
+ // Added to free the streams when scanning the classpath.
+ // It is essentially wrong that the capture of stdout is embedded within the reporter manager,
+ // which will change for 2.8.1+
+ reporterFactory.close();
+
return testsToRun.iterator();
}
}