Author: brett
Date: Fri Mar 3 19:57:53 2006
New Revision: 383017
URL: http://svn.apache.org/viewcvs?rev=383017&view=rev
Log:
[MSUREFIRE-48] enable assertions always
Modified:
maven/surefire/branches/surefire-testng/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkConfiguration.java
maven/surefire/branches/surefire-testng/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java
Modified:
maven/surefire/branches/surefire-testng/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkConfiguration.java
URL:
http://svn.apache.org/viewcvs/maven/surefire/branches/surefire-testng/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkConfiguration.java?rev=383017&r1=383016&r2=383017&view=diff
==============================================================================
---
maven/surefire/branches/surefire-testng/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkConfiguration.java
(original)
+++
maven/surefire/branches/surefire-testng/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkConfiguration.java
Fri Mar 3 19:57:53 2006
@@ -142,6 +142,7 @@
}
}
+ // TODO: This shouldn't be required. See SurefireBooter,
createClassLoader where assertion status should be set
cli.createArgument().setValue( "-ea" );
cli.createArgument().setValue( "-classpath" );
Modified:
maven/surefire/branches/surefire-testng/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java
URL:
http://svn.apache.org/viewcvs/maven/surefire/branches/surefire-testng/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java?rev=383017&r1=383016&r2=383017&view=diff
==============================================================================
---
maven/surefire/branches/surefire-testng/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java
(original)
+++
maven/surefire/branches/surefire-testng/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java
Fri Mar 3 19:57:53 2006
@@ -34,7 +34,6 @@
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
-import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
@@ -141,9 +140,11 @@
//noinspection CatchGenericClass,OverlyBroadCatchBlock
try
{
- ClassLoader surefireClassLoader = createClassLoader(
surefireClassPathUrls, getClass().getClassLoader() );
+ // TODO: assertions = true shouldn't be required if we had proper
separation (see TestNG)
+ ClassLoader surefireClassLoader =
+ createClassLoader( surefireClassPathUrls,
getClass().getClassLoader(), true );
- ClassLoader testsClassLoader = createClassLoader( classPathUrls,
childDelegation );
+ ClassLoader testsClassLoader = createClassLoader( classPathUrls,
childDelegation, true );
Class surefireClass = surefireClassLoader.loadClass(
Surefire.class.getName() );
@@ -181,9 +182,10 @@
//noinspection CatchGenericClass,OverlyBroadCatchBlock
try
{
- ClassLoader surefireClassLoader = createClassLoader(
surefireClassPathUrls, getClass().getClassLoader() );
+ ClassLoader surefireClassLoader =
+ createClassLoader( surefireClassPathUrls,
getClass().getClassLoader(), true );
- ClassLoader testsClassLoader = createClassLoader( classPathUrls,
childDelegation );
+ ClassLoader testsClassLoader = createClassLoader( classPathUrls,
childDelegation, true );
Class surefireClass = surefireClassLoader.loadClass(
Surefire.class.getName() );
@@ -226,8 +228,9 @@
ClassLoader surefireClassLoader;
try
{
- testsClassLoader = createClassLoader( classPathUrls, false );
- surefireClassLoader = createClassLoader( surefireClassPathUrls,
false );
+ testsClassLoader = createClassLoader( classPathUrls, false, true );
+ // TODO: assertions = true shouldn't be required if we had proper
separation (see TestNG)
+ surefireClassLoader = createClassLoader( surefireClassPathUrls,
false, true );
}
catch ( MalformedURLException e )
{
@@ -450,19 +453,22 @@
return returnCode == 0;
}
- private static ClassLoader createClassLoader( List classPathUrls,
ClassLoader parent )
+ private static ClassLoader createClassLoader( List classPathUrls,
ClassLoader parent, boolean assertionsEnabled )
throws MalformedURLException
{
- return createClassLoader( classPathUrls, parent, false );
+ return createClassLoader( classPathUrls, parent, false,
assertionsEnabled );
}
- private static ClassLoader createClassLoader( List classPathUrls, boolean
childDelegation )
+ private static ClassLoader createClassLoader( List classPathUrls, boolean
childDelegation,
+ boolean assertionsEnabled )
throws MalformedURLException
{
- return createClassLoader( classPathUrls,
ClassLoader.getSystemClassLoader(), childDelegation );
+ return createClassLoader( classPathUrls,
ClassLoader.getSystemClassLoader(), childDelegation,
+ assertionsEnabled );
}
- private static ClassLoader createClassLoader( List classPathUrls,
ClassLoader parent, boolean childDelegation )
+ private static ClassLoader createClassLoader( List classPathUrls,
ClassLoader parent, boolean childDelegation,
+ boolean assertionsEnabled )
throws MalformedURLException
{
List urls = new ArrayList();
@@ -478,25 +484,18 @@
}
}
- ClassLoader classLoader;
- if ( childDelegation )
+ IsolatedClassLoader classLoader = new IsolatedClassLoader( parent,
childDelegation );
+ // TODO: for some reason, this doesn't work when forked. -ea is added
to the command line as a workaround
+ // in forkConfiguration
+ classLoader.setDefaultAssertionStatus( assertionsEnabled );
+ for ( Iterator iter = urls.iterator(); iter.hasNext(); )
{
- IsolatedClassLoader isolatedClassLoader = new IsolatedClassLoader(
parent, true );
- for ( Iterator iter = urls.iterator(); iter.hasNext(); )
- {
- URL url = (URL) iter.next();
- isolatedClassLoader.addURL( url );
- }
- classLoader = isolatedClassLoader;
- }
- else
- {
- URL[] u = new URL[urls.size()];
- urls.toArray( u );
- classLoader = new URLClassLoader( u, parent );
+ URL url = (URL) iter.next();
+ classLoader.addURL( url );
}
return classLoader;
}
+
private static List processStringList( String stringList )
{