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 kr...@apache.org on 2011/04/11 15:05:39 UTC
svn commit: r1091058 -
/maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
Author: krosenvold
Date: Mon Apr 11 13:05:39 2011
New Revision: 1091058
URL: http://svn.apache.org/viewvc?rev=1091058&view=rev
Log:
[SUREFIRE-715] Fixed NPE when workingDirectory is null
Modified:
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
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=1091058&r1=1091057&r2=1091058&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 Mon Apr 11 13:05:39 2011
@@ -19,6 +19,17 @@ package org.apache.maven.plugin.surefire
* under the License.
*/
+import java.io.File;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DependencyResolutionRequiredException;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
@@ -58,18 +69,6 @@ import org.apache.maven.surefire.util.Re
import org.apache.maven.toolchain.Toolchain;
import org.codehaus.plexus.util.StringUtils;
-import java.io.File;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
/**
* Abstract base class for running tests using Surefire.
*
@@ -293,7 +292,8 @@ public abstract class AbstractSurefireMo
TestArtifactInfo testNg =
isTestNg ? new TestArtifactInfo( testNgArtifact.getVersion(), testNgArtifact.getClassifier() ) : null;
List testXml = getSuiteXmlFiles() != null ? Arrays.asList( getSuiteXmlFiles() ) : null;
- TestRequest testSuiteDefinition = new TestRequest( testXml, getTestSourceDirectory(), getTest(), getTestMethod() );
+ TestRequest testSuiteDefinition =
+ new TestRequest( testXml, getTestSourceDirectory(), getTest(), getTestMethod() );
final boolean failIfNoTests;
if ( isValidSuiteXmlFileConfig() && getTest() == null )
@@ -365,10 +365,11 @@ public abstract class AbstractSurefireMo
final Classpath providerClasspath = provider.getProviderClasspath();
final Classpath testClasspath = generateTestClasspath();
- logClasspath( testClasspath, "test classpath" );
- logClasspath( testClasspath, "provider classpath" );
- final ClasspathConfiguration classpathConfiguration =new ClasspathConfiguration( testClasspath, providerClasspath,
- isEnableAssertions(), isChildDelegation() );
+ logClasspath( testClasspath, "test classpath" );
+ logClasspath( testClasspath, "provider classpath" );
+ final ClasspathConfiguration classpathConfiguration =
+ new ClasspathConfiguration( testClasspath, providerClasspath, isEnableAssertions(),
+ isChildDelegation() );
return new StartupConfiguration( providerName, classpathConfiguration, classLoaderConfiguration,
forkConfiguration.isForking(), false, isRedirectTestOutputToFile() );
@@ -624,9 +625,10 @@ public abstract class AbstractSurefireMo
{
String key = (String) iter.next();
- if ("java.library.path".equals( key ))
+ if ( "java.library.path".equals( key ) )
{
- getLog().warn( "java.library.path cannot be set as system property, use <argLine>-Djava.library.path=...<argLine> instead");
+ getLog().warn(
+ "java.library.path cannot be set as system property, use <argLine>-Djava.library.path=...<argLine> instead" );
}
}
}
@@ -729,12 +731,13 @@ public abstract class AbstractSurefireMo
*
* @return List containing the classpath elements
* @throws org.apache.maven.artifact.DependencyResolutionRequiredException
- * when dependency resolution fails
+ * when dependency resolution fails
* @throws org.apache.maven.plugin.MojoExecutionException
- * upon other problems
- * @throws InvalidVersionSpecificationException when it happens
- * @throws MojoFailureException when it happens
- * @throws ArtifactNotFoundException when it happens
+ * upon other problems
+ * @throws InvalidVersionSpecificationException
+ * when it happens
+ * @throws MojoFailureException when it happens
+ * @throws ArtifactNotFoundException when it happens
* @throws ArtifactResolutionException when it happens
*/
public Classpath generateTestClasspath()
@@ -780,12 +783,13 @@ public abstract class AbstractSurefireMo
for ( Iterator iter = getAdditionalClasspathElements().iterator(); iter.hasNext(); )
{
String classpathElement = (String) iter.next();
- if (classpathElement != null){
+ if ( classpathElement != null )
+ {
classpath.add( classpathElement );
}
}
}
-
+
// adding TestNG MethodSelector to the classpath
// Todo: move
if ( getTestNgArtifact() != null )
@@ -796,13 +800,14 @@ public abstract class AbstractSurefireMo
}
- return new Classpath(classpath);
+ return new Classpath( classpath );
}
-
+
protected Artifact getTestNgUtilsArtifact()
throws ArtifactResolutionException, ArtifactNotFoundException
{
- Artifact surefireArtifact = (Artifact) getPluginArtifactMap().get( "org.apache.maven.surefire:surefire-booter" );
+ Artifact surefireArtifact =
+ (Artifact) getPluginArtifactMap().get( "org.apache.maven.surefire:surefire-booter" );
String surefireVersion = surefireArtifact.getBaseVersion();
Artifact testNgUtils =
getArtifactFactory().createArtifact( "org.apache.maven.surefire", "surefire-testng-utils", surefireVersion,
@@ -811,7 +816,7 @@ public abstract class AbstractSurefireMo
getArtifactResolver().resolve( testNgUtils, getRemoteRepositories(), getLocalRepository() );
return testNgUtils;
}
-
+
/**
* Return a new set containing only the artifacts accepted by the given filter.
*
@@ -1051,6 +1056,11 @@ public abstract class AbstractSurefireMo
protected void ensureWorkingDirectoryExists()
throws MojoFailureException
{
+ if ( getWorkingDirectory() == null )
+ {
+ throw new MojoFailureException( "workingDirectory cannot be null" );
+ }
+
if ( !getWorkingDirectory().exists() )
{
if ( !getWorkingDirectory().mkdirs() )