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 pg...@apache.org on 2010/05/18 00:12:31 UTC

svn commit: r945404 - 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-plugin/src/main/java/org/apache/maven/plugin/sure...

Author: pgier
Date: Mon May 17 22:12:30 2010
New Revision: 945404

URL: http://svn.apache.org/viewvc?rev=945404&view=rev
Log:
[SUREFIRE-576, SUREFIRE-598] Allow users to exclude certain dependencies from the test classpath.

Added:
    maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ClasspathFilteringIT.java   (with props)
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/pom.xml   (with props)
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/java/
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java   (with props)
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/SurefireExecutionParameters.java
    maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
    maven/surefire/trunk/maven-surefire-plugin/src/site/apt/examples/configuring-classpath.apt.vm

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=945404&r1=945403&r2=945404&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 Mon May 17 22:12:30 2010
@@ -134,23 +134,32 @@ public class IntegrationTestMojo
     private MavenProject project;
 
     /**
-     * the classpath elements to be excluded from classpath
-     * while executing tests. Permitted values are none, runtime
-     * and all. Meaning of values is:
+     * List of dependencies to exclude from the test classpath.
+     * Each dependency string must follow the format <i>groupId:artifactId</i>.
+     * For example: <i>org.acme:project-a</i>
+     * 
+     *  @parameter
+     *  @since 2.6
+     */
+    private List classpathDependencyExcludes;
+    
+    /**
+     * A dependency scope to exclude from the test classpath
+     * The scope should be one of the scopes defined by org.apache.maven.artifact.Artifact.
+     * This includes the following
+     * 
      * <ul>
-     * <li><i>none</i> - test classpath is not modified (the default)
-     * <li><i>runtime</i> - runtime classpath elements are removed from the classpath
-     * <li><i>all</i> - all default test classpath elements are removed from the classpath
+     * <li><i>compile</i> - system, provided, compile
+     * <li><i>runtime</i> - compile, runtime
+     * <li><i>compile+runtime</i> - system, provided, compile, runtime
+     * <li><i>runtime+system</i> - system, compile, runtime
+     * <li><i>test</i> - system, provided, compile, runtime, test
      * </ul>
-     * This feature is useful for overriding test classpath to
-     * test the project working with a particular set of libraries.
-     * For example with these shipped with a bigger project that
-     * includes the one under tests.
-     *
-     * @parameter expression="${maven.test.classpath.ignore}" default-value="none"
+     * 
+     * @parameter default-value=""
      * @since 2.6
      */
-    private String ignoreClasspathElements;
+    private String classpathDependencyScopeExclude;
 
     /**
      * Additional elements to be appended to the classpath.
@@ -784,14 +793,24 @@ public class IntegrationTestMojo
         this.project = project;
     }
 
-    public String getIgnoreClasspathElements()
+    public List getClasspathDependencyExcludes()
+    {
+        return classpathDependencyExcludes;
+    }
+
+    public void setClasspathDependencyExcludes( List classpathDependencyExcludes )
+    {
+        this.classpathDependencyExcludes = classpathDependencyExcludes;
+    }
+
+    public String getClasspathDependencyScopeExclude()
     {
-        return ignoreClasspathElements;
+        return classpathDependencyScopeExclude;
     }
 
-    public void setIgnoreClasspathElements( String ignoreClasspathElements )
+    public void setClasspathDependencyScopeExclude( String classpathDependencyScopeExclude )
     {
-        this.ignoreClasspathElements = ignoreClasspathElements;
+        this.classpathDependencyScopeExclude = classpathDependencyScopeExclude;
     }
 
     public List getAdditionalClasspathElements()

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=945404&r1=945403&r2=945404&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 May 17 22:12:30 2010
@@ -7,6 +7,7 @@ import org.apache.maven.artifact.resolve
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
@@ -32,9 +33,11 @@ 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.
@@ -519,7 +522,21 @@ public abstract class AbstractSurefireMo
 
         classpath.add( getClassesDirectory().getAbsolutePath() );
 
-        for ( Iterator iter = getProject().getArtifacts().iterator(); iter.hasNext(); )
+        Set classpathArtifacts = getProject().getArtifacts();
+
+        if ( getClasspathDependencyScopeExclude() != null && !getClasspathDependencyScopeExclude().equals( "" ) )
+        {
+            ArtifactFilter dependencyFilter = new ScopeArtifactFilter( getClasspathDependencyScopeExclude() );
+            classpathArtifacts = this.filterArtifacts( classpathArtifacts, dependencyFilter );
+        }
+
+        if ( getClasspathDependencyExcludes() != null )
+        {
+            ArtifactFilter dependencyFilter = new ExcludesArtifactFilter( getClasspathDependencyExcludes() );
+            classpathArtifacts = this.filterArtifacts( classpathArtifacts, dependencyFilter );
+        }
+
+        for ( Iterator iter = classpathArtifacts.iterator(); iter.hasNext(); )
         {
             Artifact artifact = (Artifact) iter.next();
             if ( artifact.getArtifactHandler().isAddedToClasspath() )
@@ -532,21 +549,6 @@ public abstract class AbstractSurefireMo
             }
         }
 
-        // Remove elements from the classpath according to configuration
-        if ( getIgnoreClasspathElements().equals( "all" ) )
-        {
-            classpath.clear();
-        }
-        else if ( getIgnoreClasspathElements().equals( "runtime" ) )
-        {
-            classpath.removeAll( getProject().getRuntimeClasspathElements() );
-        }
-        else if ( !getIgnoreClasspathElements().equals( "none" ) )
-        {
-            throw new MojoExecutionException( "Unsupported value for ignoreClasspathElements parameter: " +
-                getIgnoreClasspathElements() );
-        }
-
         // Add additional configured elements to the classpath
         if ( getAdditionalClasspathElements() != null )
         {
@@ -560,6 +562,28 @@ public abstract class AbstractSurefireMo
         return classpath;
     }
 
+    /**
+     * Return a new set containing only the artifacts accepted by the given filter.
+     * 
+     * @param artifacts
+     * @param filter
+     */
+    private Set filterArtifacts( Set artifacts, ArtifactFilter filter )
+    {
+        Set filteredArtifacts = new LinkedHashSet();
+
+        for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
+        {
+            Artifact artifact = (Artifact) iter.next();
+            if ( filter.include( artifact ) )
+            {
+                filteredArtifacts.add( artifact );
+            }
+        }
+
+        return filteredArtifacts;
+    }
+
     private void showMap( Map map, String setting )
     {
         for ( Iterator i = map.keySet().iterator(); i.hasNext(); )

Modified: maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireExecutionParameters.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireExecutionParameters.java?rev=945404&r1=945403&r2=945404&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireExecutionParameters.java (original)
+++ maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireExecutionParameters.java Mon May 17 22:12:30 2010
@@ -48,9 +48,13 @@ public interface SurefireExecutionParame
 
     void setProject( MavenProject project );
 
-    String getIgnoreClasspathElements();
+    List getClasspathDependencyExcludes();
 
-    void setIgnoreClasspathElements( String ignoreClasspathElements );
+    void setClasspathDependencyExcludes( List classpathDependencyExcludes );
+
+    String getClasspathDependencyScopeExclude();
+
+    void setClasspathDependencyScopeExclude( String classpathDependencyScopeExclude );
 
     List getAdditionalClasspathElements();
 

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=945404&r1=945403&r2=945404&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 Mon May 17 22:12:30 2010
@@ -122,24 +122,33 @@ public class SurefirePlugin
     private MavenProject project;
 
     /**
-     * the classpath elements to be excluded from classpath
-     * while executing tests. Permitted values are none, runtime
-     * and all. Meaning of values is:
+     * List of dependencies to exclude from the test classpath.
+     * Each dependency string must follow the format <i>groupId:artifactId</i>.
+     * For example: <i>org.acme:project-a</i>
+     * 
+     *  @parameter
+     *  @since 2.6
+     */
+    private List classpathDependencyExcludes;
+    
+    /**
+     * A dependency scope to exclude from the test classpath
+     * The scope should be one of the scopes defined by org.apache.maven.artifact.Artifact.
+     * This includes the following
+     * 
      * <ul>
-     * <li><i>none</i> - test classpath is not modified (the default)
-     * <li><i>runtime</i> - runtime classpath elements are removed from the classpath
-     * <li><i>all</i> - all default test classpath elements are removed from the classpath
+     * <li><i>compile</i> - system, provided, compile
+     * <li><i>runtime</i> - compile, runtime
+     * <li><i>compile+runtime</i> - system, provided, compile, runtime
+     * <li><i>runtime+system</i> - system, compile, runtime
+     * <li><i>test</i> - system, provided, compile, runtime, test
      * </ul>
-     * This feature is useful for overriding test classpath to
-     * test the project working with a particular set of libraries.
-     * For example with these shipped with a bigger project that
-     * includes the one under tests.
-     *
-     * @parameter expression="${maven.test.classpath.ignore}" default-value="none"
+     * 
+     * @parameter default-value=""
      * @since 2.6
      */
-    private String ignoreClasspathElements;
-
+    private String classpathDependencyScopeExclude;
+    
     /**
      * Additional elements to be appended to the classpath.
      *
@@ -715,14 +724,24 @@ public class SurefirePlugin
         this.project = project;
     }
 
-    public String getIgnoreClasspathElements()
+    public List getClasspathDependencyExcludes()
+    {
+        return classpathDependencyExcludes;
+    }
+
+    public void setClasspathDependencyExcludes( List classpathDependencyExcludes )
+    {
+        this.classpathDependencyExcludes = classpathDependencyExcludes;
+    }
+
+    public String getClasspathDependencyScopeExclude()
     {
-        return ignoreClasspathElements;
+        return classpathDependencyScopeExclude;
     }
 
-    public void setIgnoreClasspathElements( String ignoreClasspathElements )
+    public void setClasspathDependencyScopeExclude( String classpathDependencyScopeExclude )
     {
-        this.ignoreClasspathElements = ignoreClasspathElements;
+        this.classpathDependencyScopeExclude = classpathDependencyScopeExclude;
     }
 
     public List getAdditionalClasspathElements()

Modified: maven/surefire/trunk/maven-surefire-plugin/src/site/apt/examples/configuring-classpath.apt.vm
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-plugin/src/site/apt/examples/configuring-classpath.apt.vm?rev=945404&r1=945403&r2=945404&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-plugin/src/site/apt/examples/configuring-classpath.apt.vm (original)
+++ maven/surefire/trunk/maven-surefire-plugin/src/site/apt/examples/configuring-classpath.apt.vm Mon May 17 22:12:30 2010
@@ -17,7 +17,7 @@ The Default Classpath
   [[3]] The project dependencies
   
   [[4]] Additional classpath elements
-  
+
 Additional Classpath Elements
 
   If you need to put more stuff in your classpath when Surefire executes (e.g some funky resources or a container specific JAR),
@@ -50,3 +50,63 @@ Additional Classpath Elements
   [...]
 </project>
 +---+
+
+Removing Dependency Classpath Elements
+
+  Dependencies can be removed from the test classpath using the parameters <<<classpathDependencyExcludes>>> and
+  <<<classpathDependencyScopeExclude>>>.  A list of specific dependencies can be removed from the 
+  classpath by specifying the groupId:artifactId to be removed.
+
++---+
+<project>
+  [...]
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${project.version}</version>
+        <configuration>
+          <classpathDependencyExcludes>
+            <classpathDependencyExcludes>org.apache.commons:commons-email</classpathDependencyExcludes>
+          </classpathDependencyExcludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  [...]
+</project>
++---+
+
+  Dependencies under a certain scope can be removed from the classpath using 
+  <<<classpathDependencyScopeExclude>>>.  The valid values for the dependency scope 
+  exclude are defined by <<<org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter>>>.
+  
+  * <<compile>> - system, provided, compile
+  
+  * <<runtime>> - compile, runtime
+  
+  * <<compile+runtime>> - system, provided, compile, runtime
+  
+  * <<runtime+system>> - system, compile, runtime
+  
+  * <<test>> - system, provided, compile, runtime, test
+
++---+
+<project>
+  [...]
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${project.version}</version>
+        <configuration>
+          <classpathDependencyScopeExclude>runtime</classpathDependencyScopeExclude>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  [...]
+</project>
++---+

Added: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ClasspathFilteringIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ClasspathFilteringIT.java?rev=945404&view=auto
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ClasspathFilteringIT.java (added)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ClasspathFilteringIT.java Mon May 17 22:12:30 2010
@@ -0,0 +1,47 @@
+package org.apache.maven.surefire.its;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+/**
+ * Test additionalClasspathElements
+ *
+ * @author pgier
+ */
+public class ClasspathFilteringIT
+    extends AbstractSurefireIntegrationTestClass
+{
+    public void testAdditionalClasspath()
+        throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/classpath-filtering" );
+
+        Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+        this.executeGoal( verifier, "test" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+
+        HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
+    }
+}

Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ClasspathFilteringIT.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ClasspathFilteringIT.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/pom.xml
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/pom.xml?rev=945404&view=auto
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/pom.xml (added)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/pom.xml Mon May 17 22:12:30 2010
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>additional-classpath</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for additionalClasspathElements</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${surefire.version}</version>
+        <configuration>
+          <classpathDependencyExcludes>
+            <exclude>org.apache.commons:commons-email</exclude>
+          </classpathDependencyExcludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-email</artifactId>
+      <version>1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+</project>

Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java?rev=945404&view=auto
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java (added)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java Mon May 17 22:12:30 2010
@@ -0,0 +1,25 @@
+package classpathFiltering;
+
+import junit.framework.TestCase;
+
+public class BasicTest
+    extends TestCase
+{
+
+    public void testDependencyFilter() {
+        
+        Class testClass = null;
+        String testClassName = "org.apache.commons.mail.Email";
+        try 
+        {
+            testClass = Class.forName( testClassName );
+            System.out.println( "Able to load class " + testClass );
+        }
+        catch ( ClassNotFoundException e )
+        {
+            System.out.println( "Couldn't load " + testClassName );
+        }
+        assertNull( testClass );
+    }
+
+}

Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision