Return-Path: Delivered-To: apmail-maven-surefire-commits-archive@www.apache.org Received: (qmail 49348 invoked from network); 8 Dec 2010 22:12:01 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 8 Dec 2010 22:12:01 -0000 Received: (qmail 660 invoked by uid 500); 8 Dec 2010 22:12:01 -0000 Delivered-To: apmail-maven-surefire-commits-archive@maven.apache.org Received: (qmail 620 invoked by uid 500); 8 Dec 2010 22:12:01 -0000 Mailing-List: contact surefire-commits-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: surefire-dev@maven.apache.org Delivered-To: mailing list surefire-commits@maven.apache.org Received: (qmail 613 invoked by uid 99); 8 Dec 2010 22:12:01 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Dec 2010 22:12:01 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Dec 2010 22:11:55 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 89B4823889B9; Wed, 8 Dec 2010 22:11:33 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1043721 - in /maven/surefire/trunk: maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/ maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ maven-surefire-common/src/main/java/org/apache/maven/plugin/sur... Date: Wed, 08 Dec 2010 22:11:33 -0000 To: surefire-commits@maven.apache.org From: krosenvold@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101208221133.89B4823889B9@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: krosenvold Date: Wed Dec 8 22:11:32 2010 New Revision: 1043721 URL: http://svn.apache.org/viewvc?rev=1043721&view=rev Log: o Removed a field from serialization, cleaned up a few more Modified: maven/surefire/trunk/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java 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/BooterSerializer.java maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.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/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerTest.java maven/surefire/trunk/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/suite/AbstractDirectoryTestSuite.java maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProviderConfiguration.java maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/StartupConfiguration.java Modified: maven/surefire/trunk/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java?rev=1043721&r1=1043720&r2=1043721&view=diff ============================================================================== --- maven/surefire/trunk/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java (original) +++ maven/surefire/trunk/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java Wed Dec 8 22:11:32 2010 @@ -32,6 +32,7 @@ import org.apache.maven.plugin.surefire. import org.apache.maven.plugin.surefire.booterclient.ForkConfiguration; import org.apache.maven.plugin.surefire.booterclient.ForkStarter; import org.apache.maven.project.MavenProject; +import org.apache.maven.surefire.booter.ClassLoaderConfiguration; import org.apache.maven.surefire.booter.ProviderConfiguration; import org.apache.maven.surefire.booter.SurefireBooterForkException; import org.apache.maven.surefire.booter.SurefireExecutionException; @@ -615,7 +616,8 @@ public class IntegrationTestMojo { ProviderInfo provider = (ProviderInfo) iter.next(); forkConfiguration = getForkConfiguration(); - ForkStarter forkStarter = createForkStarter( provider, forkConfiguration ); + ClassLoaderConfiguration classLoaderConfiguration = getClassLoaderConfiguration( forkConfiguration ); + ForkStarter forkStarter = createForkStarter( provider, forkConfiguration, classLoaderConfiguration ); try { result.setResult( forkStarter.run() ); 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=1043721&r1=1043720&r2=1043721&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 Wed Dec 8 22:11:32 2010 @@ -36,6 +36,7 @@ import org.apache.maven.plugin.MojoFailu import org.apache.maven.plugin.surefire.booterclient.ForkConfiguration; import org.apache.maven.plugin.surefire.booterclient.ForkStarter; import org.apache.maven.shared.artifact.filter.PatternIncludesArtifactFilter; +import org.apache.maven.surefire.booter.ClassLoaderConfiguration; import org.apache.maven.surefire.booter.Classpath; import org.apache.maven.surefire.booter.ClasspathConfiguration; import org.apache.maven.surefire.booter.ProviderConfiguration; @@ -106,11 +107,11 @@ public abstract class AbstractSurefireMo try { - wellKnownProviders = new ProviderList(new ProviderInfo[]{ new TestNgProviderInfo( getTestNgArtifact() ), + wellKnownProviders = new ProviderList( new ProviderInfo[]{ new TestNgProviderInfo( getTestNgArtifact() ), new JUnitCoreProviderInfo( getJunitArtifact() ), new JUnit4ProviderInfo( getJunitArtifact() ), new JUnit3ProviderInfo() }, new DynamicProviderInfo( null ) ); - return wellKnownProviders.resolve(getLog()); + return wellKnownProviders.resolve( getLog() ); } catch ( InvalidVersionSpecificationException e ) { @@ -300,8 +301,8 @@ public abstract class AbstractSurefireMo } ProviderConfiguration providerConfiguration1 = - new ProviderConfiguration( reports, directoryScannerParameters, failIfNoTests, reporterConfiguration, - testNg, testSuiteDefinition, providerProperties, null ); + new ProviderConfiguration( directoryScannerParameters, failIfNoTests, reporterConfiguration, testNg, + testSuiteDefinition, providerProperties, null ); Toolchain tc = getToolchain(); @@ -326,7 +327,8 @@ public abstract class AbstractSurefireMo } protected StartupConfiguration createStartupConfiguration( ForkConfiguration forkConfiguration, - ProviderInfo provider ) + ProviderInfo provider, + ClassLoaderConfiguration classLoaderConfiguration ) throws MojoExecutionException, MojoFailureException { final ClasspathConfiguration classpathConfiguration = @@ -380,9 +382,8 @@ public abstract class AbstractSurefireMo classpathConfiguration.addClasspathUrl( classpathElement ); } - return new StartupConfiguration( providerName, classpathConfiguration, - forkConfiguration.getClassLoaderConfiguration(), forkConfiguration.isForking(), - false, isRedirectTestOutputToFile() ); + return new StartupConfiguration( providerName, classpathConfiguration, classLoaderConfiguration, + forkConfiguration.isForking(), false, isRedirectTestOutputToFile() ); } @@ -494,12 +495,13 @@ public abstract class AbstractSurefireMo return junitArtifact; } - protected ForkStarter createForkStarter( ProviderInfo provider, ForkConfiguration forkConfiguration ) + protected ForkStarter createForkStarter( ProviderInfo provider, ForkConfiguration forkConfiguration, + ClassLoaderConfiguration classLoaderConfiguration ) throws MojoExecutionException, MojoFailureException { - StartupConfiguration startupConfiguration = createStartupConfiguration( forkConfiguration, provider ); - ProviderConfiguration providerConfiguration = - createProviderConfiguration( forkConfiguration ); + StartupConfiguration startupConfiguration = + createStartupConfiguration( forkConfiguration, provider, classLoaderConfiguration ); + ProviderConfiguration providerConfiguration = createProviderConfiguration( forkConfiguration ); return new ForkStarter( providerConfiguration, startupConfiguration, getReportsDirectory(), forkConfiguration, getForkedProcessTimeoutInSeconds() ); } @@ -527,8 +529,6 @@ public abstract class AbstractSurefireMo if ( fork.isForking() ) { setUseSystemClassLoader( getUseSystemClassLoader() == null ? Boolean.TRUE : getUseSystemClassLoader() ); - fork.setUseSystemClassLoader( getUseSystemClassLoader().booleanValue() ); - fork.setUseManifestOnlyJar( isUseManifestOnlyJar() ); fork.setSystemProperties( getInternalSystemProperties() ); @@ -581,6 +581,13 @@ public abstract class AbstractSurefireMo return fork; } + protected ClassLoaderConfiguration getClassLoaderConfiguration( ForkConfiguration fork ) + { + return fork.isForking() ? new ClassLoaderConfiguration( getUseSystemClassLoader().booleanValue(), + isUseManifestOnlyJar() ) + : new ClassLoaderConfiguration( false, false ); + } + protected abstract String[] getDefaultIncludes(); /** @@ -1040,6 +1047,7 @@ public abstract class AbstractSurefireMo } } + public class DynamicProviderInfo implements ConfigurableProviderInfo { @@ -1050,8 +1058,9 @@ public abstract class AbstractSurefireMo this.providerName = providerName; } - public ProviderInfo instantiate(String providerName){ - return new DynamicProviderInfo(providerName); + public ProviderInfo instantiate( String providerName ) + { + return new DynamicProviderInfo( providerName ); } public String getProviderName() @@ -1079,7 +1088,7 @@ public abstract class AbstractSurefireMo throws ArtifactResolutionException, ArtifactNotFoundException { final Map pluginArtifactMap = getPluginArtifactMap(); - Artifact plugin = (Artifact) pluginArtifactMap.get( "org.apache.maven.plugins:maven-surefire-plugin"); + Artifact plugin = (Artifact) pluginArtifactMap.get( "org.apache.maven.plugins:maven-surefire-plugin" ); dependencyResolver.addProviderToClasspath( classpathConfiguration, pluginArtifactMap, plugin ); } Modified: maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java?rev=1043721&r1=1043720&r2=1043721&view=diff ============================================================================== --- maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java (original) +++ maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java Wed Dec 8 22:11:32 2010 @@ -18,21 +18,19 @@ package org.apache.maven.plugin.surefire * under the License. */ -import org.apache.maven.surefire.booter.ProviderConfiguration; import org.apache.maven.surefire.booter.BooterConstants; import org.apache.maven.surefire.booter.ClassLoaderConfiguration; +import org.apache.maven.surefire.booter.ProviderConfiguration; import org.apache.maven.surefire.booter.StartupConfiguration; import org.apache.maven.surefire.booter.SystemPropertyManager; import org.apache.maven.surefire.report.ReporterConfiguration; import org.apache.maven.surefire.testset.DirectoryScannerParameters; import org.apache.maven.surefire.testset.TestArtifactInfo; import org.apache.maven.surefire.testset.TestRequest; -import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -62,32 +60,30 @@ public class BooterSerializer } - public File serialize( Properties properties, ProviderConfiguration booterConfiguration, StartupConfiguration providerConfiguration, - Object testSet ) + public File serialize( Properties properties, ProviderConfiguration booterConfiguration, + StartupConfiguration providerConfiguration, Object testSet ) throws IOException { setForkProperties( properties, booterConfiguration, providerConfiguration, testSet ); - SystemPropertyManager systemPropertyManager = new SystemPropertyManager(); - return systemPropertyManager.writePropertiesFile( properties, forkConfiguration.getTempDirectory(), "surefire", + return SystemPropertyManager.writePropertiesFile( properties, forkConfiguration.getTempDirectory(), "surefire", forkConfiguration.isDebug() ); } - private void setForkProperties(Properties properties, ProviderConfiguration booterConfiguration, StartupConfiguration providerConfiguration, Object testSet) + private void setForkProperties( Properties properties, ProviderConfiguration booterConfiguration, + StartupConfiguration providerConfiguration, Object testSet ) { if ( properties == null ) { throw new IllegalStateException( "Properties cannot be null" ); } - addList( booterConfiguration.getReports(), properties, BooterConstants.REPORT_PROPERTY_PREFIX ); List params = new ArrayList(); - params.add( new Object[]{ BooterConstants.DIRSCANNER_OPTIONS, booterConfiguration.getDirScannerParamsArray() } ); + params.add( + new Object[]{ BooterConstants.DIRSCANNER_OPTIONS, booterConfiguration.getDirScannerParamsArray() } ); addPropertiesForTypeHolder( params, properties, BooterConstants.DIRSCANNER_PROPERTY_PREFIX ); providerConfiguration.getClasspathConfiguration().setForkProperties( properties ); - ReporterConfiguration reporterConfiguration = booterConfiguration.getReporterConfiguration(); - TestArtifactInfo testNg = booterConfiguration.getTestArtifact(); if ( testNg != null ) { @@ -136,38 +132,29 @@ public class BooterSerializer directoryScannerParameters.getTestClassesDirectory().toString() ); } + ReporterConfiguration reporterConfiguration = booterConfiguration.getReporterConfiguration(); + addList( reporterConfiguration.getReports(), properties, BooterConstants.REPORT_PROPERTY_PREFIX ); + Boolean rep = reporterConfiguration.isTrimStackTrace(); properties.setProperty( BooterConstants.ISTRIMSTACKTRACE, rep.toString() ); properties.setProperty( BooterConstants.REPORTSDIRECTORY, reporterConfiguration.getReportsDirectory().toString() ); - ClassLoaderConfiguration classLoaderConfiguration = this.forkConfiguration.getClassLoaderConfiguration(); + ClassLoaderConfiguration classLoaderConfiguration = providerConfiguration.getClassLoaderConfiguration(); properties.setProperty( BooterConstants.USESYSTEMCLASSLOADER, String.valueOf( classLoaderConfiguration.isUseSystemClassLoader() ) ); + // Note that using isManifestOnlyJarRequestedAndUsable has a really nasty code smell to it. + // Should probably be using the staright "isManifestOnlyJar" attribute. + // But this actually still does the correct thing as is. properties.setProperty( BooterConstants.USEMANIFESTONLYJAR, String.valueOf( classLoaderConfiguration.isManifestOnlyJarRequestedAndUsable() ) ); properties.setProperty( BooterConstants.FAILIFNOTESTS, String.valueOf( booterConfiguration.isFailIfNoTests() ) ); - properties.setProperty( BooterConstants.PROVIDER_CONFIGURATION, - providerConfiguration.getProviderClassName() ); + properties.setProperty( BooterConstants.PROVIDER_CONFIGURATION, providerConfiguration.getProviderClassName() ); } - void writePropertiesFile( File file, String name, Properties properties ) - throws IOException + private String getTypeEncoded( Object value ) { - FileOutputStream out = new FileOutputStream( file ); - - try - { - properties.store( out, name ); - } - finally - { - IOUtil.close( out ); - } - } - - private String getTypeEncoded(Object value){ return value.getClass().getName() + "|" + value.toString(); } Modified: maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java?rev=1043721&r1=1043720&r2=1043721&view=diff ============================================================================== --- maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java (original) +++ maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java Wed Dec 8 22:11:32 2010 @@ -58,10 +58,6 @@ public class ForkConfiguration private String forkMode; - private boolean useSystemClassLoader; - - private boolean useManifestOnlyJar; - private Properties systemProperties; private String jvmExecutable; @@ -88,11 +84,6 @@ public class ForkConfiguration return bootClasspathConfiguration; } - public ClassLoaderConfiguration getClassLoaderConfiguration() - { - return new ClassLoaderConfiguration( isUseSystemClassLoader(), isUseManifestOnlyJar() ); - } - public void setForkMode( String forkMode ) { if ( "pertest".equalsIgnoreCase( forkMode ) ) @@ -118,16 +109,6 @@ public class ForkConfiguration return !FORK_NEVER.equals( forkMode ); } - public void setUseSystemClassLoader( boolean useSystemClassLoader ) - { - this.useSystemClassLoader = useSystemClassLoader; - } - - public boolean isUseSystemClassLoader() - { - return useSystemClassLoader; - } - public void setSystemProperties( Properties systemProperties ) { this.systemProperties = (Properties) systemProperties.clone(); @@ -174,15 +155,16 @@ public class ForkConfiguration } /** - * @param classPath cla the classpath arguments + * @param classPath cla the classpath arguments + * @param classpathConfiguration the classpath configuration * @return A commandline * @throws org.apache.maven.surefire.booter.SurefireBooterForkException * when unable to perform the fork */ - public Commandline createCommandLine( List classPath ) + public Commandline createCommandLine( List classPath, ClassLoaderConfiguration classpathConfiguration ) throws SurefireBooterForkException { - return createCommandLine( classPath, isManifestOnlyJarRequestedAndUsable() ); + return createCommandLine( classPath, classpathConfiguration.isManifestOnlyJarRequestedAndUsable() ); } public Commandline createCommandLine( List classPath, boolean useJar ) @@ -300,21 +282,6 @@ public class ForkConfiguration return debug; } - public void setUseManifestOnlyJar( boolean useManifestOnlyJar ) - { - this.useManifestOnlyJar = useManifestOnlyJar; - } - - public boolean isUseManifestOnlyJar() - { - return useManifestOnlyJar; - } - - public boolean isManifestOnlyJarRequestedAndUsable() - { - return isUseSystemClassLoader() && isUseManifestOnlyJar(); - } - public String stripNewLines( String argline ) { return argline.replace( "\n", " " ).replace( "\r", " " ); 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=1043721&r1=1043720&r2=1043721&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 Wed Dec 8 22:11:32 2010 @@ -172,8 +172,7 @@ public class ForkStarter if ( forkConfiguration.getSystemProperties() != null ) { - SystemPropertyManager systemPropertyManager = new SystemPropertyManager(); - systemProperties = systemPropertyManager.writePropertiesFile( forkConfiguration.getSystemProperties(), + systemProperties = SystemPropertyManager.writePropertiesFile( forkConfiguration.getSystemProperties(), forkConfiguration.getTempDirectory(), "surefire", forkConfiguration.isDebug() ); } @@ -190,7 +189,8 @@ public class ForkStarter Classpath bootClasspath = bootClasspathConfiguration.append( additionlClassPathUrls ); - Commandline cli = forkConfiguration.createCommandLine( bootClasspath.getClassPath() ); + Commandline cli = forkConfiguration.createCommandLine( bootClasspath.getClassPath(), + startupConfiguration.getClassLoaderConfiguration() ); cli.createArg().setFile( surefireProperties ); Modified: maven/surefire/trunk/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerTest.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerTest.java?rev=1043721&r1=1043720&r2=1043721&view=diff ============================================================================== --- maven/surefire/trunk/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerTest.java (original) +++ maven/surefire/trunk/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerTest.java Wed Dec 8 22:11:32 2010 @@ -92,29 +92,33 @@ public class BooterDeserializerTest DirectoryScannerParameters directoryScannerParameters = getDirectoryScannerParameters(); ClassLoaderConfiguration forkConfiguration = getForkConfiguration(); List reports = new ArrayList(); - reports.add( "abc" ); - reports.add( "cde" ); - reports.add( "efg" ); + final String first = "abc"; + final String second = "cde"; + final String third = "efg"; + reports.add( first ); + reports.add( second ); + reports.add( third ); ProviderConfiguration booterConfiguration = getTestBooterConfiguration( forkConfiguration, directoryScannerParameters, reports ); - booterConfiguration.getReports().add( "abc" ); - booterConfiguration.getReports().add( "cde" ); - booterConfiguration.getReports().add( "efg" ); + final ReporterConfiguration reporterConfiguration = booterConfiguration.getReporterConfiguration(); + reporterConfiguration.getReports().add( first ); + reporterConfiguration.getReports().add( second ); + reporterConfiguration.getReports().add( third ); final StartupConfiguration testProviderConfiguration = getTestProviderConfiguration( forkConfiguration ); ProviderConfiguration reloaded = saveAndReload( booterConfiguration, testProviderConfiguration ); - Assert.assertEquals( "abc", reloaded.getReports().get( 0 ) ); - Assert.assertEquals( "cde", reloaded.getReports().get( 1 ) ); - Assert.assertEquals( "efg", reloaded.getReports().get( 2 ) ); + Assert.assertEquals( first, reloaded.getReporterConfiguration().getReports().get( 0 ) ); + Assert.assertEquals( second, reloaded.getReporterConfiguration().getReports().get( 1 ) ); + Assert.assertEquals( third, reloaded.getReporterConfiguration().getReports().get( 2 ) ); } - public void testTestNgArtifact() + public void testTestArtifact() throws IOException { - ProviderConfiguration reloaded = getReloladedConfig(); + ProviderConfiguration reloaded = getReloadedProviderConfiguration(); Assert.assertEquals( "5.0", reloaded.getTestArtifact().getVersion() ); Assert.assertEquals( "ABC", reloaded.getTestArtifact().getClassifier() ); @@ -123,7 +127,7 @@ public class BooterDeserializerTest public void testTestSuiteDefinition() throws IOException { - ProviderConfiguration reloaded = getReloladedConfig(); + ProviderConfiguration reloaded = getReloadedProviderConfiguration(); TestRequest testSuiteDefinition = reloaded.getTestSuiteDefinition(); File[] suiteXmlFiles = testSuiteDefinition.getSuiteXmlFiles(); @@ -140,19 +144,19 @@ public class BooterDeserializerTest public void testProvider() throws IOException { - assertEquals( "com.provider", getReloadedProviderConfiguration().getProviderClassName() ); + assertEquals( "com.provider", getReloadedStartupConfiguration().getProviderClassName() ); } public void testFailIfNoTests() throws IOException { - ProviderConfiguration reloaded = getReloladedConfig(); + ProviderConfiguration reloaded = getReloadedProviderConfiguration(); assertTrue( reloaded.isFailIfNoTests().booleanValue() ); } - private ProviderConfiguration getReloladedConfig() + private ProviderConfiguration getReloadedProviderConfiguration() throws IOException { DirectoryScannerParameters directoryScannerParameters = getDirectoryScannerParameters(); @@ -163,10 +167,9 @@ public class BooterDeserializerTest return saveAndReload( booterConfiguration, testProviderConfiguration ); } - private StartupConfiguration getReloadedProviderConfiguration() + private StartupConfiguration getReloadedStartupConfiguration() throws IOException { - DirectoryScannerParameters directoryScannerParameters = getDirectoryScannerParameters(); ClassLoaderConfiguration forkConfiguration = getForkConfiguration(); return getTestProviderConfiguration( forkConfiguration ); } @@ -211,7 +214,7 @@ public class BooterDeserializerTest new TestRequest( getSuiteXmlFileStrings(), getTEstSourceDirectory(), aUserRequestedTest ); StartupConfiguration surefireStarterConfiguration = getTestProviderConfiguration( classLoaderConfiguration ); - return new ProviderConfiguration( reports, directoryScannerParameters, true, reporterConfiguration, + return new ProviderConfiguration( directoryScannerParameters, true, reporterConfiguration, new TestArtifactInfo( "5.0", "ABC" ), testSuiteDefinition, new Properties(), aTest ); } Modified: maven/surefire/trunk/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java?rev=1043721&r1=1043720&r2=1043721&view=diff ============================================================================== --- maven/surefire/trunk/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java (original) +++ maven/surefire/trunk/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java Wed Dec 8 22:11:32 2010 @@ -39,12 +39,9 @@ public class ForkConfigurationTest ForkConfiguration config = getForkConfiguration(); File cpElement = getTempClasspathFile(); config.setForkMode( ForkConfiguration.FORK_ONCE ); - config.setUseSystemClassLoader( true ); - config.setUseSystemClassLoader( true ); config.setJvmExecutable( "java" ); - Commandline cli = config.createCommandLine( Collections.singletonList( cpElement.getAbsolutePath() ), - config.isUseSystemClassLoader() ); + Commandline cli = config.createCommandLine( Collections.singletonList( cpElement.getAbsolutePath() ), true ); String line = StringUtils.join( cli.getCommandline(), " " ); assertTrue( line.indexOf( "-jar" ) > -1 ); Modified: maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java?rev=1043721&r1=1043720&r2=1043721&view=diff ============================================================================== --- maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java (original) +++ maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java Wed Dec 8 22:11:32 2010 @@ -29,6 +29,7 @@ import org.apache.maven.plugin.MojoFailu import org.apache.maven.plugin.surefire.booterclient.ForkConfiguration; import org.apache.maven.plugin.surefire.booterclient.ForkStarter; import org.apache.maven.project.MavenProject; +import org.apache.maven.surefire.booter.ClassLoaderConfiguration; import org.apache.maven.surefire.booter.SurefireBooterForkException; import org.apache.maven.surefire.booter.SurefireExecutionException; import org.apache.maven.toolchain.ToolchainManager; @@ -577,7 +578,8 @@ public class SurefirePlugin { ProviderInfo provider = (ProviderInfo) iter.next(); forkConfiguration = getForkConfiguration(); - ForkStarter forkStarter = createForkStarter( provider, forkConfiguration ); + ClassLoaderConfiguration classLoaderConfiguration = getClassLoaderConfiguration( forkConfiguration ); + ForkStarter forkStarter = createForkStarter( provider, forkConfiguration, classLoaderConfiguration ); try { Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/suite/AbstractDirectoryTestSuite.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/suite/AbstractDirectoryTestSuite.java?rev=1043721&r1=1043720&r2=1043721&view=diff ============================================================================== --- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/suite/AbstractDirectoryTestSuite.java (original) +++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/suite/AbstractDirectoryTestSuite.java Wed Dec 8 22:11:32 2010 @@ -21,13 +21,13 @@ package org.apache.maven.surefire.suite; import org.apache.maven.surefire.NonAbstractClassFilter; import org.apache.maven.surefire.Surefire; -import org.apache.maven.surefire.report.ReporterManagerFactory; -import org.apache.maven.surefire.util.DefaultDirectoryScanner; import org.apache.maven.surefire.report.ReportEntry; import org.apache.maven.surefire.report.ReporterException; import org.apache.maven.surefire.report.ReporterManager; +import org.apache.maven.surefire.report.ReporterManagerFactory; import org.apache.maven.surefire.testset.SurefireTestSet; import org.apache.maven.surefire.testset.TestSetFailedException; +import org.apache.maven.surefire.util.DefaultDirectoryScanner; import org.apache.maven.surefire.util.DirectoryScanner; import java.io.File; @@ -73,7 +73,8 @@ public abstract class AbstractDirectoryT } testSets = new TreeMap(); - Class[] locatedClasses = surefireDirectoryScanner.locateTestClasses( classLoader, new NonAbstractClassFilter() ); + Class[] locatedClasses = + surefireDirectoryScanner.locateTestClasses( classLoader, new NonAbstractClassFilter() ); for ( int i = 0; i < locatedClasses.length; i++ ) { @@ -114,6 +115,7 @@ public abstract class AbstractDirectoryT executeTestSet( testSet, reporterManagerFactory, classLoader ); } + } private void executeTestSet( SurefireTestSet testSet, ReporterManagerFactory reporterManagerFactory, Modified: maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java?rev=1043721&r1=1043720&r2=1043721&view=diff ============================================================================== --- maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java (original) +++ maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java Wed Dec 8 22:11:32 2010 @@ -55,7 +55,9 @@ public class BooterDeserializer final PropertiesWrapper properties; - public BooterDeserializer(InputStream inputStream ) throws IOException { + public BooterDeserializer( InputStream inputStream ) + throws IOException + { properties = SystemPropertyManager.loadProperties( inputStream ); } @@ -155,9 +157,8 @@ public class BooterDeserializer ReporterConfiguration reporterConfiguration = new ReporterConfiguration( reports, reportsDirectory, valueOf( isTrimStackTrace ) ); - return new ProviderConfiguration(reports, dirScannerParams, failIfNotests, - reporterConfiguration, testNg, testSuiteDefinition, properties.getProperties(), - testForFork ); + return new ProviderConfiguration( dirScannerParams, failIfNotests, reporterConfiguration, testNg, + testSuiteDefinition, properties.getProperties(), testForFork ); } public StartupConfiguration getProviderConfiguration() @@ -210,7 +211,6 @@ public class BooterDeserializer } } - ClassLoaderConfiguration classLoaderConfiguration = new ClassLoaderConfiguration( useSystemClassLoader, useManifestOnlyJar ); Modified: maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProviderConfiguration.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProviderConfiguration.java?rev=1043721&r1=1043720&r2=1043721&view=diff ============================================================================== --- maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProviderConfiguration.java (original) +++ maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProviderConfiguration.java Wed Dec 8 22:11:32 2010 @@ -53,8 +53,6 @@ public class ProviderConfiguration private final ReporterConfiguration reporterConfiguration; - private final List reports; - private final TestArtifactInfo testArtifact; private final TestRequest testSuiteDefinition; @@ -65,10 +63,9 @@ public class ProviderConfiguration private final Object forkTestSet; - public ProviderConfiguration( List reports, DirectoryScannerParameters directoryScannerParameters, - boolean failIfNoTests, ReporterConfiguration reporterConfiguration, - TestArtifactInfo testArtifact, TestRequest testSuiteDefinition, - Properties providerProperties, Object forkTestSet ) + public ProviderConfiguration( DirectoryScannerParameters directoryScannerParameters, boolean failIfNoTests, + ReporterConfiguration reporterConfiguration, TestArtifactInfo testArtifact, + TestRequest testSuiteDefinition, Properties providerProperties, Object forkTestSet ) { this.providerProperties = providerProperties; this.reporterConfiguration = reporterConfiguration; @@ -76,7 +73,6 @@ public class ProviderConfiguration this.testSuiteDefinition = testSuiteDefinition; this.dirScannerParams = directoryScannerParameters; this.failIfNoTests = failIfNoTests; - this.reports = reports; this.forkTestSet = forkTestSet; } @@ -87,11 +83,6 @@ public class ProviderConfiguration } - public List getReports() - { - return reports; - } - public Boolean isFailIfNoTests() { return ( failIfNoTests ) ? Boolean.TRUE : Boolean.FALSE; Modified: maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/StartupConfiguration.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/StartupConfiguration.java?rev=1043721&r1=1043720&r2=1043721&view=diff ============================================================================== --- maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/StartupConfiguration.java (original) +++ maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/StartupConfiguration.java Wed Dec 8 22:11:32 2010 @@ -51,9 +51,12 @@ public class StartupConfiguration this.redirectTestOutputToFile = redirectTestOutputToFile; } - public static StartupConfiguration inForkedVm(String providerClassName, ClasspathConfiguration classpathConfiguration, - ClassLoaderConfiguration classLoaderConfiguration){ - return new StartupConfiguration( providerClassName, classpathConfiguration, classLoaderConfiguration, false, true, false ); + public static StartupConfiguration inForkedVm( String providerClassName, + ClasspathConfiguration classpathConfiguration, + ClassLoaderConfiguration classLoaderConfiguration ) + { + return new StartupConfiguration( providerClassName, classpathConfiguration, classLoaderConfiguration, false, + true, false ); } public ClasspathConfiguration getClasspathConfiguration() @@ -82,4 +85,8 @@ public class StartupConfiguration return providerClassName; } + public ClassLoaderConfiguration getClassLoaderConfiguration() + { + return classLoaderConfiguration; + } }