You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2018/02/05 22:07:22 UTC

[09/51] [partial] maven-surefire git commit: [SUREFIRE-1471] Too long Windows path cause CI issues. Renamed surefire-intergation-tests to surefire-its.

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-dep/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-dep/pom.xml b/surefire-its/src/test/resources/junit44-dep/pom.xml
new file mode 100644
index 0000000..d26c024
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-dep/pom.xml
@@ -0,0 +1,71 @@
+<?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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>junit44-dep</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for junit-dep</name>
+
+  <properties>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit-dep</artifactId>
+      <version>${junit-dep.version}</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>provided381</id>
+      <dependencies>
+        <dependency>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+          <version>3.8.1</version>
+          <scope>provided</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${surefire.version}</version>
+        <configuration>
+          <parallel>classes</parallel>
+          <threadCount>1</threadCount>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-dep/src/test/java/junit44Dep/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-dep/src/test/java/junit44Dep/BasicTest.java b/surefire-its/src/test/resources/junit44-dep/src/test/java/junit44Dep/BasicTest.java
new file mode 100644
index 0000000..219b8da
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-dep/src/test/java/junit44Dep/BasicTest.java
@@ -0,0 +1,67 @@
+package junit44Dep;
+
+/*
+ * 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.hamcrest.core.Is;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class BasicTest
+{
+
+    private boolean setUpCalled = false;
+
+    private static boolean tearDownCalled = false;
+
+    @Before
+    public void setUp()
+    {
+        setUpCalled = true;
+        tearDownCalled = false;
+        System.out.println( "Called setUp" );
+    }
+
+    @After
+    public void tearDown()
+    {
+        setUpCalled = false;
+        tearDownCalled = true;
+        System.out.println( "Called tearDown" );
+    }
+
+    @Test
+    public void testSetUp()
+    {
+        Assert.assertTrue( "setUp was not called", setUpCalled );
+        Assert.assertFalse( "tearDown was called", tearDownCalled );
+        Assert.assertThat( true, Is.is( true ) );
+    }
+
+    @AfterClass
+    public static void oneTimeTearDown()
+    {
+        Assert.assertTrue( "tearDown was not called", tearDownCalled );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-environment/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-environment/pom.xml b/surefire-its/src/test/resources/junit44-environment/pom.xml
new file mode 100644
index 0000000..eb04443
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-environment/pom.xml
@@ -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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>junit44-environment</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for setting environment variables</name>
+
+  <properties>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.4</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${surefire.version}</version>
+        <configuration>
+          <environmentVariables>
+            <DUMMY_ENV_VAR>foo</DUMMY_ENV_VAR>
+          </environmentVariables>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-environment/src/test/java/junit44/environment/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-environment/src/test/java/junit44/environment/BasicTest.java b/surefire-its/src/test/resources/junit44-environment/src/test/java/junit44/environment/BasicTest.java
new file mode 100644
index 0000000..ee20aa6
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-environment/src/test/java/junit44/environment/BasicTest.java
@@ -0,0 +1,40 @@
+package junit44.environment;
+
+/*
+ * 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 static org.hamcrest.core.Is.*;
+import static org.hamcrest.core.IsNull.*;
+import org.junit.Assert;
+import org.junit.Test;
+
+
+public class BasicTest
+{
+
+    
+    @Test
+    public void testEnvVar()
+    {
+        Assert.assertThat( System.getenv( "PATH" ), notNullValue() );
+        Assert.assertThat( System.getenv( "DUMMY_ENV_VAR" ), is( "foo" ) );
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-hamcrest/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-hamcrest/pom.xml b/surefire-its/src/test/resources/junit44-hamcrest/pom.xml
new file mode 100644
index 0000000..4140b41
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-hamcrest/pom.xml
@@ -0,0 +1,54 @@
+<?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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>junit44-hamcrest</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for JUnit44 with Hamcrest extensions</name>
+
+  <properties>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.4</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${surefire.version}</version>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-hamcrest/src/test/java/junit44/hamcrest/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-hamcrest/src/test/java/junit44/hamcrest/BasicTest.java b/surefire-its/src/test/resources/junit44-hamcrest/src/test/java/junit44/hamcrest/BasicTest.java
new file mode 100644
index 0000000..b847675
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-hamcrest/src/test/java/junit44/hamcrest/BasicTest.java
@@ -0,0 +1,66 @@
+package junit44.hamcrest;
+
+/*
+ * 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.hamcrest.core.Is;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class BasicTest
+{
+
+    private boolean setUpCalled = false;
+
+    private static boolean tearDownCalled = false;
+
+    @Before
+    public void setUp()
+    {
+        setUpCalled = true;
+        tearDownCalled = false;
+        System.out.println( "Called setUp" );
+    }
+
+    @After
+    public void tearDown()
+    {
+        setUpCalled = false;
+        tearDownCalled = true;
+        System.out.println( "Called tearDown" );
+    }
+
+    @Test
+    public void testSetUp()
+    {
+        Assert.assertTrue( "setUp was not called", setUpCalled );
+        Assert.assertThat( true, Is.is( true ) );
+    }
+
+    @AfterClass
+    public static void oneTimeTearDown()
+    {
+        Assert.assertTrue( "tearDown was not called", tearDownCalled );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-method-pattern/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-method-pattern/pom.xml b/surefire-its/src/test/resources/junit44-method-pattern/pom.xml
new file mode 100644
index 0000000..e9ac59e
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-method-pattern/pom.xml
@@ -0,0 +1,60 @@
+<?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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>junit4</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for JUnit 4</name>
+
+
+  <properties>
+    <junitVersion>4.4</junitVersion>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>${junitVersion}</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${surefire.version}</version>
+        <configuration>
+          <test>BasicTest#testSuccess*</test>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-method-pattern/src/test/java/junit4/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-method-pattern/src/test/java/junit4/BasicTest.java b/surefire-its/src/test/resources/junit44-method-pattern/src/test/java/junit4/BasicTest.java
new file mode 100644
index 0000000..925d9b5
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-method-pattern/src/test/java/junit4/BasicTest.java
@@ -0,0 +1,77 @@
+package junit4;
+
+/*
+ * 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.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class BasicTest
+{
+
+    private boolean setUpCalled = false;
+
+    private static boolean tearDownCalled = false;
+    
+    @Before
+    public void setUp()
+    {
+        setUpCalled = true;
+        tearDownCalled = false;
+        System.out.println( "Called setUp" );
+    }
+
+    @After
+    public void tearDown()
+    {
+        setUpCalled = false;
+        tearDownCalled = true;
+        System.out.println( "Called tearDown" );
+    }
+
+    @Test
+    public void testSetUp()
+    {
+        Assert.assertTrue( "setUp was not called", setUpCalled );
+    }
+    
+    
+    @Test
+    public void testSuccessOne()
+    {
+        Assert.assertTrue( true );
+    } 
+    
+    @Test
+    public void testSuccessTwo()
+    {
+        Assert.assertTrue( true );
+    }    
+
+    @AfterClass
+    public static void oneTimeTearDown()
+    {
+        
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-multiple-methods/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-multiple-methods/pom.xml b/surefire-its/src/test/resources/junit44-multiple-methods/pom.xml
new file mode 100644
index 0000000..9858f4c
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-multiple-methods/pom.xml
@@ -0,0 +1,68 @@
+<?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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.surefire</groupId>
+    <artifactId>it-parent</artifactId>
+    <version>1.0</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>junit4</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for JUnit 4</name>
+
+  <!--
+  This is using junit 4.0 provider.
+  Same test in junit48-multiple-methods is used with different provider junit 4.7.
+  -->
+
+  <properties>
+    <junitVersion>4.4</junitVersion>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>${junitVersion}</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <test>junit4/BasicTest#testSuccessOne+testFailOne,junit4/TestThree#testSuccessTwo</test>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/BasicTest.java b/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/BasicTest.java
new file mode 100644
index 0000000..4b31b9e
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/BasicTest.java
@@ -0,0 +1,83 @@
+package junit4;
+
+/*
+ * 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.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class BasicTest
+{
+
+    private boolean setUpCalled = false;
+
+    private static boolean tearDownCalled = false;
+    
+    @Before
+    public void setUp()
+    {
+        setUpCalled = true;
+        tearDownCalled = false;
+        System.out.println( "Called setUp" );
+    }
+
+    @After
+    public void tearDown()
+    {
+        setUpCalled = false;
+        tearDownCalled = true;
+        System.out.println( "Called tearDown" );
+    }
+
+    @Test
+    public void testSetUp()
+    {
+        Assert.assertTrue( "setUp was not called", setUpCalled );
+    }
+    
+    
+    @Test
+    public void testSuccessOne()
+    {
+        Assert.assertTrue( true );
+    }    
+    
+    @Test
+    public void testSuccessTwo()
+    {
+        Assert.assertTrue( true );
+    }   
+    
+    @Test
+    public void testFailOne()
+    {
+        Assert.assertFalse( false );
+    } 
+
+    @AfterClass
+    public static void oneTimeTearDown()
+    {
+        
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/TestThree.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/TestThree.java b/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/TestThree.java
new file mode 100644
index 0000000..16bc283
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/TestThree.java
@@ -0,0 +1,77 @@
+package junit4;
+
+/*
+ * 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.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class TestThree
+{
+
+    private boolean setUpCalled = false;
+
+    private static boolean tearDownCalled = false;
+    
+    @Before
+    public void setUp()
+    {
+        setUpCalled = true;
+        tearDownCalled = false;
+        System.out.println( "Called setUp" );
+    }
+
+    @After
+    public void tearDown()
+    {
+        setUpCalled = false;
+        tearDownCalled = true;
+        System.out.println( "Called tearDown" );
+    }
+
+    @Test
+    public void testSetUp()
+    {
+        Assert.assertTrue( "setUp was not called", setUpCalled );
+    }
+    
+    
+    @Test
+    public void testSuccessOne()
+    {
+        Assert.assertTrue( true );
+    } 
+    
+    @Test
+    public void testSuccessTwo()
+    {
+        Assert.assertTrue( true );
+    }    
+
+    @AfterClass
+    public static void oneTimeTearDown()
+    {
+        
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/TestTwo.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/TestTwo.java b/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/TestTwo.java
new file mode 100644
index 0000000..620cf23
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-multiple-methods/src/test/java/junit4/TestTwo.java
@@ -0,0 +1,77 @@
+package junit4;
+
+/*
+ * 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.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class TestTwo
+{
+
+    private boolean setUpCalled = false;
+
+    private static boolean tearDownCalled = false;
+    
+    @Before
+    public void setUp()
+    {
+        setUpCalled = true;
+        tearDownCalled = false;
+        System.out.println( "Called setUp" );
+    }
+
+    @After
+    public void tearDown()
+    {
+        setUpCalled = false;
+        tearDownCalled = true;
+        System.out.println( "Called tearDown" );
+    }
+
+    @Test
+    public void testSetUp()
+    {
+        Assert.assertTrue( "setUp was not called", setUpCalled );
+    }
+    
+    
+    @Test
+    public void testSuccessOne()
+    {
+        Assert.assertTrue( true );
+    } 
+    
+    @Test
+    public void testSuccessTwo()
+    {
+        Assert.assertTrue( true );
+    }    
+
+    @AfterClass
+    public static void oneTimeTearDown()
+    {
+        
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-single-method/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-single-method/pom.xml b/surefire-its/src/test/resources/junit44-single-method/pom.xml
new file mode 100644
index 0000000..c74aee2
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-single-method/pom.xml
@@ -0,0 +1,60 @@
+<?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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>junit4</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for JUnit 4</name>
+
+
+  <properties>
+    <junitVersion>4.4</junitVersion>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>${junitVersion}</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${surefire.version}</version>
+        <configuration>
+          <test>BasicTest#testSuccessOne</test>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit44-single-method/src/test/java/junit4/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit44-single-method/src/test/java/junit4/BasicTest.java b/surefire-its/src/test/resources/junit44-single-method/src/test/java/junit4/BasicTest.java
new file mode 100644
index 0000000..027917d
--- /dev/null
+++ b/surefire-its/src/test/resources/junit44-single-method/src/test/java/junit4/BasicTest.java
@@ -0,0 +1,71 @@
+package junit4;
+
+/*
+ * 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.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class BasicTest
+{
+
+    private boolean setUpCalled = false;
+
+    private static boolean tearDownCalled = false;
+    
+    @Before
+    public void setUp()
+    {
+        setUpCalled = true;
+        tearDownCalled = false;
+        System.out.println( "Called setUp" );
+    }
+
+    @After
+    public void tearDown()
+    {
+        setUpCalled = false;
+        tearDownCalled = true;
+        System.out.println( "Called tearDown" );
+    }
+
+    @Test
+    public void testSetUp()
+    {
+        Assert.assertTrue( "setUp was not called", setUpCalled );
+    }
+    
+    
+    @Test
+    public void testSuccessOne()
+    {
+        Assert.assertTrue( true );
+    }     
+
+    @AfterClass
+    public static void oneTimeTearDown()
+    {
+        
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-concurrency/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-concurrency/pom.xml b/surefire-its/src/test/resources/junit47-concurrency/pom.xml
new file mode 100644
index 0000000..21bd802
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-concurrency/pom.xml
@@ -0,0 +1,61 @@
+<?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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.surefire</groupId>
+    <artifactId>it-parent</artifactId>
+    <version>1.0</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>junit47-concurrency</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Concurrency test for JUnit 4.7</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.7</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <parallel>methods</parallel>
+          <perCoreThreadCount>false</perCoreThreadCount>
+          <threadCount>3</threadCount>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-concurrency/src/test/java/junit47/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-concurrency/src/test/java/junit47/BasicTest.java b/surefire-its/src/test/resources/junit47-concurrency/src/test/java/junit47/BasicTest.java
new file mode 100644
index 0000000..1f11060
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-concurrency/src/test/java/junit47/BasicTest.java
@@ -0,0 +1,71 @@
+package concurrentjunit47.src.test.java.junit47;
+
+/*
+ * 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.junit.*;
+
+import java.util.concurrent.TimeUnit;
+
+public class BasicTest
+{
+    private boolean setUpCalled = false;
+
+    @Before
+    public void setUp()
+    {
+        setUpCalled = true;
+        System.out.println( "Called setUp" );
+    }
+
+    @After
+    public void tearDown()
+    {
+        setUpCalled = false;
+        System.out.println( "Called tearDown" );
+    }
+
+    @Test
+    public void testSetUp()
+    {
+        Assert.assertTrue( "setUp was not called", setUpCalled );
+    }
+
+    @Test
+    public void a() throws Exception {
+        TimeUnit.SECONDS.sleep( 1 );
+    }
+
+    @Test
+    public void b() throws Exception {
+        TimeUnit.SECONDS.sleep( 1 );
+    }
+
+    @Test
+    public void c() throws Exception {
+        TimeUnit.SECONDS.sleep( 1 );
+    }
+
+    @AfterClass
+    public static void oneTimeTearDown()
+    {
+
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-cucumber/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-cucumber/pom.xml b/surefire-its/src/test/resources/junit47-cucumber/pom.xml
new file mode 100644
index 0000000..a57d3c4
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-cucumber/pom.xml
@@ -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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.surefire</groupId>
+    <artifactId>it-parent</artifactId>
+    <version>1.0</version>
+  </parent>
+
+  <artifactId>junit47-cucumber</artifactId>
+  <packaging>jar</packaging>
+
+  <name>Tests cucumber with JUnit47 provider</name>
+
+  <properties>
+    <cucumber.version>1.1.3</cucumber.version>
+    <junit.version>4.11</junit.version>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <forkCount>0</forkCount>
+          <testFailureIgnore>true</testFailureIgnore>
+        </configuration>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.maven.surefire</groupId>
+            <artifactId>surefire-junit47</artifactId>
+            <version>${surefire.version}</version>
+          </dependency>
+        </dependencies>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>${junit.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>info.cukes</groupId>
+      <artifactId>cucumber-java</artifactId>
+      <version>${cucumber.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>info.cukes</groupId>
+      <artifactId>cucumber-junit</artifactId>
+      <version>${cucumber.version}</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java
new file mode 100644
index 0000000..ed86734
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ */
+
+package org.sample.cucumber;
+
+import org.junit.runner.RunWith;
+
+import cucumber.api.junit.Cucumber;
+
+@RunWith( Cucumber.class )
+@Cucumber.Options( features = { "classpath:failing" } )
+public class FailingCucumberTest
+{
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
new file mode 100644
index 0000000..ba25f69
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+package org.sample.cucumber;
+
+import cucumber.api.java.en.Given;
+import cucumber.api.java.en.Then;
+import cucumber.api.java.en.When;
+
+import static org.junit.Assert.fail;
+
+public class StepDefs
+{
+    @Given( "^I have some code$" )
+    public void I_have_some_code()
+        throws Throwable
+    {
+        // do nothing
+    }
+
+    @When( "^I run test$" )
+    public void I_run_test()
+        throws Throwable
+    {
+        // do nothing
+    }
+
+    @Then( "^I get no failures$" )
+    public void I_get_no_failures()
+        throws Throwable
+    {
+        // do nothing
+    }
+
+    @Then( "^I get a failure$" )
+    public void I_get_a_failure()
+        throws Throwable
+    {
+        fail( "failing the test on purpose." );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java
new file mode 100644
index 0000000..318f5e6
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ */
+
+package org.sample.cucumber;
+
+import org.junit.runner.RunWith;
+
+import cucumber.api.junit.Cucumber;
+
+@RunWith( Cucumber.class )
+@Cucumber.Options( features = { "classpath:success" } )
+public class SuccessCucumberTest
+{
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-cucumber/src/test/resources/failing/Sample.feature
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/resources/failing/Sample.feature b/surefire-its/src/test/resources/junit47-cucumber/src/test/resources/failing/Sample.feature
new file mode 100644
index 0000000..e8ac945
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/resources/failing/Sample.feature
@@ -0,0 +1,10 @@
+Feature: Sample
+
+	In order to use Maven
+	As a user
+	I want to do tests.
+	
+	Scenario: Do a failing test
+		Given I have some code
+		When I run test
+		Then I get a failure

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-cucumber/src/test/resources/success/Sample.feature
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/resources/success/Sample.feature b/surefire-its/src/test/resources/junit47-cucumber/src/test/resources/success/Sample.feature
new file mode 100644
index 0000000..26f0d2d
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/resources/success/Sample.feature
@@ -0,0 +1,10 @@
+Feature: Sample
+
+	In order to use Maven
+	As a user
+	I want to do tests.
+	
+	Scenario: Do a successful test
+		Given I have some code
+		When I run test
+		Then I get no failures

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel-nts/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel-nts/pom.xml b/surefire-its/src/test/resources/junit47-parallel-nts/pom.xml
new file mode 100644
index 0000000..92a2fb3
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel-nts/pom.xml
@@ -0,0 +1,64 @@
+<?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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.maven.surefire</groupId>
+    <artifactId>it-parent</artifactId>
+    <version>1.0</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>junit47-parallel-nts</artifactId>
+  <version>1.0</version>
+  <name>junit47-parallel-nts</name>
+  <url>http://maven.apache.org</url>
+  <developers>
+    <developer>
+      <id>tibordigana</id>
+      <name>Tibor Digaňa (tibor17)</name>
+      <email>tibordigana@apache.org</email>
+      <roles>
+        <role>Committer</role>
+      </roles>
+      <timezone>Europe/Bratislava</timezone>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.8.1</version>
+    </dependency>
+    <dependency>
+      <groupId>com.github.stephenc.jcip</groupId>
+      <artifactId>jcip-annotations</artifactId>
+      <version>1.0-1</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel-nts/src/test/java/surefireparallelnts/ParallelTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel-nts/src/test/java/surefireparallelnts/ParallelTest.java b/surefire-its/src/test/resources/junit47-parallel-nts/src/test/java/surefireparallelnts/ParallelTest.java
new file mode 100644
index 0000000..b59c51b
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel-nts/src/test/java/surefireparallelnts/ParallelTest.java
@@ -0,0 +1,37 @@
+package surefireparallelnts;
+
+/*
+ * 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.junit.Test;
+
+/**
+ * @author Tibor Digana (tibor17)
+ * @since 2.19
+ */
+public class ParallelTest
+{
+    @Test
+    public void test()
+        throws InterruptedException
+    {
+        String name = Thread.currentThread().getName();
+        System.out.println( "maven-surefire-plugin@NotThreadSafe".equals( name ) ? "wrong-thread" : "expected-thread" );
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel-nts/src/test/java/surefireparallelnts/RunningInSequenceTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel-nts/src/test/java/surefireparallelnts/RunningInSequenceTest.java b/surefire-its/src/test/resources/junit47-parallel-nts/src/test/java/surefireparallelnts/RunningInSequenceTest.java
new file mode 100644
index 0000000..7ec56ed
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel-nts/src/test/java/surefireparallelnts/RunningInSequenceTest.java
@@ -0,0 +1,37 @@
+package surefireparallelnts;
+
+/*
+ * 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.junit.Test;
+
+/**
+ * @author Tibor Digana (tibor17)
+ * @since 2.19
+ */
+@net.jcip.annotations.NotThreadSafe
+public class RunningInSequenceTest
+{
+    @Test
+    public void test()
+        throws InterruptedException
+    {
+        System.out.println( "xxx-" + Thread.currentThread().getName() );
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml b/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml
new file mode 100644
index 0000000..5dcbaba
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml
@@ -0,0 +1,38 @@
+<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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>junit4-test</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <name>surefire-747-parallel-method-skips-test</name>
+  <url>http://maven.apache.org</url>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.8.1</version>
+    </dependency>
+  </dependencies>
+  <properties>
+    <parallel>methods</parallel>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+  <build>
+     <plugins>
+        <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-surefire-plugin</artifactId>
+           <version>${surefire.version}</version>
+           <configuration>
+             <perCoreThreadCount>false</perCoreThreadCount>
+             <threadCount>5</threadCount>
+             <includes>
+                <include>**/TestSuite.java</include>
+             </includes>
+           </configuration>
+        </plugin>
+     </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/SuiteTest1.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/SuiteTest1.java b/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/SuiteTest1.java
new file mode 100644
index 0000000..9ac0b90
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/SuiteTest1.java
@@ -0,0 +1,93 @@
+package surefire747;
+
+/*
+ * 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.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class SuiteTest1
+{
+    private static final int PERFORMANCE_TEST_MULTIPLICATION_FACTOR = 4;
+
+    private static long startedAt;
+
+    public SuiteTest1()
+    {
+        System.out.println( "SuiteTest1.constructor" );
+    }
+
+    @BeforeClass
+    public static void beforeClass()
+    {
+        startedAt = System.currentTimeMillis();
+    }
+
+    @AfterClass
+    public static void afterClass()
+    {
+        System.out.println( String.format( "%s test finished after duration=%d", SuiteTest1.class.getSimpleName(),
+                                           System.currentTimeMillis() - startedAt ) );
+    }
+
+    @Before
+    public void setUp()
+    {
+        System.out.println( "SuiteTest1.setUp" );
+    }
+
+    @After
+    public void tearDown()
+    {
+        System.out.println( "SuiteTest1.tearDown" );
+    }
+
+    @Test
+    public void first()
+        throws InterruptedException
+    {
+        System.out.println( "begin SuiteTest1.first" );
+        Thread.sleep( 500 * PERFORMANCE_TEST_MULTIPLICATION_FACTOR );
+        System.out.println( "end SuiteTest1.first" );
+    }
+
+    @Test
+    public void second()
+        throws InterruptedException
+    {
+        System.out.println( "begin SuiteTest1.second" );
+        Thread.sleep( 500 * PERFORMANCE_TEST_MULTIPLICATION_FACTOR );
+        System.out.println( "end SuiteTest1.second" );
+    }
+
+    @Test
+    public void third()
+        throws InterruptedException
+    {
+        System.out.println( "begin SuiteTest1.third" );
+        Thread.sleep( 500 * PERFORMANCE_TEST_MULTIPLICATION_FACTOR );
+        System.out.println( "end SuiteTest1.third" );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/SuiteTest2.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/SuiteTest2.java b/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/SuiteTest2.java
new file mode 100644
index 0000000..99ad7cd
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/SuiteTest2.java
@@ -0,0 +1,93 @@
+package surefire747;
+
+/*
+ * 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.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class SuiteTest2
+{
+    private static final int PERFORMANCE_TEST_MULTIPLICATION_FACTOR = 4;
+
+    private static long startedAt;
+
+    public SuiteTest2()
+    {
+        System.out.println( "SuiteTest2.constructor" );
+    }
+
+    @BeforeClass
+    public static void beforeClass()
+    {
+        startedAt = System.currentTimeMillis();
+    }
+
+    @AfterClass
+    public static void afterClass()
+    {
+        System.out.println( String.format( "%s test finished after duration=%d", SuiteTest2.class.getSimpleName(),
+                                           System.currentTimeMillis() - startedAt ) );
+    }
+
+    @Before
+    public void setUp()
+    {
+        System.out.println( "SuiteTest2.setUp" );
+    }
+
+    @After
+    public void tearDown()
+    {
+        System.out.println( "SuiteTest2.tearDown" );
+    }
+
+    @Test
+    public void first()
+        throws InterruptedException
+    {
+        System.out.println( "begin SuiteTest2.first" );
+        Thread.sleep( 500 * PERFORMANCE_TEST_MULTIPLICATION_FACTOR );
+        System.out.println( "end SuiteTest2.first" );
+    }
+
+    @Test
+    public void second()
+        throws InterruptedException
+    {
+        System.out.println( "begin SuiteTest2.second" );
+        Thread.sleep( 500 * PERFORMANCE_TEST_MULTIPLICATION_FACTOR );
+        System.out.println( "end SuiteTest2.second" );
+    }
+
+    @Test
+    public void third()
+        throws InterruptedException
+    {
+        System.out.println( "begin SuiteTest2.third" );
+        Thread.sleep( 500 * PERFORMANCE_TEST_MULTIPLICATION_FACTOR );
+        System.out.println( "end SuiteTest2.third" );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/TestSuite.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/TestSuite.java b/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/TestSuite.java
new file mode 100644
index 0000000..4e95481
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel-with-suite/src/test/java/surefire747/TestSuite.java
@@ -0,0 +1,52 @@
+package surefire747;
+
+/*
+ * 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.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+/**
+ * @author Kristian Rosenvold
+ */
+@RunWith(Suite.class)
+@Suite.SuiteClasses(
+{
+	SuiteTest1.class,
+	SuiteTest2.class
+})
+public class TestSuite
+{
+    private static long startedAt;
+
+    @BeforeClass
+    public static void beforeClass()
+    {
+        startedAt = System.currentTimeMillis();
+    }
+
+    @AfterClass
+    public static void afterClass()
+    {
+        System.out.println( String.format( "%s suite finished after duration=%d", TestSuite.class.getSimpleName(),
+                                           System.currentTimeMillis() - startedAt ) );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel/pom.xml b/surefire-its/src/test/resources/junit47-parallel/pom.xml
new file mode 100644
index 0000000..e9d6a6c
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel/pom.xml
@@ -0,0 +1,70 @@
+<?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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.maven.surefire</groupId>
+    <artifactId>it-parent</artifactId>
+    <version>1.0</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>junit47-parallel</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>junit47-parallel</name>
+  <url>http://maven.apache.org</url>
+
+  <developers>
+    <developer>
+      <id>tibordigana</id>
+      <name>Tibor Digaňa (tibor17)</name>
+      <email>tibordigana@apache.org</email>
+      <roles>
+        <role>Committer</role>
+      </roles>
+      <timezone>Europe/Bratislava</timezone>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.8.1</version>
+    </dependency>
+  </dependencies>
+
+  <properties>
+    <argLine/>
+    <jacoco.agent/>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <argLine>${argLine} ${jacoco.agent}</argLine>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Suite1Test.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Suite1Test.java b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Suite1Test.java
new file mode 100644
index 0000000..99419fe
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Suite1Test.java
@@ -0,0 +1,39 @@
+package surefireparallel;
+
+/*
+ * 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.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+/**
+ * @author Tibor Digana (tibor17)
+ * @since 2.16
+ */
+@RunWith( Suite.class )
+@Suite.SuiteClasses(
+    {
+        Waiting1Test.class,
+        Waiting2Test.class,
+        Waiting3Test.class,
+        Waiting4Test.class
+    })
+public class Suite1Test
+{
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Suite2Test.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Suite2Test.java b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Suite2Test.java
new file mode 100644
index 0000000..32814ff
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Suite2Test.java
@@ -0,0 +1,39 @@
+package surefireparallel;
+
+/*
+ * 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.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+/**
+ * @author Tibor Digana (tibor17)
+ * @since 2.16
+ */
+@RunWith( Suite.class )
+@Suite.SuiteClasses(
+    {
+        Waiting5Test.class,
+        Waiting6Test.class,
+        Waiting7Test.class,
+        Waiting8Test.class
+    })
+public class Suite2Test
+{
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/TestClass.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/TestClass.java b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/TestClass.java
new file mode 100644
index 0000000..3648443
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/TestClass.java
@@ -0,0 +1,50 @@
+package surefireparallel;
+
+/*
+ * 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.junit.Test;
+
+/**
+ * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
+ * @since 2.16
+ */
+public class TestClass
+{
+    @Test
+    public void a()
+        throws InterruptedException
+    {
+        Thread.sleep( 5000L );
+    }
+
+    @Test
+    public void b()
+        throws InterruptedException
+    {
+        Thread.sleep( 5000L );
+    }
+
+    @Test
+    public void c()
+        throws InterruptedException
+    {
+        Thread.sleep( 5000L );
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting1Test.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting1Test.java b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting1Test.java
new file mode 100644
index 0000000..1d58841
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting1Test.java
@@ -0,0 +1,50 @@
+package surefireparallel;
+
+/*
+ * 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.junit.Test;
+
+/**
+ * @author Tibor Digana (tibor17)
+ * @since 2.16
+ */
+public class Waiting1Test
+{
+    @Test
+    public void a()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void b()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void c()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting2Test.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting2Test.java b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting2Test.java
new file mode 100644
index 0000000..55da772
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting2Test.java
@@ -0,0 +1,50 @@
+package surefireparallel;
+
+/*
+ * 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.junit.Test;
+
+/**
+ * @author Tibor Digana (tibor17)
+ * @since 2.16
+ */
+public class Waiting2Test
+{
+    @Test
+    public void a()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void b()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void c()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting3Test.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting3Test.java b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting3Test.java
new file mode 100644
index 0000000..5098fd4
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting3Test.java
@@ -0,0 +1,50 @@
+package surefireparallel;
+
+/*
+ * 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.junit.Test;
+
+/**
+ * @author Tibor Digana (tibor17)
+ * @since 2.16
+ */
+public class Waiting3Test
+{
+    @Test
+    public void a()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void b()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void c()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting4Test.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting4Test.java b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting4Test.java
new file mode 100644
index 0000000..8418448
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting4Test.java
@@ -0,0 +1,50 @@
+package surefireparallel;
+
+/*
+ * 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.junit.Test;
+
+/**
+ * @author Tibor Digana (tibor17)
+ * @since 2.16
+ */
+public class Waiting4Test
+{
+    @Test
+    public void a()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void b()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void c()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting5Test.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting5Test.java b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting5Test.java
new file mode 100644
index 0000000..2b99160
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting5Test.java
@@ -0,0 +1,50 @@
+package surefireparallel;
+
+/*
+ * 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.junit.Test;
+
+/**
+ * @author Tibor Digana (tibor17)
+ * @since 2.16
+ */
+public class Waiting5Test
+{
+    @Test
+    public void a()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void b()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void c()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting6Test.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting6Test.java b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting6Test.java
new file mode 100644
index 0000000..9ae9c01
--- /dev/null
+++ b/surefire-its/src/test/resources/junit47-parallel/src/test/java/surefireparallel/Waiting6Test.java
@@ -0,0 +1,50 @@
+package surefireparallel;
+
+/*
+ * 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.junit.Test;
+
+/**
+ * @author Tibor Digana (tibor17)
+ * @since 2.16
+ */
+public class Waiting6Test
+{
+    @Test
+    public void a()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void b()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+
+    @Test
+    public void c()
+        throws InterruptedException
+    {
+        Thread.sleep( 300L );
+    }
+}
\ No newline at end of file