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 jv...@apache.org on 2005/12/22 22:20:39 UTC
svn commit: r358633 - in /maven/surefire/trunk: surefire-booter/
surefire-booter/src/main/java/org/apache/maven/surefire/
surefire/src/main/java/org/apache/maven/surefire/
surefire/src/main/java/org/apache/maven/surefire/battery/
Author: jvanzyl
Date: Thu Dec 22 13:20:14 2005
New Revision: 358633
URL: http://svn.apache.org/viewcvs?rev=358633&view=rev
Log:
PR: MSUREFIRE-20
URL: http://jira.codehaus.org/browse/MSUREFIRE-20
Summary: forkMode=pertest fails to call setUp
Reporter: Matt Brozowski
Added:
maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/SurefireUtils.java (with props)
Modified:
maven/surefire/trunk/surefire-booter/pom.xml
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java
maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/Surefire.java
maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/battery/JUnitBattery.java
maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/battery/SingleTestBattery.java
Modified: maven/surefire/trunk/surefire-booter/pom.xml
URL: http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire-booter/pom.xml?rev=358633&r1=358632&r2=358633&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-booter/pom.xml (original)
+++ maven/surefire/trunk/surefire-booter/pom.xml Thu Dec 22 13:20:14 2005
@@ -7,7 +7,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>surefire-booter</artifactId>
<name>SureFire Booter</name>
- <version>1.6-SNAPSHOT</version>
+ <version>1.5.2-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -18,7 +18,7 @@
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire</artifactId>
- <version>1.5</version>
+ <version>1.5.2-SNAPSHOT</version>
</dependency>
</dependencies>
-</project>
\ No newline at end of file
+</project>
Modified: maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java
URL: http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java?rev=358633&r1=358632&r2=358633&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java (original)
+++ maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java Thu Dec 22 13:20:14 2005
@@ -52,7 +52,7 @@
private static String BATTERY_EXECUTOR = "org.apache.maven.surefire.Surefire";
- private static String SINGLE_TEST_BATTERY = "org.apache.maven.surefire.battery.SingleTestBattery";
+ private static String SINGLE_TEST_BATTERY = "org.apache.maven.surefire.battery.JUnitBattery";
private List batteries = new ArrayList();
@@ -355,7 +355,6 @@
private List getTestClasses()
throws Exception
{
-
IsolatedClassLoader classLoader = createClassLoader();
List instantiatedBatteries = Surefire.instantiateBatteries( batteries, classLoader );
@@ -388,6 +387,8 @@
private void getForkPerTestArgs( String testClass )
throws Exception
{
+ //System.out.println( "SINGLE_TEST_BATTERY = " + SINGLE_TEST_BATTERY );
+
getForkArgs( SINGLE_TEST_BATTERY + "|" + testClass );
}
Modified: maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/Surefire.java
URL: http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/Surefire.java?rev=358633&r1=358632&r2=358633&view=diff
==============================================================================
--- maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/Surefire.java (original)
+++ maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/Surefire.java Thu Dec 22 13:20:14 2005
@@ -17,14 +17,11 @@
*/
import org.apache.maven.surefire.battery.Battery;
-import org.apache.maven.surefire.battery.JUnitBattery;
import org.apache.maven.surefire.battery.assertion.BatteryTestFailedException;
import org.apache.maven.surefire.report.ReportEntry;
import org.apache.maven.surefire.report.Reporter;
import org.apache.maven.surefire.report.ReporterManager;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -262,56 +259,14 @@
{
Object[] holder = (Object[]) batteryHolders.get( i );
- Class testClass;
+ Object battery = SurefireUtils.instantiateBattery( holder, loader );
- Class batteryClass;
+ System.out.println( "battery = " + battery );
- try
- {
- testClass = loader.loadClass( (String) holder[0] );
-
- batteryClass = loader.loadClass( "org.apache.maven.surefire.battery.Battery" );
- }
- catch ( Exception e )
- {
- continue;
- }
-
- if ( Modifier.isAbstract( testClass.getModifiers() ) )
+ if ( battery != null )
{
- continue;
+ batteries.add( battery );
}
-
- Object battery = null;
-
- if ( batteryClass.isAssignableFrom( testClass ) )
- {
- if ( holder[1] != null )
- {
- Object[] params = (Object[]) holder[1];
-
- Class[] paramTypes = new Class[params.length];
-
- for ( int j = 0; j < params.length; j++ )
- {
- paramTypes[j] = params[j].getClass();
- }
-
- Constructor constructor = testClass.getConstructor( paramTypes );
-
- battery = constructor.newInstance( params );
- }
- else
- {
- battery = testClass.newInstance();
- }
- }
- else
- {
- battery = new JUnitBattery( testClass, loader );
- }
-
- batteries.add( battery );
}
return batteries;
Added: maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/SurefireUtils.java
URL: http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/SurefireUtils.java?rev=358633&view=auto
==============================================================================
--- maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/SurefireUtils.java (added)
+++ maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/SurefireUtils.java Thu Dec 22 13:20:14 2005
@@ -0,0 +1,68 @@
+package org.apache.maven.surefire;
+
+import org.apache.maven.surefire.battery.JUnitBattery;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Modifier;
+
+/**
+ * @author Jason van Zyl
+ * @version $Id:$
+ */
+public class SurefireUtils
+{
+ public static Object instantiateBattery( Object[] holder, ClassLoader loader )
+ throws Exception
+ {
+ Class testClass;
+
+ Class batteryClass;
+
+ try
+ {
+ testClass = loader.loadClass( (String) holder[0] );
+
+ batteryClass = loader.loadClass( "org.apache.maven.surefire.battery.Battery" );
+ }
+ catch ( Exception e )
+ {
+ return null;
+ }
+
+ if ( Modifier.isAbstract( testClass.getModifiers() ) )
+ {
+ return null;
+ }
+
+ Object battery = null;
+
+ if ( batteryClass.isAssignableFrom( testClass ) )
+ {
+ if ( holder[1] != null )
+ {
+ Object[] params = (Object[]) holder[1];
+
+ Class[] paramTypes = new Class[params.length];
+
+ for ( int j = 0; j < params.length; j++ )
+ {
+ paramTypes[j] = params[j].getClass();
+ }
+
+ Constructor constructor = testClass.getConstructor( paramTypes );
+
+ battery = constructor.newInstance( params );
+ }
+ else
+ {
+ battery = testClass.newInstance();
+ }
+ }
+ else
+ {
+ battery = new JUnitBattery( testClass, loader );
+ }
+
+ return battery;
+ }
+}
Propchange: maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/SurefireUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/SurefireUtils.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/battery/JUnitBattery.java
URL: http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/battery/JUnitBattery.java?rev=358633&r1=358632&r2=358633&view=diff
==============================================================================
--- maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/battery/JUnitBattery.java (original)
+++ maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/battery/JUnitBattery.java Thu Dec 22 13:20:14 2005
@@ -63,13 +63,25 @@
private Method runMethod;
+ public JUnitBattery( String testClassName )
+ throws Exception
+ {
+ processTestClass( getClass().getClassLoader().loadClass( testClassName ), getClass().getClassLoader() );
+ }
+
public JUnitBattery( final String testClass, ClassLoader loader )
throws Exception
{
- this( loader.loadClass( testClass ), loader );
+ processTestClass( loader.loadClass( testClass ), loader );
}
public JUnitBattery( final Class testClass, ClassLoader loader )
+ throws Exception
+ {
+ processTestClass( testClass, loader );
+ }
+
+ public void processTestClass( final Class testClass, ClassLoader loader )
throws Exception
{
if ( testClass == null )
Modified: maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/battery/SingleTestBattery.java
URL: http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/battery/SingleTestBattery.java?rev=358633&r1=358632&r2=358633&view=diff
==============================================================================
--- maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/battery/SingleTestBattery.java (original)
+++ maven/surefire/trunk/surefire/src/main/java/org/apache/maven/surefire/battery/SingleTestBattery.java Thu Dec 22 13:20:14 2005
@@ -17,7 +17,7 @@
*/
/**
- * A battery which contains a single test class which is used primarily for running individual tests
+ * A battery which contains a single testObject class which is used primarily for running individual tests
* inside a new JVM instance (fork mode).
*
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -30,7 +30,7 @@
private Class testClass;
- private Object test;
+ private Object testObject;
public SingleTestBattery( String testClassName )
throws Exception
@@ -39,7 +39,7 @@
this.testClass = getClass().getClassLoader().loadClass( testClassName );
- this.test = testClass.newInstance();
+ this.testObject = testClass.newInstance();
}
protected Class getTestClass()
@@ -49,7 +49,7 @@
protected Object getTestClassInstance()
{
- return test;
+ return testObject;
}
public String getBatteryName()