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