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:20 UTC

[07/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/junit48-smartStackTrace/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml b/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml
new file mode 100644
index 0000000..fe104a4
--- /dev/null
+++ b/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml
@@ -0,0 +1,57 @@
+<?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-smartstacktrace</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for smart stack trace parser</name>
+
+
+  <properties>
+    <junitVersion>4.8.1</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>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/junit48-smartStackTrace/src/test/java/junit4/SmartStackTraceTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/junit48-smartStackTrace/src/test/java/junit4/SmartStackTraceTest.java b/surefire-its/src/test/resources/junit48-smartStackTrace/src/test/java/junit4/SmartStackTraceTest.java
new file mode 100644
index 0000000..c367ef5
--- /dev/null
+++ b/surefire-its/src/test/resources/junit48-smartStackTrace/src/test/java/junit4/SmartStackTraceTest.java
@@ -0,0 +1,50 @@
+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;
+
+import java.io.IOException;
+
+
+public class SmartStackTraceTest
+{
+
+    @Test(expected = RuntimeException.class)
+    public void shouldFailInMethodButDoesnt()
+    {
+    }
+
+    @Test(expected = IOException.class)
+    public void incorrectExceptionThrown()
+    {
+        throw new RuntimeException("We fail here");
+    }
+
+    @Test(expected = IOException.class)
+    public void shortName()
+    {
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/large-test-results/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/large-test-results/pom.xml b/surefire-its/src/test/resources/large-test-results/pom.xml
new file mode 100644
index 0000000..36caa01
--- /dev/null
+++ b/surefire-its/src/test/resources/large-test-results/pom.xml
@@ -0,0 +1,55 @@
+<?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>large-test-results</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for large test results</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${surefire.version}</version>
+        <configuration>
+          <systemProperties>
+            <property><name>numTests</name><value>${numTests}</value></property>
+          </systemProperties>
+          <argLine>-Xmx1024m</argLine>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/large-test-results/src/test/java/largeTestResults/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/large-test-results/src/test/java/largeTestResults/BasicTest.java b/surefire-its/src/test/resources/large-test-results/src/test/java/largeTestResults/BasicTest.java
new file mode 100644
index 0000000..bdeeb04
--- /dev/null
+++ b/surefire-its/src/test/resources/large-test-results/src/test/java/largeTestResults/BasicTest.java
@@ -0,0 +1,65 @@
+package largeTestResults;
+
+/*
+ * 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 junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class BasicTest
+    extends TestCase
+{
+
+    private final int number;
+
+    public BasicTest( String name, int number )
+    {
+        super( name );
+        this.number = number;
+    }
+
+    public static Test suite()
+    {
+        int tests = Integer.parseInt( System.getProperty( "numTests", "20" ) );
+        TestSuite suite = new TestSuite();
+        for ( int i = 0; i < tests; i++ )
+        {
+            if ( i % 4 == 0 )
+            {
+                suite.addTest( new BasicTest( "testPass", i ) );
+            }
+            else
+            {
+                suite.addTest( new BasicTest( "testFail", i ) );
+            }
+        }
+        return suite;
+    }
+
+    public void testFail()
+    {
+        fail( "failure " + number );
+    }
+
+    public void testPass()
+    {
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/long-windows-path/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/long-windows-path/pom.xml b/surefire-its/src/test/resources/long-windows-path/pom.xml
new file mode 100644
index 0000000..c65948c
--- /dev/null
+++ b/surefire-its/src/test/resources/long-windows-path/pom.xml
@@ -0,0 +1,57 @@
+<?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>long-windows-path</artifactId>
+  <version>1.0</version>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.12</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <forkMode>once</forkMode>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/long-windows-path/src/test/java/longwindowspath/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/long-windows-path/src/test/java/longwindowspath/BasicTest.java b/surefire-its/src/test/resources/long-windows-path/src/test/java/longwindowspath/BasicTest.java
new file mode 100644
index 0000000..bd9cf36
--- /dev/null
+++ b/surefire-its/src/test/resources/long-windows-path/src/test/java/longwindowspath/BasicTest.java
@@ -0,0 +1,36 @@
+package longwindowspath;
+
+/*
+ * 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;
+
+public class BasicTest
+{
+    @Test
+    public void test()
+    {
+        System.out.println( "SUREFIRE-1400 user.dir="
+                                    + System.getProperty( "user.dir" ) );
+
+        System.out.println( "SUREFIRE-1400 surefire.real.class.path="
+                                    + System.getProperty( "surefire.real.class.path" ) );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/modulepath/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/modulepath/pom.xml b/surefire-its/src/test/resources/modulepath/pom.xml
new file mode 100644
index 0000000..e4a7783
--- /dev/null
+++ b/surefire-its/src/test/resources/modulepath/pom.xml
@@ -0,0 +1,45 @@
+<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>foo</groupId>
+    <artifactId>app</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+
+    <name>app</name>
+
+    <properties>
+        <maven.compiler.release>9</maven.compiler.release>
+    </properties>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.6.2</version>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>${surefire.version}</version>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+        <dependency>
+            <groupId>joda-time</groupId>
+            <artifactId>joda-time</artifactId>
+            <version>2.9.9</version>
+        </dependency>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <version>6.11</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/modulepath/src/main/java/com/app/Main.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/modulepath/src/main/java/com/app/Main.java b/surefire-its/src/test/resources/modulepath/src/main/java/com/app/Main.java
new file mode 100644
index 0000000..6a44492
--- /dev/null
+++ b/surefire-its/src/test/resources/modulepath/src/main/java/com/app/Main.java
@@ -0,0 +1,34 @@
+package com.app;
+
+/*
+ * 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.joda.time.DateTime;
+
+public class Main
+{
+    public static void main( String... args )
+    {
+        System.out.println( "module path => " + System.getProperty( "jdk.module.path" ) );
+        System.out.println( " class path => " + System.getProperty( "java.class.path" ) );
+
+        DateTime dt = new DateTime();
+        System.out.println( dt );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/modulepath/src/main/java/module-info.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/modulepath/src/main/java/module-info.java b/surefire-its/src/test/resources/modulepath/src/main/java/module-info.java
new file mode 100644
index 0000000..5f3eed4
--- /dev/null
+++ b/surefire-its/src/test/resources/modulepath/src/main/java/module-info.java
@@ -0,0 +1,21 @@
+/*
+ * 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.
+ */
+module com.app {
+    requires joda.time;
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/modulepath/src/test/java/com/app/AppTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/modulepath/src/test/java/com/app/AppTest.java b/surefire-its/src/test/resources/modulepath/src/test/java/com/app/AppTest.java
new file mode 100644
index 0000000..aa836a4
--- /dev/null
+++ b/surefire-its/src/test/resources/modulepath/src/test/java/com/app/AppTest.java
@@ -0,0 +1,36 @@
+package com.app;
+
+/*
+ * 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.testng.annotations.Test;
+
+@Test
+public class AppTest
+{
+    public void testNoop()
+            throws Exception
+    {
+    }
+
+    public void testMain()
+    {
+        Main.main();
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/norunnableTests/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/norunnableTests/pom.xml b/surefire-its/src/test/resources/norunnableTests/pom.xml
new file mode 100644
index 0000000..dd1a3cc
--- /dev/null
+++ b/surefire-its/src/test/resources/norunnableTests/pom.xml
@@ -0,0 +1,58 @@
+<?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>norunnabletests</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test JUnit classes with inner classes</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.8.1</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>
+          <failIfNoTests>true</failIfNoTests>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/norunnableTests/src/test/java/junit/norunnabletests/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/norunnableTests/src/test/java/junit/norunnabletests/BasicTest.java b/surefire-its/src/test/resources/norunnableTests/src/test/java/junit/norunnabletests/BasicTest.java
new file mode 100644
index 0000000..30acd3e
--- /dev/null
+++ b/surefire-its/src/test/resources/norunnableTests/src/test/java/junit/norunnabletests/BasicTest.java
@@ -0,0 +1,28 @@
+package junit.norunnabletests;
+
+
+/*
+ * 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 junit.framework.TestCase;
+
+
+public class BasicTest extends TestCase
+{
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/parallel-runtime/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/parallel-runtime/pom.xml b/surefire-its/src/test/resources/parallel-runtime/pom.xml
new file mode 100644
index 0000000..f39f949
--- /dev/null
+++ b/surefire-its/src/test/resources/parallel-runtime/pom.xml
@@ -0,0 +1,42 @@
+<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>parallel-runtime</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <name>parallel-runtime</name>
+  <url>http://maven.apache.org</url>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.10</version>
+    </dependency>
+  </dependencies>
+
+    <properties>
+      <parallel>classes</parallel>
+      <threadCount>3</threadCount>
+      <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>
+             <threadCount>${threadCount}</threadCount>
+             <perCoreThreadCount>false</perCoreThreadCount>
+             <parallel>${parallel}</parallel>
+             <includes>
+                <include>**/Test*.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/parallel-runtime/src/test/java/runorder/parallel/Test1.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test1.java b/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test1.java
new file mode 100755
index 0000000..3b6abf3
--- /dev/null
+++ b/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test1.java
@@ -0,0 +1,69 @@
+package runorder.parallel;
+/*
+ * 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.Test;
+
+public class Test1
+{
+
+    public static final int ms = 5000;
+
+    static void sleep( int ms )
+    {
+        long target = System.currentTimeMillis() + ms;
+        try
+        {
+            do
+            {
+                Thread.sleep( ms );
+            } while ( System.currentTimeMillis() < target);
+        }
+        catch ( InterruptedException e )
+        {
+            throw new RuntimeException( e );
+        }
+    }
+
+    @Test
+    public void testSleep1()
+    {
+        Test1.sleep( ms );
+    }
+
+    @Test
+    public void testSleep2()
+    {
+        Test1.sleep( ms );
+    }
+
+    @Test
+    public void testSleep3()
+    {
+        Test1.sleep( ms );
+    }
+
+    @Test
+    public void testSleep4()
+    {
+        Test1.sleep( ms );
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test2.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test2.java b/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test2.java
new file mode 100644
index 0000000..f72c499
--- /dev/null
+++ b/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test2.java
@@ -0,0 +1,54 @@
+package runorder.parallel;
+
+/*
+ * 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 Kristian Rosenvold
+ */
+public class Test2
+{
+
+    @Test
+    public void testSleep1()
+    {
+        Test1.sleep( Test1.ms );
+    }
+
+    @Test
+    public void testSleep2()
+    {
+        Test1.sleep( Test1.ms );
+    }
+
+    @Test
+    public void testSleep3()
+    {
+        Test1.sleep( Test1.ms );
+    }
+
+    @Test
+    public void testSleep4()
+    {
+        Test1.sleep( Test1.ms );
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test3.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test3.java b/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test3.java
new file mode 100644
index 0000000..3557667
--- /dev/null
+++ b/surefire-its/src/test/resources/parallel-runtime/src/test/java/runorder/parallel/Test3.java
@@ -0,0 +1,55 @@
+package runorder.parallel;
+
+/*
+ * 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.Test;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class Test3
+{
+    @Test
+    public void testSleep1()
+    {
+        Test1.sleep( Test1.ms );
+    }
+
+    @Test
+    public void testSleep2()
+    {
+        Test1.sleep( Test1.ms );
+    }
+
+    @Test
+    public void testSleep3()
+    {
+        Test1.sleep( Test1.ms );
+    }
+
+    @Test
+    public void testSleep4()
+    {
+        Test1.sleep( Test1.ms );
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml b/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml
new file mode 100644
index 0000000..72bd38c
--- /dev/null
+++ b/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml
@@ -0,0 +1,57 @@
+<?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>plain-old-java-classpath</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for useManifestOnlyJar=false</name>
+
+  <properties>
+    <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>
+          <useManifestOnlyJar>false</useManifestOnlyJar>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/plain-old-java-classpath/src/test/java/plainOldJavaClasspath/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/plain-old-java-classpath/src/test/java/plainOldJavaClasspath/BasicTest.java b/surefire-its/src/test/resources/plain-old-java-classpath/src/test/java/plainOldJavaClasspath/BasicTest.java
new file mode 100644
index 0000000..e458631
--- /dev/null
+++ b/surefire-its/src/test/resources/plain-old-java-classpath/src/test/java/plainOldJavaClasspath/BasicTest.java
@@ -0,0 +1,87 @@
+package plainOldJavaClasspath;
+
+/*
+ * 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 junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class BasicTest
+    extends TestCase
+{
+
+    private boolean setUpCalled = false;
+
+    private static boolean tearDownCalled = false;
+
+    public BasicTest( String name, String extraName )
+    {
+        super( name );
+    }
+
+    public static Test suite()
+    {
+        System.out.println( "suite" );
+        TestSuite suite = new TestSuite();
+        Test test = new BasicTest( "testSetUp", "dummy" );
+        suite.addTest( test );
+
+        return new TestSetup( suite )
+        {
+
+            protected void setUp()
+            {
+                //oneTimeSetUp();
+            }
+
+            protected void tearDown()
+            {
+                oneTimeTearDown();
+            }
+
+        };
+    }
+
+    protected void setUp()
+    {
+        setUpCalled = true;
+        tearDownCalled = false;
+        System.out.println( "Called setUp" );
+    }
+
+    protected void tearDown()
+    {
+        setUpCalled = false;
+        tearDownCalled = true;
+        System.out.println( "Called tearDown" );
+    }
+
+    public void testSetUp()
+    {
+        assertTrue( "setUp was not called", setUpCalled );
+    }
+
+    public static void oneTimeTearDown()
+    {
+        assertTrue( "tearDown was not called", tearDownCalled );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/plexus-conflict/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/plexus-conflict/pom.xml b/surefire-its/src/test/resources/plexus-conflict/pom.xml
new file mode 100644
index 0000000..338904a
--- /dev/null
+++ b/surefire-its/src/test/resources/plexus-conflict/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>plexus-conflict</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for plexus conflict</name>
+
+  <properties>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>1.0.4</version>
+    </dependency>
+    <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>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/plexus-conflict/src/main/java/plexusConflict/CommandlineExtender.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/plexus-conflict/src/main/java/plexusConflict/CommandlineExtender.java b/surefire-its/src/test/resources/plexus-conflict/src/main/java/plexusConflict/CommandlineExtender.java
new file mode 100644
index 0000000..98f2615
--- /dev/null
+++ b/surefire-its/src/test/resources/plexus-conflict/src/main/java/plexusConflict/CommandlineExtender.java
@@ -0,0 +1,35 @@
+package plexusConflict;
+
+/*
+ * 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.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * Conflict with latest version of plexus by using modified protected class.
+ */
+public class CommandlineExtender
+    extends Commandline
+{
+    public CommandlineExtender()
+    {
+        // In 1.0.4, Commandline.envVars was a Vector; in 1.4.x, it's a Map.
+        super.envVars.add( "" );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/plexus-conflict/src/test/java/plexusConflict/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/plexus-conflict/src/test/java/plexusConflict/BasicTest.java b/surefire-its/src/test/resources/plexus-conflict/src/test/java/plexusConflict/BasicTest.java
new file mode 100644
index 0000000..96f1bba
--- /dev/null
+++ b/surefire-its/src/test/resources/plexus-conflict/src/test/java/plexusConflict/BasicTest.java
@@ -0,0 +1,37 @@
+package plexusConflict;
+
+
+/*
+ * 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 junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class BasicTest
+    extends TestCase
+{
+
+    public void testPlexusConflict()
+    {
+        CommandlineExtender ce = new CommandlineExtender();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/pojo-simple/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/pojo-simple/pom.xml b/surefire-its/src/test/resources/pojo-simple/pom.xml
new file mode 100644
index 0000000..45986ac
--- /dev/null
+++ b/surefire-its/src/test/resources/pojo-simple/pom.xml
@@ -0,0 +1,50 @@
+<?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>pojo-simple</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Pojo simple test</name>
+
+  <properties>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+
+  <!-- NOTE: This has no dependencies on JUnit or TestNG, just nothing -->
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${surefire.version}</version>
+        <configuration>
+          <testFailureIgnore>true</testFailureIgnore>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/pojo-simple/src/test/java/PojoTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/pojo-simple/src/test/java/PojoTest.java b/surefire-its/src/test/resources/pojo-simple/src/test/java/PojoTest.java
new file mode 100644
index 0000000..8e13ecb
--- /dev/null
+++ b/surefire-its/src/test/resources/pojo-simple/src/test/java/PojoTest.java
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+public class PojoTest
+{
+
+    public void testSuccess()
+    {
+        assert true;
+    }
+
+    public void testFailure()
+    {
+        assert false;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/pom.xml b/surefire-its/src/test/resources/pom.xml
new file mode 100644
index 0000000..e01ed4c
--- /dev/null
+++ b/surefire-its/src/test/resources/pom.xml
@@ -0,0 +1,40 @@
+<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.surefire</groupId>
+  <artifactId>it-parent</artifactId>
+  <packaging>pom</packaging>
+
+  <version>1.0</version>
+  <name>It parent</name>
+
+  <properties>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>${surefire.version}</version>
+          <configuration>
+            <forkMode>never</forkMode>
+          </configuration>
+        </plugin>
+        <plugin>
+          <artifactId>maven-failsafe-plugin</artifactId>
+          <version>${surefire.version}</version>
+          <configuration>
+            <forkMode>never</forkMode>
+          </configuration>
+        </plugin>
+        <plugin>
+          <artifactId>maven-surefire-report-plugin</artifactId>
+          <version>${surefire.version}</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/reporters/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/reporters/pom.xml b/surefire-its/src/test/resources/reporters/pom.xml
new file mode 100644
index 0000000..2152525
--- /dev/null
+++ b/surefire-its/src/test/resources/reporters/pom.xml
@@ -0,0 +1,49 @@
+<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>reporters</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <name>reporters</name>
+  <url>http://maven.apache.org</url>
+
+  <dependencies>
+    <dependency>
+       <groupId>org.testng</groupId>
+       <artifactId>testng</artifactId>
+       <version>5.8</version>
+       <scope>test</scope>
+       <classifier>jdk15</classifier>
+     </dependency>
+  </dependencies>
+  <build>
+     <plugins>
+        <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-surefire-plugin</artifactId>
+           <version>${surefire.version}</version>
+           <configuration>
+             <disableXmlReport>false</disableXmlReport>
+             <forkMode>${forkMode}</forkMode>
+             <printSummary>${printSummary}</printSummary>
+             <useFile>true</useFile>
+             <redirectTestOutputToFile>${redirect.to.file}</redirectTestOutputToFile>
+             <includes>
+                <include>**/Test*.java</include>
+             </includes>
+           </configuration>
+        </plugin>
+     </plugins>
+
+  </build>
+
+    <properties>
+      <junit.version>4.8.1</junit.version>
+      <redirect.to.file>true</redirect.to.file>
+      <forkMode>once</forkMode>
+      <printSummary>true</printSummary>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
+    </properties>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/reporters/src/test/java/reporters/Test1.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/reporters/src/test/java/reporters/Test1.java b/surefire-its/src/test/resources/reporters/src/test/java/reporters/Test1.java
new file mode 100644
index 0000000..e783db5
--- /dev/null
+++ b/surefire-its/src/test/resources/reporters/src/test/java/reporters/Test1.java
@@ -0,0 +1,30 @@
+package reporters;
+
+/*
+ * 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 junit.framework.TestCase;
+
+public class Test1 extends TestCase
+{
+    public void test6281() {
+        System.out.println( "Test1 on" + Thread.currentThread().getName());
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/reporters/src/test/java/reporters/Test2.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/reporters/src/test/java/reporters/Test2.java b/surefire-its/src/test/resources/reporters/src/test/java/reporters/Test2.java
new file mode 100644
index 0000000..e5622d2
--- /dev/null
+++ b/surefire-its/src/test/resources/reporters/src/test/java/reporters/Test2.java
@@ -0,0 +1,30 @@
+package reporters;
+
+/*
+ * 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 junit.framework.TestCase;
+
+public class Test2 extends TestCase
+{
+    public void test6281() {
+        System.out.println( "Test2 on" + Thread.currentThread().getName());
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/result-counting/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/result-counting/pom.xml b/surefire-its/src/test/resources/result-counting/pom.xml
new file mode 100644
index 0000000..fcb7372
--- /dev/null
+++ b/surefire-its/src/test/resources/result-counting/pom.xml
@@ -0,0 +1,41 @@
+<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>mag</groupId>
+  <artifactId>junit4-test</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <name>junit4-test</name>
+  <url>http://maven.apache.org</url>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>${junit.version}</version>
+    </dependency>
+  </dependencies>
+  <build>
+     <plugins>
+        <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-surefire-plugin</artifactId>
+           <version>${surefire.version}</version>
+           <configuration>
+             <forkMode>${forkMode}</forkMode>
+             <includes>
+                <include>**/Test*.java</include>
+               <include>**/MySuiteTest1.java</include>
+               <include>**/MySuiteTest2.java</include>
+               <include>**/MySuiteTest3.java</include>
+             </includes>
+           </configuration>
+        </plugin>
+     </plugins>
+  </build>
+  <properties>
+    <junit.version>4.8.1</junit.version>
+    <forkMode>once</forkMode>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest1.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest1.java b/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest1.java
new file mode 100644
index 0000000..137fdee
--- /dev/null
+++ b/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest1.java
@@ -0,0 +1,43 @@
+package resultcounting;
+
+/*
+ * 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 junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class MySuiteTest1 extends TestCase {
+
+    public static Test suite () {
+        TestSuite suite = new TestSuite();
+
+        suite.addTest (new MySuiteTest1("testMe" ));
+
+        return suite;
+    }
+
+    public MySuiteTest1( String name ) {
+        super (name);
+    }
+
+    public void testMe() {
+        assertTrue (true);
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest2.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest2.java b/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest2.java
new file mode 100644
index 0000000..9188290
--- /dev/null
+++ b/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest2.java
@@ -0,0 +1,44 @@
+package resultcounting;
+
+/*
+ * 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 junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class MySuiteTest2 extends TestCase {
+
+    public static Test suite () {
+        TestSuite suite = new TestSuite();
+
+        suite.addTest (new MySuiteTest2("testMe" ));
+        suite.addTest (new MySuiteTest2("testMe" ));
+
+        return suite;
+    }
+
+    public MySuiteTest2( String name ) {
+        super (name);
+    }
+
+    public void testMe() {
+        assertTrue (true);
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest3.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest3.java b/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest3.java
new file mode 100644
index 0000000..35c6e5b
--- /dev/null
+++ b/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/MySuiteTest3.java
@@ -0,0 +1,45 @@
+package resultcounting;
+
+/*
+ * 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 junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class MySuiteTest3 extends TestCase {
+
+    public static Test suite () {
+        TestSuite suite = new TestSuite();
+
+        suite.addTest (new MySuiteTest3("testMe" ));
+        suite.addTest (new MySuiteTest3("testMe" ));
+        suite.addTest (new MySuiteTest3("testMe" ));
+
+        return suite;
+    }
+
+    public MySuiteTest3( String name ) {
+        super (name);
+    }
+
+    public void testMe() {
+        assertTrue (true);
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/Test1.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/Test1.java b/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/Test1.java
new file mode 100644
index 0000000..c3283d2
--- /dev/null
+++ b/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/Test1.java
@@ -0,0 +1,76 @@
+package resultcounting;
+/*
+ * 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;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assume.*;
+import junit.framework.TestCase;
+
+public class Test1 extends TestCase
+{
+    public void testWithFailingAssumption1() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption2() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption3() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption4() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption5() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption6() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption7() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption8() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption9() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption10() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption11() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption12() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption13() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption14() {
+        assumeThat( 2, is(3));
+    }
+    public void testWithFailingAssumption15() {
+        assumeThat( 2, is(3));
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/Test2.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/Test2.java b/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/Test2.java
new file mode 100644
index 0000000..e5d5f53
--- /dev/null
+++ b/surefire-its/src/test/resources/result-counting/src/test/java/resultcounting/Test2.java
@@ -0,0 +1,127 @@
+package resultcounting;
+
+/*
+ * 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.Ignore;
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assume.*;
+import static junit.framework.Assert.fail;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class Test2
+{
+    @Test
+    public void testAllok()
+    {
+        System.out.println( "testAllok to stdout" );
+        System.err.println( "testAllok to stderr" );
+    }
+
+    @Ignore
+    @Test
+    public void testWithIgnore1()
+    {
+    }
+
+    @Ignore
+    @Test
+    public void testWithIgnore2()
+    {
+    }
+
+    @Test
+    public void testiWithFail1()
+    {
+        fail( "We excpect this" );
+    }
+
+    @Test
+    public void testiWithFail2()
+    {
+        fail( "We excpect this" );
+    }
+
+    @Test
+    public void testiWithFail3()
+    {
+        fail( "We excpect this" );
+    }
+
+    @Test
+    public void testiWithFail4()
+    {
+        fail( "We excpect this" );
+    }
+
+    @Test
+    public void testWithException1()
+    {
+        System.out.println( "testWithException1 to stdout" );
+        System.err.println( "testWithException1 to stderr" );
+        throw new RuntimeException( "We expect this" );
+    }
+
+    @Test
+    public void testWithException2()
+    {
+        throw new RuntimeException( "We expect this" );
+    }
+
+    @Test
+    public void testWithException3()
+    {
+        throw new RuntimeException( "We expect this" );
+    }
+
+    @Test
+    public void testWithException4()
+    {
+        throw new RuntimeException( "We expect this" );
+    }
+
+    @Test
+    public void testWithException5()
+    {
+        throw new RuntimeException( "We expect this" );
+    }
+
+    @Test
+    public void testWithException6()
+    {
+        throw new RuntimeException( "We expect this" );
+    }
+
+    @Test
+    public void testWithException7()
+    {
+        throw new RuntimeException( "We expect this" );
+    }
+
+    @Test
+    public void testWithException8()
+    {
+        throw new RuntimeException( "We expect this" );
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/runOrder/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/runOrder/pom.xml b/surefire-its/src/test/resources/runOrder/pom.xml
new file mode 100644
index 0000000..84abb53
--- /dev/null
+++ b/surefire-its/src/test/resources/runOrder/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>runOrder</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for runOrder</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.8.1</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>
+          <forkMode>once</forkMode>
+        </configuration>
+        <dependencies>
+        </dependencies>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestA.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestA.java b/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestA.java
new file mode 100644
index 0000000..cbf15e0
--- /dev/null
+++ b/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestA.java
@@ -0,0 +1,31 @@
+package junit.runOrder;
+
+/*
+ * 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 junit.framework.TestCase;
+
+public class TestA
+    extends TestCase
+{
+    public void testTwo()
+    {
+        System.out.println( "TA" );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestB.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestB.java b/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestB.java
new file mode 100644
index 0000000..96da722
--- /dev/null
+++ b/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestB.java
@@ -0,0 +1,31 @@
+package junit.runOrder;
+
+/*
+ * 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 junit.framework.TestCase;
+
+public class TestB
+    extends TestCase
+{
+    public void testTwo()
+    {
+        System.out.println( "TB" );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestC.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestC.java b/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestC.java
new file mode 100644
index 0000000..4ac63c2
--- /dev/null
+++ b/surefire-its/src/test/resources/runOrder/src/test/java/junit/runOrder/TestC.java
@@ -0,0 +1,31 @@
+package junit.runOrder;
+
+/*
+ * 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 junit.framework.TestCase;
+
+public class TestC
+    extends TestCase
+{
+    public void testTwo()
+    {
+        System.out.println( "TC" );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/runorder-parallel/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/runorder-parallel/pom.xml b/surefire-its/src/test/resources/runorder-parallel/pom.xml
new file mode 100644
index 0000000..1dee7d8
--- /dev/null
+++ b/surefire-its/src/test/resources/runorder-parallel/pom.xml
@@ -0,0 +1,42 @@
+<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>runorder-parallel</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <name>runorder-parallel</name>
+  <url>http://maven.apache.org</url>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.10</version>
+    </dependency>
+  </dependencies>
+
+  <properties>
+    <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>
+          <runOrder>balanced</runOrder>
+          <parallel>classesAndMethods</parallel>
+          <threadCountClasses>2</threadCountClasses>
+          <threadCountMethods>6</threadCountMethods>
+          <perCoreThreadCount>false</perCoreThreadCount>
+          <includes>
+            <include>**/Test*.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/runorder-parallel/src/test/java/runorder/parallel/Test1.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test1.java b/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test1.java
new file mode 100755
index 0000000..d11f48a
--- /dev/null
+++ b/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test1.java
@@ -0,0 +1,92 @@
+package runorder.parallel;
+
+/*
+ * 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.Test;
+
+public class Test1
+{
+
+    public Test1()
+    {
+        System.out.println( Thread.currentThread().getName() + " Constructor" );
+    }
+
+    static void sleep( int ms )
+    {
+        long target = System.currentTimeMillis() + ms;
+        try
+        {
+            do
+            {
+                Thread.sleep( 1L );
+            }
+            while ( System.currentTimeMillis() < target );
+        }
+        catch ( InterruptedException e )
+        {
+            throw new RuntimeException( e );
+        }
+    }
+
+    @Test
+    public void testSleep2000()
+    {
+        System.out.println(
+            Thread.currentThread().getName() + " Test1.sleep2000 started @ " + System.currentTimeMillis() );
+        sleep( 2000 );
+    }
+
+    @Test
+    public void testSleep4000()
+    {
+        System.out.println(
+            Thread.currentThread().getName() + " Test1.sleep4000 started @ " + System.currentTimeMillis() );
+        sleep( 4000 );
+    }
+
+    @Test
+    public void testSleep6000()
+    {
+        System.out.println(
+            Thread.currentThread().getName() + " Test1.sleep6000 started @ " + System.currentTimeMillis() );
+        sleep( 6000 );
+    }
+
+    @BeforeClass
+    public static void setUpBeforeClass()
+        throws Exception
+    {
+        System.out.println( Thread.currentThread().getName() + " beforeClass sleep 175 " + System.currentTimeMillis() );
+        Thread.sleep( 175 );
+    }
+
+    @AfterClass
+    public static void tearDownAfterClass()
+        throws Exception
+    {
+        System.out.println( Thread.currentThread().getName() + " afterClass sleep 175 " + System.currentTimeMillis() );
+        Thread.sleep( 175 );
+    }
+
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test2.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test2.java b/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test2.java
new file mode 100644
index 0000000..dfa4f4f
--- /dev/null
+++ b/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test2.java
@@ -0,0 +1,50 @@
+package runorder.parallel;
+
+/*
+ * 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 Kristian Rosenvold
+ */
+public class Test2
+{
+
+    @Test
+    public void testSleep1000()
+    {
+        System.out.println( "Test2.sleep1000 started @ " + System.currentTimeMillis() );
+        Test1.sleep( 1000 );
+    }
+
+    @Test
+    public void testSleep3000()
+    {
+        System.out.println( "Test2.sleep3000 started @ " + System.currentTimeMillis() );
+        Test1.sleep( 3000 );
+    }
+
+    @Test
+    public void testSleep5000()
+    {
+        System.out.println( "Test2.sleep5000 started @ " + System.currentTimeMillis() );
+        Test1.sleep( 5000 );
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test3.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test3.java b/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test3.java
new file mode 100644
index 0000000..0dbc57e
--- /dev/null
+++ b/surefire-its/src/test/resources/runorder-parallel/src/test/java/runorder/parallel/Test3.java
@@ -0,0 +1,83 @@
+package runorder.parallel;
+
+/*
+ * 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.Test;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class Test3
+{
+
+    private void sleep( int ms )
+    {
+        try
+        {
+            Thread.sleep( ms );
+        }
+        catch ( InterruptedException e )
+        {
+            throw new RuntimeException( e );
+        }
+    }
+
+    @Test
+    public void testSleep100()
+    {
+        System.out.println( "Test3.sleep100 started @ " + System.currentTimeMillis() );
+        Test1.sleep( 100 );
+    }
+
+    @Test
+    public void testSleep300()
+    {
+        System.out.println( "Test3.sleep300 started @ " + System.currentTimeMillis() );
+        Test1.sleep( 300 );
+    }
+
+    @Test
+    public void testSleep500()
+    {
+        System.out.println( "Test3.sleep500 started @ " + System.currentTimeMillis() );
+        Test1.sleep( 500 );
+    }
+
+    @BeforeClass
+    public static void setUpBeforeClass()
+        throws Exception
+    {
+        System.out.println(
+            Thread.currentThread().getName() + " Test3 beforeClass sleep 175 " + System.currentTimeMillis() );
+        Thread.sleep( 175 );
+    }
+
+    @AfterClass
+    public static void tearDownAfterClass()
+        throws Exception
+    {
+        System.out.println(
+            Thread.currentThread().getName() + " Test3 afterClass sleep 175 " + System.currentTimeMillis() );
+        Thread.sleep( 175 );
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/settings.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/settings.xml b/surefire-its/src/test/resources/settings.xml
new file mode 100644
index 0000000..991a3e3
--- /dev/null
+++ b/surefire-its/src/test/resources/settings.xml
@@ -0,0 +1,53 @@
+<?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.
+  -->
+<settings>
+  <profiles>
+    <profile>
+      <id>it-repo</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <repositories>
+        <repository>
+          <id>local.central</id>
+          <url>${localRepositoryUrl}</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>true</enabled>
+          </snapshots>
+        </repository>
+      </repositories>
+      <pluginRepositories>
+        <pluginRepository>
+          <id>local.central</id>
+          <url>${localRepositoryUrl}</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>true</enabled>
+          </snapshots>
+        </pluginRepository>
+      </pluginRepositories>
+    </profile>
+  </profiles>
+</settings>