From a testing perspective I find this discussion interesting; failsafe has *minute* amounts of code which is distinct from surefire, and most of this
is just the boilerplate stuff needed because reusing mojos is hard.

Most of the current IT coverage in surefire only runs with the surefire plugin, and there are a few tests that assert the extra failsafe functionality. From a technical point of view it might be easiest to just make all the tests runnable with both surefire/failsafe, maybe use the "groups" parameter
to determine what tests to run for failsafe.

I just went through a major cleanup of the IT code in surefire, where I have encapsulated most of the "common" testing patterns into a single fluent base class, which means the tests read quite well at the moment. There is a further cleanup that could be done; if all the test projects used the same base properties, we could also abstract away stuff like "is this a surefire or a failsafe" test and which provider/testing framework is being used, which could also mean we could reduce the current 112 "small" test projects to
something more like 10.

Taking "ClassPathOrderIT" as an example, we could have a tighter collaboration between the executeTest method and
the pom of "classpath-order" - something like this:

<properties>
<testPlugin>maven-surefire-plugin</testPlugin>
</properties>
<build>
<plugins>
<plugin>
<artifactId>${testPlugin}</artifactId>
<version>${surefire.version}</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</plugin>
</plugins>
</build>

Now the base class for the IT's could know about the "testPlugin" property too, and all of the test projects could use it. On a similar note, if we add @parameter expressions to the remaining plugin parameters those could also be standardised.


This would probably mean a bunch of the testcase projects would become identical/redundant, since they to a large extent
are copy-pastes of previous testcases.

So I suppose I'm only in favour of doing this stuff for failsafe too if we can be smart about it ;)


Kristian

Den 18.01.2012 22:36, skrev John Casey:
On 1/18/12 4:33 PM, John Casey wrote:
On 1/18/12 2:01 PM, Stephen Connolly wrote:
Do we need corresponding tests for this on failsafe

Yeah, probably. I'll take a look at that today/tomorrow. I'm working on
SUREFIRE-803 now, and having some trouble getting the ITs to find the
failsafe plugin in the build...I suppose figuring that out will help my
ability to test this too.

Not sure whether this is cool or not, but I added a dependency on the failsafe plugin to the surefire-setup-integration-tests module. After doing this, it appears that the failsafe plugin is available for testing.

Of course, all of this is in my Git branch (I haven't migrated it back to trunk yet).


-j


- Stephen

---
Sent from my Android phone, so random spelling mistakes, random nonsense
words and other nonsense are a direct result of using swype to type on
the
screen
On Jan 18, 2012 5:54 p.m.,<jdca...@apache.org> wrote:

Author: jdcasey
Date: Wed Jan 18 17:53:39 2012
New Revision: 1232972

URL: http://svn.apache.org/viewvc?rev=1232972&view=rev
Log:
[SUREFIRE-806] Detect when multiple test executions are configured,
and if
only a single execution is present, use specified tests for includes (if
they're available), which is the old behavior. If multiple test
executions
are specified, then use the specified tests as a filter for the existing
includes/excludes, to make sure each specified test executes in the
appropriate configuration.

Also, adding three integration tests to verify these include/exclude
conditions, plus the functioning of the new failIfNoSpecifiedTests
parameter.

Added:

maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckSingleTestIT.java.orig


maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire806SpecifiedTestControlsIT.java

(with props)

maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/


maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/pom.xml

(with props)

maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/


maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/


maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/


maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/


maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FirstTest.java

(with props)

maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FourthTest.java

(with props)

maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/SecondTest.java

(with props)

maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/ThirdTest.java

(with props)

maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/


maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/pom.xml

(with props)

maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/


maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/


maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/


maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/


maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FirstTest.java

(with props)

maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FourthTest.java

(with props)

maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/SecondTest.java

(with props)

maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/ThirdTest.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/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java


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=1232972&r1=1232971&r2=1232972&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

Wed Jan 18 17:53:39 2012
@@ -38,6 +38,7 @@ import org.apache.maven.artifact.resolve
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.surefire.AbstractSurefireMojo;
import org.apache.maven.plugin.surefire.Summary;
import org.apache.maven.plugin.surefire.booterclient.ChecksumCalculator;
@@ -67,6 +68,16 @@ public class IntegrationTestMojo
{

/**
+ * Information about this plugin, mainly used to lookup this plugin's
configuration from the currently executing
+ * project.
+ *
+ * @parameter default-value="${plugin}"
+ * @readonly
+ * @since 2.12
+ */
+ private PluginDescriptor pluginDescriptor;
+
+ /**
* Set this to "true" to skip running tests, but still compile them.
Its use is NOT RECOMMENDED, but quite
* convenient on occasion.
*
@@ -1426,4 +1437,9 @@ public class IntegrationTestMojo
this.failIfNoSpecifiedTests = failIfNoSpecifiedTests;
}

+ public PluginDescriptor getPluginDescriptor()
+ {
+ return pluginDescriptor;
+ }
+
}

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=1232972&r1=1232971&r2=1232972&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

Wed Jan 18 17:53:39 2012
@@ -42,12 +42,14 @@ import org.apache.maven.artifact.resolve
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;

import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugin.surefire.booterclient.ChecksumCalculator; import org.apache.maven.plugin.surefire.booterclient.ForkConfiguration;
import org.apache.maven.plugin.surefire.booterclient.ForkStarter;
+import org.apache.maven.project.MavenProject;
import
org.apache.maven.shared.artifact.filter.PatternIncludesArtifactFilter;
import org.apache.maven.surefire.booter.ClassLoaderConfiguration;
import org.apache.maven.surefire.booter.Classpath;
@@ -546,7 +548,15 @@ public abstract class AbstractSurefireMo

private List<String> getIncludeList()
{
- List<String> includes = this.getIncludes();
+ List<String> includes;
+ if ( isSpecificTestSpecified()&&
!isMultipleExecutionBlocksDetected() )
+ {
+ includes = getSpecificTests();
+ }
+ else
+ {
+ includes = this.getIncludes();
+ }

// defaults here, qdox doesn't like the end javadoc value
// Have to wrap in an ArrayList as surefire expects an ArrayList
instead of a List for some reason
@@ -555,9 +565,30 @@ public abstract class AbstractSurefireMo
includes = new ArrayList<String>( Arrays.asList(
getDefaultIncludes() ) );
}

+ System.out.println( "Test includes:\n\n" + includes + "\n\n" );
+
return includes;
}

+ private boolean isMultipleExecutionBlocksDetected()
+ {
+ MavenProject project = getProject();
+ if ( project != null )
+ {
+ String key = getPluginDescriptor().getPluginLookupKey();
+ Plugin plugin = (Plugin)
project.getBuild().getPluginsAsMap().get( key );
+
+ if ( plugin != null )
+ {
+ @SuppressWarnings( "rawtypes" )
+ List executions = plugin.getExecutions();
+ return executions != null&& executions.size()> 1;
+ }
+ }
+
+ return false;
+ }
+
private List<String> getSpecificTests()
{
if ( !isSpecificTestSpecified() )

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=1232972&r1=1232971&r2=1232972&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

Wed Jan 18 17:53:39 2012
@@ -30,6 +30,7 @@ import org.apache.maven.artifact.metadat
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.execution.MavenSession;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
import org.apache.maven.toolchain.ToolchainManager;

@@ -123,6 +124,8 @@ public interface SurefireExecutionParame

void setProperties( Properties properties );

+ PluginDescriptor getPluginDescriptor();
+
Map<String,Artifact> getPluginArtifactMap();

void setPluginArtifactMap( Map<String,Artifact> pluginArtifactMap );

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=1232972&r1=1232971&r2=1232972&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

Wed Jan 18 17:53:39 2012
@@ -33,6 +33,7 @@ import org.apache.maven.artifact.resolve
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.surefire.booterclient.ChecksumCalculator;
import org.apache.maven.project.MavenProject;
import org.apache.maven.surefire.suite.RunResult;
@@ -56,9 +57,19 @@ public class SurefirePlugin
{

/**
+ * Information about this plugin, mainly used to lookup this plugin's
configuration from the currently executing
+ * project.
+ *
+ * @parameter default-value="${plugin}"
+ * @readonly
+ * @since 2.12
+ */
+ private PluginDescriptor pluginDescriptor;
+
+ /**
* Set this to "true" to skip running tests, but still compile them.
Its use is NOT RECOMMENDED, but quite
* convenient on occasion.
- *
+ *
* @parameter default-value="false" expression="${skipTests}"
* @since 2.4
*/
@@ -1347,4 +1358,9 @@ public class SurefirePlugin
{
}

+ public PluginDescriptor getPluginDescriptor()
+ {
+ return pluginDescriptor;
+ }
+
}

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckSingleTestIT.java.orig

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckSingleTestIT.java.orig?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckSingleTestIT.java.orig

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckSingleTestIT.java.orig

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,71 @@
+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.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireLauncher;
+import
org.apache.maven.surefire.its.fixture.SurefireIntegrationTestCase;
+import org.apache.maven.surefire.its.fixture.TestFile;
+
+/**
+ * Test running a single test with -Dtest=BasicTest
+ *
+ * @author<a href="mailto:dfabul...@apache.org";>Dan Fabulich</a>
+ * @author<a href="mailto:krosenv...@apache.org";>Kristian Rosenvold</a>
+ */
+public class CheckSingleTestIT
+ extends SurefireIntegrationTestCase
+{
+ public void testSingleTest()
+ {
+ unpack().setTestToRun( "BasicTest"
).executeTest().verifyErrorFree( 1 );
+ }
+
+ public void testSingleTestDotJava()
+ {
+ unpack().setTestToRun( "BasicTest.java"
).executeTest().verifyErrorFree( 1 );
+ }
+
+ public void testSingleTestNonExistent()
+ {
+ final OutputValidator output = unpack().setTestToRun(
"DoesNotExist" ).executeTestWithFailure();
+ TestFile reportsDir = output.getTargetFile( "surefire-reports" );
+ assertFalse( "Unexpected reports directory", reportsDir.exists()
);
+ }
+
+ public void testSingleTestNonExistentOverride()
+ {
+ final OutputValidator output =
+ unpack().setTestToRun( "DoesNotExist" ).failIfNoTests( false
).executeTest().verifyErrorFreeLog();
+ TestFile reportsDir = output.getTargetFile( "surefire-reports" );
+ assertFalse( "Unexpected reports directory", reportsDir.exists()
);
+ }
+
+ public void testSingleTestInOneExecutionOfMultiExecutionProject()
+ {
+ unpack( "/default-configuration-multi-exec" ).setTestToRun(
"FirstTest" ).addGoal( "-X" ).failIfNoSpecifiedTests( false
).executeTest().verifyErrorFree( 1 );
+ }
+
+ private SurefireLauncher unpack()
+ {
+ return unpack( "/default-configuration" );
+ }
+
+}

Modified:
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java?rev=1232972&r1=1232971&r2=1232972&view=diff


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java

(original)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java

Wed Jan 18 17:53:39 2012
@@ -333,6 +333,12 @@ public class SurefireLauncher
return addGoal( "-DfailIfNoTests=" + fail );
}

+ public SurefireLauncher failIfNoSpecifiedTests( boolean fail )
+ {
+ this.failIfNoTests = fail;
+ return addGoal( "-Dsurefire.failIfNoSpecifiedTests=" + fail );
+ }
+
public SurefireLauncher useSystemClassLoader( boolean
useSystemClassLoader)
{
return addGoal( "-DuseSystemClassLoader=" + useSystemClassLoader );

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire806SpecifiedTestControlsIT.java

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire806SpecifiedTestControlsIT.java?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire806SpecifiedTestControlsIT.java

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire806SpecifiedTestControlsIT.java

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,24 @@
+package org.apache.maven.surefire.its.jiras;
+
+import
org.apache.maven.surefire.its.fixture.SurefireIntegrationTestCase;
+
+public class Surefire806SpecifiedTestControlsIT
+ extends SurefireIntegrationTestCase
+{
+
+ public void testSingleTestInOneExecutionOfMultiExecutionProject()
+ {
+ unpack( "/surefire-806-specifiedTests-multi" ).setTestToRun(
"FirstTest" ).failIfNoSpecifiedTests( false
).executeTest().verifyErrorFree( 1 );
+ }
+
+ public void testTwoSpecifiedTestExecutionsInCorrectExecutionBlocks()
+ {
+ unpack( "/surefire-806-specifiedTests-multi" ).setTestToRun(
"FirstTest,SecondTest" ).executeTest().verifyErrorFree( 2 );
+ }
+
+ public void testSingleTestInSingleExecutionProject()
+ {
+ unpack( "/surefire-806-specifiedTests-single" ).setTestToRun(
"ThirdTest" ).failIfNoSpecifiedTests( false
).executeTest().verifyErrorFree( 1 );
+ }
+
+}

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire806SpecifiedTestControlsIT.java


------------------------------------------------------------------------------

svn:eol-style = native

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/pom.xml

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/pom.xml?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/pom.xml

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/pom.xml

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,81 @@
+<?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>default-configuration-multi-exec</artifactId>
+<version>1.0-SNAPSHOT</version>
+<name>Test for single test in one of multiple executions</name>
+
+<dependencies>
+<dependency>
+<groupId>junit</groupId>
+<artifactId>junit</artifactId>
+<version>3.8.1</version>
+<scope>test</scope>
+</dependency>
+</dependencies>
+
+<build>
+<plugins>
+<plugin>
+<artifactId>maven-surefire-plugin</artifactId>
+<version>${surefire.version}</version>
+<executions>
+<execution>
+<id>default-test</id>
+<goals>
+<goal>test</goal>
+</goals>
+<configuration>
+<includes>
+<include>**/FirstTest.java</include>
+<include>**/ThirdTest.java</include>
+</includes>
+<systemPropertyVariables>
+<phaseName>first</phaseName>
+</systemPropertyVariables>
+</configuration>
+</execution>
+<execution>
+<id>second</id>
+<goals>
+<goal>test</goal>
+</goals>
+<configuration>
+<includes>
+<include>**/SecondTest.java</include>
+<include>**/FourthTest.java</include>
+</includes>
+<systemPropertyVariables>
+<phaseName>second</phaseName>
+</systemPropertyVariables>
+</configuration>
+</execution>
+</executions>
+</plugin>
+</plugins>
+</build>
+
+</project>

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/pom.xml


------------------------------------------------------------------------------

svn:eol-style = native

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FirstTest.java

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FirstTest.java?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FirstTest.java

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FirstTest.java

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,17 @@
+package defaultConfiguration;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class FirstTest
+ extends TestCase
+{
+
+ public void testSetUp()
+ {
+ assertEquals( "first", System.getProperty( "phaseName" ) );
+ }
+
+}

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FirstTest.java


------------------------------------------------------------------------------

svn:eol-style = native

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FourthTest.java

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FourthTest.java?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FourthTest.java

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FourthTest.java

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,17 @@
+package defaultConfiguration;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class FourthTest
+ extends TestCase
+{
+
+ public void testSetUp()
+ {
+ assertEquals( "second", System.getProperty( "phaseName" ) );
+ }
+
+}

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/FourthTest.java


------------------------------------------------------------------------------

svn:eol-style = native

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/SecondTest.java

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/SecondTest.java?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/SecondTest.java

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/SecondTest.java

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,17 @@
+package defaultConfiguration;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class SecondTest
+ extends TestCase
+{
+
+ public void testSetUp()
+ {
+ assertEquals( "second", System.getProperty( "phaseName" ) );
+ }
+
+}

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/SecondTest.java


------------------------------------------------------------------------------

svn:eol-style = native

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/ThirdTest.java

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/ThirdTest.java?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/ThirdTest.java

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/ThirdTest.java

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,17 @@
+package defaultConfiguration;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class ThirdTest
+ extends TestCase
+{
+
+ public void testSetUp()
+ {
+ assertEquals( "first", System.getProperty( "phaseName" ) );
+ }
+
+}

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-multi/src/test/java/defaultConfiguration/ThirdTest.java


------------------------------------------------------------------------------

svn:eol-style = native

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/pom.xml

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/pom.xml?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/pom.xml

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/pom.xml

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,65 @@
+<?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>default-configuration-multi-exec</artifactId>
+<version>1.0-SNAPSHOT</version>
+<name>Test for single test in one of multiple executions</name>
+
+<dependencies>
+<dependency>
+<groupId>junit</groupId>
+<artifactId>junit</artifactId>
+<version>3.8.1</version>
+<scope>test</scope>
+</dependency>
+</dependencies>
+
+<build>
+<plugins>
+<plugin>
+<artifactId>maven-surefire-plugin</artifactId>
+<version>${surefire.version}</version>
+<executions>
+<execution>
+<id>default-test</id>
+<goals>
+<goal>test</goal>
+</goals>
+<configuration>
+<includes>
+<include>**/FirstTest.java</include>
+</includes>
+<systemPropertyVariables>
+<phaseName>first</phaseName>
+</systemPropertyVariables>
+</configuration>
+</execution>
+</executions>
+</plugin>
+</plugins>
+</build>
+
+</project>

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/pom.xml


------------------------------------------------------------------------------

svn:eol-style = native

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FirstTest.java

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FirstTest.java?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FirstTest.java

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FirstTest.java

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,17 @@
+package defaultConfiguration;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class FirstTest
+ extends TestCase
+{
+
+ public void testSetUp()
+ {
+ assertEquals( "FAIL", System.getProperty( "phaseName" ) );
+ }
+
+}

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FirstTest.java


------------------------------------------------------------------------------

svn:eol-style = native

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FourthTest.java

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FourthTest.java?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FourthTest.java

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FourthTest.java

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,17 @@
+package defaultConfiguration;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class FourthTest
+ extends TestCase
+{
+
+ public void testSetUp()
+ {
+ assertEquals( "second", System.getProperty( "phaseName" ) );
+ }
+
+}

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/FourthTest.java


------------------------------------------------------------------------------

svn:eol-style = native

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/SecondTest.java

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/SecondTest.java?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/SecondTest.java

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/SecondTest.java

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,17 @@
+package defaultConfiguration;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class SecondTest
+ extends TestCase
+{
+
+ public void testSetUp()
+ {
+ assertEquals( "second", System.getProperty( "phaseName" ) );
+ }
+
+}

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/SecondTest.java


------------------------------------------------------------------------------

svn:eol-style = native

Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/ThirdTest.java

URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/ThirdTest.java?rev=1232972&view=auto


==============================================================================

---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/ThirdTest.java

(added)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/ThirdTest.java

Wed Jan 18 17:53:39 2012
@@ -0,0 +1,17 @@
+package defaultConfiguration;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class ThirdTest
+ extends TestCase
+{
+
+ public void testSetUp()
+ {
+ assertEquals( "first", System.getProperty( "phaseName" ) );
+ }
+
+}

Propchange:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-806-specifiedTests-single/src/test/java/defaultConfiguration/ThirdTest.java


------------------------------------------------------------------------------

svn:eol-style = native










---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to