Author: dfabulich Date: Fri Nov 23 22:20:52 2007 New Revision: 597815 URL: http://svn.apache.org/viewvc?rev=597815&view=rev Log: [SUREFIRE-164] "wrong" classpath appears in <properties> at top of XML report. Adding a surefire.test.class.path property that includes exactly the URLs we want. Adding URLs back into the property file for useSystemClassLoader.
Modified: maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java Modified: maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java?rev=597815&r1=597814&r2=597815&view=diff ============================================================================== --- maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java (original) +++ maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java Fri Nov 23 22:20:52 2007 @@ -301,6 +301,8 @@ ClassLoader testsClassLoader = useSystemClassLoader() ? getClass().getClassLoader() // ClassLoader.getSystemClassLoader() : createClassLoader( classPathUrls, null, childDelegation ); + recordTestClassPath(); + ClassLoader surefireClassLoader = createClassLoader( surefireClassPathUrls, testsClassLoader ); Class surefireClass = surefireClassLoader.loadClass( Surefire.class.getName() ); @@ -333,6 +335,17 @@ } } + + + private void recordTestClassPath() + { + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < classPathUrls.size(); i++) { + sb.append( classPathUrls.get( i ) ).append( File.pathSeparatorChar ); + } + System.setProperty( "surefire.test.class.path", sb.toString() ); + } + private boolean runSuitesForkOnce() throws SurefireBooterForkException { @@ -455,7 +468,7 @@ addPropertiesForTypeHolder( reports, properties, REPORT_PROPERTY_PREFIX ); addPropertiesForTypeHolder( testSuites, properties, TEST_SUITE_PROPERTY_PREFIX ); - for ( int i = 0; i < classPathUrls.size() && !useSystemClassLoader(); i++ ) + for ( int i = 0; i < classPathUrls.size(); i++ ) { String url = (String) classPathUrls.get( i ); properties.setProperty( "classPathUrl." + i, url );