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/18 00:47:26 UTC

[14/52] [abbrv] [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/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire901MIssingResultfileWhenNoTestsIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire901MIssingResultfileWhenNoTestsIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire901MIssingResultfileWhenNoTestsIT.java
new file mode 100644
index 0000000..14e278e
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire901MIssingResultfileWhenNoTestsIT.java
@@ -0,0 +1,39 @@
+package org.apache.maven.surefire.its.jiras;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+
+import org.junit.Test;
+
+/**
+ * Failsafe should work with early return when no tests
+ * s
+ */
+public class Surefire901MIssingResultfileWhenNoTestsIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+    @Test
+    public void failsafeWithNoTests()
+    {
+        unpack( "failsafe-notests" ).executeVerify();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire907PerThreadWithoutThreadCountIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire907PerThreadWithoutThreadCountIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire907PerThreadWithoutThreadCountIT.java
new file mode 100755
index 0000000..8317c52
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire907PerThreadWithoutThreadCountIT.java
@@ -0,0 +1,42 @@
+package org.apache.maven.surefire.its.jiras;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+
+import org.junit.Test;
+
+public class Surefire907PerThreadWithoutThreadCountIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+    @Test
+    public void categoryAB()
+    {
+        OutputValidator validator = unpack( "fork-mode" )
+                .forkPerThread()
+                .reuseForks( false )
+                .maven()
+                .withFailure()
+                .executeTest();
+
+        validator.verifyTextInLog( "Fork mode perthread requires a thread count" );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire920TestFailureIgnoreWithTimeoutIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire920TestFailureIgnoreWithTimeoutIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire920TestFailureIgnoreWithTimeoutIT.java
new file mode 100755
index 0000000..4f60895
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire920TestFailureIgnoreWithTimeoutIT.java
@@ -0,0 +1,45 @@
+package org.apache.maven.surefire.its.jiras;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+
+import org.junit.Test;
+
+public class Surefire920TestFailureIgnoreWithTimeoutIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+    @Test
+    public void timeoutInForkWithBuildFail()
+    {
+        OutputValidator validator =
+            unpack( "fork-timeout" ).sysProp( "junit.parallel", "none" ).maven().withFailure().executeTest();
+        validator.verifyTextInLog( "There was a timeout or other error in the fork" );
+    }
+
+    @Test
+    public void timeoutInForkWithNoBuildFail()
+    {
+        OutputValidator validator =
+            unpack( "fork-timeout" ).sysProp( "junit.parallel", "none" ).mavenTestFailureIgnore( true ).executeTest();
+        validator.verifyTextInLog( "[ERROR] There was a timeout or other error in the fork" );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire926FailureWith2ProvidersIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire926FailureWith2ProvidersIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire926FailureWith2ProvidersIT.java
new file mode 100644
index 0000000..e6f9dc6
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire926FailureWith2ProvidersIT.java
@@ -0,0 +1,36 @@
+package org.apache.maven.surefire.its.jiras;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.junit.Test;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class Surefire926FailureWith2ProvidersIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+    @Test
+    public void testBuildFailingWhenErrors()
+    {
+        unpack( "surefire-926-2-provider-failure" ).maven().withFailure().executeTest();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire930TestNgSuiteXmlIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire930TestNgSuiteXmlIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire930TestNgSuiteXmlIT.java
new file mode 100644
index 0000000..5963662
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire930TestNgSuiteXmlIT.java
@@ -0,0 +1,37 @@
+package org.apache.maven.surefire.its.jiras;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+
+import org.junit.Test;
+
+public class Surefire930TestNgSuiteXmlIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+
+    @Test
+    public void suiteXmlRun()
+    {
+        unpack(
+            "surefire-930-failsafe-runtests" ).maven().withFailure().executeVerify().assertIntegrationTestSuiteResults(
+            1, 0, 1, 0 );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire943ReportContentIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire943ReportContentIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire943ReportContentIT.java
new file mode 100644
index 0000000..59d2170
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire943ReportContentIT.java
@@ -0,0 +1,159 @@
+package org.apache.maven.surefire.its.jiras;
+
+/*
+ * 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 java.io.FileNotFoundException;
+
+import org.apache.maven.shared.utils.xml.Xpp3Dom;
+import org.apache.maven.shared.utils.xml.Xpp3DomBuilder;
+import org.apache.maven.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class Surefire943ReportContentIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+
+    @Test
+    public void test_noParallel()
+        throws Exception
+    {
+        doTest( "none" );
+    }
+
+    @Test
+    public void test_parallelBoth()
+        throws Exception
+    {
+        doTest( "both" );
+    }
+
+    private void doTest( String parallelMode )
+        throws Exception
+    {
+        OutputValidator validator =
+            unpack( "surefire-943-report-content" ).maven()
+            .sysProp( "parallel", parallelMode )
+            .sysProp( "threadCount", 4 )
+            .withFailure().executeTest();
+
+        validator.assertTestSuiteResults( 10, 1, 3, 3 );
+
+        validate( validator, "org.sample.module.My1Test", 1 );
+        validate( validator, "org.sample.module.My2Test", 1 );
+        validate( validator, "org.sample.module.My3Test", 0 );
+        validateSkipped( validator, "org.sample.module.My4Test" );
+        validateFailInBeforeClass( validator, "org.sample.module.My5Test" );
+    }
+
+    private void validateFailInBeforeClass( OutputValidator validator, String className )
+        throws FileNotFoundException
+    {
+        Xpp3Dom[] children = readTests( validator, className );
+
+        Assert.assertEquals( 1, children.length );
+
+        Xpp3Dom child = children[0];
+
+        Assert.assertEquals( className, child.getAttribute( "classname" ) );
+        Assert.assertEquals( className, child.getAttribute( "name" ) );
+
+        Assert.assertEquals( "Expected error tag for failed BeforeClass method for " + className, 1,
+                             child.getChildren( "error" ).length );
+
+        Assert.assertTrue( "time for test failure in BeforeClass is expected to be positive",
+                           Double.compare( Double.parseDouble( child.getAttribute( "time" ) ), 0.0d ) >= 0 );
+
+        Assert.assertTrue( "time for test failure in BeforeClass is expected to be resonably low",
+                           Double.compare( Double.parseDouble( child.getAttribute( "time" ) ), 2.0d ) <= 0 );
+
+    }
+
+    private void validateSkipped( OutputValidator validator, String className )
+        throws FileNotFoundException
+    {
+        Xpp3Dom[] children = readTests( validator, className );
+
+        Assert.assertEquals( 1, children.length );
+
+        Xpp3Dom child = children[0];
+
+        Assert.assertEquals( className, child.getAttribute( "classname" ) );
+        Assert.assertEquals( className, child.getAttribute( "name" ) );
+
+        Assert.assertEquals( "Expected skipped tag for ignored method for " + className, 1,
+                             child.getChildren( "skipped" ).length );
+
+        Assert.assertTrue( "time for ignored test is expected to be zero",
+                           Double.compare( Double.parseDouble( child.getAttribute( "time" ) ), 0.0d ) == 0 );
+    }
+
+    private void validate( OutputValidator validator, String className, int ignored )
+        throws FileNotFoundException
+    {
+        Xpp3Dom[] children = readTests( validator, className );
+
+        Assert.assertEquals( 2 + ignored, children.length );
+
+        for ( Xpp3Dom child : children )
+        {
+            Assert.assertEquals( className, child.getAttribute( "classname" ) );
+
+            if ( "alwaysSuccessful".equals( child.getAttribute( "name" ) ) )
+            {
+                Assert.assertEquals( "Expected no failures for method alwaysSuccessful for " + className, 0,
+                                     child.getChildCount() );
+
+                Assert.assertTrue( "time for successful test is expected to be positive",
+                                   Double.compare( Double.parseDouble( child.getAttribute( "time" ) ), 0.0d ) > 0 );
+            }
+            else if ( child.getAttribute( "name" ).contains( "Ignored" ) )
+            {
+                Assert.assertEquals( "Expected skipped-tag for ignored method for " + className, 1,
+                                     child.getChildren( "skipped" ).length );
+
+                Assert.assertTrue( "time for ignored test is expected to be zero",
+                                   Double.compare( Double.parseDouble( child.getAttribute( "time" ) ), 0.0d ) == 0 );
+
+            }
+            else
+            {
+                Assert.assertEquals( "Expected methods \"alwaysSuccessful\", \"*Ignored\" and \"fails\" in "
+                    + className, "fails", child.getAttribute( "name" ) );
+                Assert.assertEquals( "Expected failure description for method \"fails\" in " + className, 1,
+                                     child.getChildren( "failure" ).length );
+                Assert.assertTrue( "time for failed test is expected to be positive",
+                                   Double.compare( Double.parseDouble( child.getAttribute( "time" ) ), 0.0d ) > 0 );
+            }
+        }
+    }
+
+    private Xpp3Dom[] readTests( OutputValidator validator, String className )
+        throws FileNotFoundException
+    {
+        Xpp3Dom testResult =
+            Xpp3DomBuilder.build( validator.getSurefireReportsXmlFile( "TEST-" + className + ".xml" ).getFileInputStream(),
+                                  "UTF-8" );
+        Xpp3Dom[] children = testResult.getChildren( "testcase" );
+        return children;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire946KillMainProcessInReusableForkIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire946KillMainProcessInReusableForkIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire946KillMainProcessInReusableForkIT.java
new file mode 100644
index 0000000..ea663ab
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire946KillMainProcessInReusableForkIT.java
@@ -0,0 +1,71 @@
+package org.apache.maven.surefire.its.jiras;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class Surefire946KillMainProcessInReusableForkIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+
+    // there are 10 test classes that each would wait 2 seconds.
+    private static final int TEST_SLEEP_TIME = 2000;
+
+    @BeforeClass
+    public static void installSelfdestructPlugin()
+        throws Exception
+    {
+        unpack( Surefire946KillMainProcessInReusableForkIT.class, "surefire-946-self-destruct-plugin", "plugin" ).executeInstall();
+    }
+
+    @Test( timeout = 30000 )
+    public void testHalt()
+        throws Exception
+    {
+        doTest( "halt" );
+    }
+
+    @Test( timeout = 30000 )
+    public void testExit()
+        throws Exception
+    {
+        doTest( "exit" );
+    }
+
+    @Test( timeout = 30000 )
+    public void testInterrupt()
+        throws Exception
+    {
+        doTest( "interrupt" );
+    }
+
+    private void doTest( String method )
+    {
+        unpack( "surefire-946-killMainProcessInReusableFork" )
+            .sysProp( "selfdestruct.timeoutInMillis", "5000" )
+            .sysProp( "selfdestruct.method", method )
+            .sysProp( "testSleepTime", String.valueOf( TEST_SLEEP_TIME ) )
+            .addGoal( "org.apache.maven.plugins.surefire:maven-selfdestruct-plugin:selfdestruct" )
+            .setForkJvm()
+            .forkPerThread().threadCount( 1 ).reuseForks( true ).maven().withFailure().executeTest();
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire972BizarreNoClassDefIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire972BizarreNoClassDefIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire972BizarreNoClassDefIT.java
new file mode 100644
index 0000000..94db9f8
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire972BizarreNoClassDefIT.java
@@ -0,0 +1,32 @@
+package org.apache.maven.surefire.its.jiras;
+
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.junit.Test;
+
+/*
+ * 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 Surefire972BizarreNoClassDefIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+    @Test
+    public void testJunit3ParallelBuildResultCount()
+    {
+        unpack( "surefire-972-bizarre-noclassdef" ).maven().withFailure().executeVerify();
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire975DefaultVMEncodingIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire975DefaultVMEncodingIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire975DefaultVMEncodingIT.java
new file mode 100644
index 0000000..0f30dbc
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire975DefaultVMEncodingIT.java
@@ -0,0 +1,40 @@
+package org.apache.maven.surefire.its.jiras;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.junit.Test;
+
+public class Surefire975DefaultVMEncodingIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+
+    @Test
+    public void runWithRussian1251()
+        throws Exception
+    {
+        OutputValidator outputValidator =
+            unpack( "surefire-975-wrong-encoding" ).setMavenOpts( "-Dfile.encoding=windows-1251" ).executeTest();
+        outputValidator.getSurefireReportsXmlFile( "TEST-EncodingInReportTest.xml" ).assertContainsText(
+            "\u043A\u0438\u0440\u0438\u043B\u043B\u0438\u0446\u0435" );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire979WrongClassLoaderIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire979WrongClassLoaderIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire979WrongClassLoaderIT.java
new file mode 100644
index 0000000..d648576
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire979WrongClassLoaderIT.java
@@ -0,0 +1,39 @@
+package org.apache.maven.surefire.its.jiras;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.junit.Test;
+
+public class Surefire979WrongClassLoaderIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+
+    @Test
+    public void wrongClassloaderUSedInSmartStacktraceparser()
+        throws Exception
+    {
+        OutputValidator outputValidator =
+            unpack( "surefire-979-smartStackTrace-wrongClassloader" ).failNever().executeTest();
+        outputValidator.verifyTextInLog( "java.lang.NoClassDefFoundError: org/apache/commons/io/input/AutoCloseInputStream" );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire985ParameterizedRunnerAndCategoriesIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire985ParameterizedRunnerAndCategoriesIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire985ParameterizedRunnerAndCategoriesIT.java
new file mode 100644
index 0000000..b86b291
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire985ParameterizedRunnerAndCategoriesIT.java
@@ -0,0 +1,68 @@
+package org.apache.maven.surefire.its.jiras;
+
+/*
+ * 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 java.io.FileNotFoundException;
+
+import org.apache.maven.shared.utils.xml.Xpp3Dom;
+import org.apache.maven.shared.utils.xml.Xpp3DomBuilder;
+import org.apache.maven.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.apache.maven.surefire.its.fixture.TestFile;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class Surefire985ParameterizedRunnerAndCategoriesIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+
+    @Test
+    public void test()
+        throws Exception
+    {
+        OutputValidator validator = unpack( "surefire-985-parameterized-and-categories" ).maven().executeTest();
+        validator.assertTestSuiteResults( 12, 0, 0, 0 );
+
+        assertFalse( validator.getSurefireReportsXmlFile( "TEST-sample.parameterized.Parameterized01Test.xml" ).exists() );
+
+        TestFile reportFile2 =
+            validator.getSurefireReportsXmlFile( "TEST-sample.parameterized.Parameterized02Test.xml" );
+        assertTestCount( reportFile2, 4 );
+
+        TestFile reportFile3 =
+            validator.getSurefireReportsXmlFile( "TEST-sample.parameterized.Parameterized03Test.xml" );
+        assertTestCount( reportFile3, 8 );
+
+    }
+
+    private void assertTestCount( TestFile reportFile, int tests )
+        throws FileNotFoundException
+    {
+        assertTrue( reportFile.exists() );
+
+        Xpp3Dom testResult = Xpp3DomBuilder.build( reportFile.getFileInputStream(), "UTF-8" );
+        Xpp3Dom[] children = testResult.getChildren( "testcase" );
+        assertEquals( tests, children.length );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire995CategoryInheritanceIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire995CategoryInheritanceIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire995CategoryInheritanceIT.java
new file mode 100644
index 0000000..d776724
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire995CategoryInheritanceIT.java
@@ -0,0 +1,90 @@
+package org.apache.maven.surefire.its.jiras;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.apache.maven.surefire.its.fixture.SurefireLauncher;
+import org.junit.Test;
+
+/**
+ * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
+ * @see <a href="https://issues.apache.org/jira/browse/SUREFIRE-995">SUREFIRE-995</a>
+ * @since 2.18.1
+ */
+public class Surefire995CategoryInheritanceIT
+    extends SurefireJUnit4IntegrationTestCase
+{
+
+    @Test
+    public void negativeTestShouldRunAllCategories()
+    {
+        unpack()
+            .setTestToRun( "Special*Test" )
+            .executeTest()
+            .verifyErrorFree( 3 );
+    }
+
+    @Test
+    public void junit411ShouldRunExplicitCategory()
+    {
+        unpack()
+            .addGoal( "-Ppositive-tests" )
+            .sysProp( "version.junit", "4.11" )
+            .executeTest()
+            .verifyErrorFree( 1 )
+            .verifyTextInLog( "CategorizedTest#a" );
+    }
+
+    @Test
+    public void junit411ShouldExcludeExplicitCategory()
+    {
+        unpack()
+            .addGoal( "-Ppositive-tests-excluded-categories" )
+            .sysProp( "version.junit", "4.11" )
+            .executeTest()
+            .verifyErrorFree( 2 );
+    }
+
+    @Test
+    public void junit412ShouldRunInheritedCategory()
+    {
+        unpack()
+            .setTestToRun( "Special*Test" )
+            .addGoal( "-Ppositive-tests" )
+            .executeTest()
+            .verifyErrorFree( 2 );
+    }
+
+    @Test
+    public void junit412ShouldExcludeInheritedCategory()
+    {
+        unpack()
+            .setTestToRun( "Special*Test" )
+            .addGoal( "-Ppositive-tests-excluded-categories" )
+            .executeTest()
+            .verifyErrorFree( 1 )
+            .verifyTextInLog( "SpecialNonCategoryTest#test" );
+    }
+
+    private SurefireLauncher unpack()
+    {
+        return unpack( "surefire-995-categoryInheritance" );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/SurefireToolchains/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/SurefireToolchains/pom.xml b/surefire-its/src/test/resources/SurefireToolchains/pom.xml
new file mode 100644
index 0000000..2d066eb
--- /dev/null
+++ b/surefire-its/src/test/resources/SurefireToolchains/pom.xml
@@ -0,0 +1,72 @@
+
+<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>test</groupId>
+    <artifactId>SurefireToolchains</artifactId>
+    <packaging>jar</packaging>
+    <version>1.0-SNAPSHOT</version>
+    <name>Test :: SurefireToolchains</name>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <prerequisites>
+        <maven>2.2.1</maven>
+    </prerequisites>
+    
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.8.2</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.3.2</version>
+                <configuration>
+                    <source>1.5</source>
+                    <target>1.5</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>${surefire.version}</version>
+                <configuration>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-toolchains-plugin</artifactId>
+                <version>1.0</version>
+                <executions>
+                    <execution>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>toolchain</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <toolchains>
+                        <jdk>
+                            <version>1.5</version>
+                            <vendor>sun</vendor>
+                        </jdk>
+                    </toolchains>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/SurefireToolchains/src/main/java/test/surefiretoolchains/App.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/SurefireToolchains/src/main/java/test/surefiretoolchains/App.java b/surefire-its/src/test/resources/SurefireToolchains/src/main/java/test/surefiretoolchains/App.java
new file mode 100644
index 0000000..0a56a54
--- /dev/null
+++ b/surefire-its/src/test/resources/SurefireToolchains/src/main/java/test/surefiretoolchains/App.java
@@ -0,0 +1,29 @@
+package test.surefiretoolchains;
+
+/*
+ * 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 final class App
+{
+
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/SurefireToolchains/src/test/java/test/surefiretoolchains/AppTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/SurefireToolchains/src/test/java/test/surefiretoolchains/AppTest.java b/surefire-its/src/test/resources/SurefireToolchains/src/test/java/test/surefiretoolchains/AppTest.java
new file mode 100644
index 0000000..1c061d0
--- /dev/null
+++ b/surefire-its/src/test/resources/SurefireToolchains/src/test/java/test/surefiretoolchains/AppTest.java
@@ -0,0 +1,36 @@
+package test.surefiretoolchains;
+
+/*
+ * 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.*;
+
+public class AppTest
+{
+
+    @Test
+    public void testApp()
+    {
+        // 1.5.0_19-b02
+        assertEquals( "1.5.0_19", System.getProperty( "java.version" ) );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/additional-classpath/extraResource/test.txt
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/additional-classpath/extraResource/test.txt b/surefire-its/src/test/resources/additional-classpath/extraResource/test.txt
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/additional-classpath/extraResource2/test2.txt
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/additional-classpath/extraResource2/test2.txt b/surefire-its/src/test/resources/additional-classpath/extraResource2/test2.txt
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/additional-classpath/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/additional-classpath/pom.xml b/surefire-its/src/test/resources/additional-classpath/pom.xml
new file mode 100644
index 0000000..01ce10c
--- /dev/null
+++ b/surefire-its/src/test/resources/additional-classpath/pom.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/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>additional-classpath</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for additionalClasspathElements</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <additionalClasspathElements>
+            <additionalClasspathElement>${basedir}/extraResource</additionalClasspathElement>
+            <additionalClasspathElement>${abc}, ${basedir}/extraResource2</additionalClasspathElement>
+            <!-- SUREFIRE-694 -->
+            <additionalClasspathElement></additionalClasspathElement>
+            <!-- SUREFIRE-694 -->
+          </additionalClasspathElements>
+        </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/4d00932a/surefire-its/src/test/resources/additional-classpath/src/test/java/additionalClasspath/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/additional-classpath/src/test/java/additionalClasspath/BasicTest.java b/surefire-its/src/test/resources/additional-classpath/src/test/java/additionalClasspath/BasicTest.java
new file mode 100644
index 0000000..43826b8
--- /dev/null
+++ b/surefire-its/src/test/resources/additional-classpath/src/test/java/additionalClasspath/BasicTest.java
@@ -0,0 +1,34 @@
+package additionalClasspath;
+
+/*
+ * 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
+{
+
+    public void testExtraResource()
+    {
+        assertNotNull( BasicTest.class.getResourceAsStream( "/test.txt" ) );
+        assertNotNull( BasicTest.class.getResourceAsStream( "/test2.txt" ) );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/aggregate-report/child1/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/aggregate-report/child1/pom.xml b/surefire-its/src/test/resources/aggregate-report/child1/pom.xml
new file mode 100644
index 0000000..9897a25
--- /dev/null
+++ b/surefire-its/src/test/resources/aggregate-report/child1/pom.xml
@@ -0,0 +1,52 @@
+<?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.plugins.surefire</groupId>
+    <artifactId>aggregate-report</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  
+  <artifactId>aggregate-child1</artifactId>
+  <name>child1 for aggregate-reports</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <reporting>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-report-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </reporting>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/aggregate-report/child1/src/test/java/aggregateReport/FailingTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/aggregate-report/child1/src/test/java/aggregateReport/FailingTest.java b/surefire-its/src/test/resources/aggregate-report/child1/src/test/java/aggregateReport/FailingTest.java
new file mode 100644
index 0000000..440ade7
--- /dev/null
+++ b/surefire-its/src/test/resources/aggregate-report/child1/src/test/java/aggregateReport/FailingTest.java
@@ -0,0 +1,33 @@
+package aggregateReport;
+
+/*
+ * 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 FailingTest
+    extends TestCase
+{
+
+    public void testFailure()
+    {
+        fail( "This test is supposed to fail" );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/aggregate-report/child2/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/aggregate-report/child2/pom.xml b/surefire-its/src/test/resources/aggregate-report/child2/pom.xml
new file mode 100644
index 0000000..b67c49a
--- /dev/null
+++ b/surefire-its/src/test/resources/aggregate-report/child2/pom.xml
@@ -0,0 +1,52 @@
+<?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.plugins.surefire</groupId>
+    <artifactId>aggregate-report</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>aggregate-child2</artifactId>
+  <name>child2 for aggregate-reports</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <reporting>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-report-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </reporting>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/aggregate-report/child2/src/test/java/aggregateReport/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/aggregate-report/child2/src/test/java/aggregateReport/BasicTest.java b/surefire-its/src/test/resources/aggregate-report/child2/src/test/java/aggregateReport/BasicTest.java
new file mode 100644
index 0000000..529e7ca
--- /dev/null
+++ b/surefire-its/src/test/resources/aggregate-report/child2/src/test/java/aggregateReport/BasicTest.java
@@ -0,0 +1,87 @@
+package aggregateReport;
+
+/*
+ * 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/4d00932a/surefire-its/src/test/resources/aggregate-report/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/aggregate-report/pom.xml b/surefire-its/src/test/resources/aggregate-report/pom.xml
new file mode 100644
index 0000000..42f0f32
--- /dev/null
+++ b/surefire-its/src/test/resources/aggregate-report/pom.xml
@@ -0,0 +1,67 @@
+<?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>aggregate-report</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for aggregate-report</name>
+  <packaging>pom</packaging>
+  <modules>
+    <module>child1</module>
+    <module>child2</module>
+  </modules>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>${surefire.version}</version>
+          <configuration>
+            <testFailureIgnore>true</testFailureIgnore>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  
+  <reporting>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-report-plugin</artifactId>
+        <configuration>
+          <aggregate>true</aggregate>
+        </configuration>
+      </plugin>
+    </plugins>
+  </reporting>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/ant-ignore/.gitignore
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/ant-ignore/.gitignore b/surefire-its/src/test/resources/ant-ignore/.gitignore
new file mode 100644
index 0000000..2d7276b
--- /dev/null
+++ b/surefire-its/src/test/resources/ant-ignore/.gitignore
@@ -0,0 +1,3 @@
+*.jar
+TEST*
+

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/ant-ignore/build.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/ant-ignore/build.xml b/surefire-its/src/test/resources/ant-ignore/build.xml
new file mode 100644
index 0000000..69795d0
--- /dev/null
+++ b/surefire-its/src/test/resources/ant-ignore/build.xml
@@ -0,0 +1,52 @@
+<project name="MyProject" xmlns:ivy="antlib:org.apache.ivy.ant" default="dist" basedir=".">
+    <description>
+        simple example build file
+    </description>
+  <!-- set global properties for this build -->
+  <property name="src" location="src/test"/>
+  <property name="build" location="build"/>
+  <property name="dist"  location="dist"/>
+
+
+    <target name="resolve" description="--> retrieve dependencies with ivy">
+        <ivy:retrieve />
+    </target>
+
+  <target name="init">
+    <!-- Create the time stamp -->
+    <tstamp/>
+    <!-- Create the build directory structure used by compile -->
+    <mkdir dir="${build}"/>
+  </target>
+
+  <target name="compile" depends="init, resolve"
+        description="compile the source " >
+    <javac srcdir="${src}" destdir="${build}" includeantruntime="true" classpath="lib/junit-4.8.1.jar" />
+  </target>
+
+  <target name="dist" depends="compile"
+        description="generate the distribution" >
+    <!-- Create the distribution directory -->
+    <mkdir dir="${dist}/lib"/>
+
+    <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
+    <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>
+  </target>
+
+  <target name="test" depends="compile">
+    <junit>
+      <classpath path="build:lib/junit-4.8.1.jar"/>
+      <formatter type="brief" usefile="true" />
+      <formatter type="xml" usefile="true" />
+      <test name="antignore.BasicTest" />
+    </junit>
+</target>
+
+  <target name="clean"
+        description="clean up" >
+    <!-- Delete the ${build} and ${dist} directory trees -->
+    <delete dir="${build}"/>
+    <delete dir="${dist}"/>
+  </target>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/ant-ignore/ivy.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/ant-ignore/ivy.xml b/surefire-its/src/test/resources/ant-ignore/ivy.xml
new file mode 100644
index 0000000..64df19c
--- /dev/null
+++ b/surefire-its/src/test/resources/ant-ignore/ivy.xml
@@ -0,0 +1,6 @@
+<ivy-module version="2.0">
+    <info organisation="org.apache" module="hello-ivy"/>
+    <dependencies>
+        <dependency org="junit" name="junit" rev="4.8.1"/>
+    </dependencies>
+</ivy-module>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/ant-ignore/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/ant-ignore/pom.xml b/surefire-its/src/test/resources/ant-ignore/pom.xml
new file mode 100644
index 0000000..6360bed
--- /dev/null
+++ b/surefire-its/src/test/resources/ant-ignore/pom.xml
@@ -0,0 +1,47 @@
+<?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>ant-ignore</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test of @Ignore annotation, can be used side-by-side with maven and ant </name>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.4</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/ant-ignore/src/ivy.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/ant-ignore/src/ivy.xml b/surefire-its/src/test/resources/ant-ignore/src/ivy.xml
new file mode 100644
index 0000000..64df19c
--- /dev/null
+++ b/surefire-its/src/test/resources/ant-ignore/src/ivy.xml
@@ -0,0 +1,6 @@
+<ivy-module version="2.0">
+    <info organisation="org.apache" module="hello-ivy"/>
+    <dependencies>
+        <dependency org="junit" name="junit" rev="4.8.1"/>
+    </dependencies>
+</ivy-module>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/ant-ignore/src/test/java/antignore/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/ant-ignore/src/test/java/antignore/BasicTest.java b/surefire-its/src/test/resources/ant-ignore/src/test/java/antignore/BasicTest.java
new file mode 100644
index 0000000..750bd60
--- /dev/null
+++ b/surefire-its/src/test/resources/ant-ignore/src/test/java/antignore/BasicTest.java
@@ -0,0 +1,42 @@
+package antignore;
+
+/*
+ * 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.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+public class BasicTest
+{
+
+    @Test
+    @Ignore
+    public void testIgnorable()
+    {
+        Assert.fail( "you should have ignored me!" );
+    }
+
+    @Test
+    public void testSomethingElse()
+    {
+
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/argLine-parameter/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/argLine-parameter/pom.xml b/surefire-its/src/test/resources/argLine-parameter/pom.xml
new file mode 100644
index 0000000..0cce4c9
--- /dev/null
+++ b/surefire-its/src/test/resources/argLine-parameter/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>testArgLine</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for argLine configuration</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <forkMode>once</forkMode>
+          <argLine>-Dfoo.property="foo foo/foo/bar/1.0" -Dbar.property="bar bar/foo/bar/2.0"</argLine>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/argLine-parameter/src/test/java/argLine/TestSurefireArgLine.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/argLine-parameter/src/test/java/argLine/TestSurefireArgLine.java b/surefire-its/src/test/resources/argLine-parameter/src/test/java/argLine/TestSurefireArgLine.java
new file mode 100644
index 0000000..1765c84
--- /dev/null
+++ b/surefire-its/src/test/resources/argLine-parameter/src/test/java/argLine/TestSurefireArgLine.java
@@ -0,0 +1,40 @@
+package argLine;
+
+/*
+ * 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 TestSurefireArgLine
+    extends TestCase
+{
+
+    public void testArgLine()
+    {
+        String fooProperty = System.getProperty( "foo.property" );
+        assertEquals( "incorrect foo.property; " +
+        		"Surefire should have passed this in correctly",
+        		"foo foo/foo/bar/1.0", fooProperty );
+        String barProperty = System.getProperty( "bar.property" );
+        assertEquals( "incorrect bar.property; " +
+        		"Surefire should have passed this in correctly",
+        		"bar bar/foo/bar/2.0", barProperty );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/argLine-properties/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/argLine-properties/pom.xml b/surefire-its/src/test/resources/argLine-properties/pom.xml
new file mode 100644
index 0000000..2a6d6c2
--- /dev/null
+++ b/surefire-its/src/test/resources/argLine-properties/pom.xml
@@ -0,0 +1,84 @@
+<?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>testArgProperties</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for late replacement argLine properties.</name>
+
+  <properties>
+    <from.prop>from-prop-value</from.prop>
+    <override.prop>not-override-prop-value</override.prop>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>properties-maven-plugin</artifactId>
+        <version>1.0-alpha-2</version>
+        <executions>
+          <execution>
+            <id>default</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>read-project-properties</goal>
+            </goals>
+            <configuration>
+              <files>
+                <file>${project.basedir}/src/test/resources/it.properties</file>
+              </files>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <forkMode>once</forkMode>
+          <argLine>-Dp1=@{from.prop} -Dp2=@{override.prop} -Dp3=@{undefined.prop} -Dp4=@{generated.prop}</argLine>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/argLine-properties/src/test/java/argLine-properties/TestSurefireArgLineProperties.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/argLine-properties/src/test/java/argLine-properties/TestSurefireArgLineProperties.java b/surefire-its/src/test/resources/argLine-properties/src/test/java/argLine-properties/TestSurefireArgLineProperties.java
new file mode 100644
index 0000000..a16fceb
--- /dev/null
+++ b/surefire-its/src/test/resources/argLine-properties/src/test/java/argLine-properties/TestSurefireArgLineProperties.java
@@ -0,0 +1,58 @@
+package argLine;
+
+/*
+ * 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.Assert;
+import org.junit.Test;
+
+public class TestSurefireArgLineProperties
+{
+    @Test
+    public void testFromProp()
+    {
+        String fromProp = System.getProperty("p1");
+        Assert.assertNotNull(fromProp, "incorrect arg line, no p1 present?");
+        Assert.assertEquals("from-prop-value", fromProp);
+    }
+
+    @Test
+    public void testOverrideProp()
+    {
+        String overrideProp = System.getProperty("p2");
+        Assert.assertNotNull(overrideProp, "incorrect arg line, no p2 present?");
+        Assert.assertEquals("override-prop-value", overrideProp);
+    }
+
+    @Test
+    public void testUndefinedProp()
+    {
+        String undefinedProp = System.getProperty("p3");
+        Assert.assertNotNull(undefinedProp, "incorrect arg line, no p3 present?");
+        Assert.assertEquals("@{undefined.prop}", undefinedProp);
+    }
+
+    @Test
+    public void testGeneratedProp()
+    {
+        String generatedProp = System.getProperty("p4");
+        Assert.assertNotNull(generatedProp, "incorrect arg line, no p4 present?");
+        Assert.assertEquals("generated-prop-value", generatedProp);
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/argLine-properties/src/test/resources/it.properties
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/argLine-properties/src/test/resources/it.properties b/surefire-its/src/test/resources/argLine-properties/src/test/resources/it.properties
new file mode 100644
index 0000000..dd889a2
--- /dev/null
+++ b/surefire-its/src/test/resources/argLine-properties/src/test/resources/it.properties
@@ -0,0 +1,19 @@
+# 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.
+
+override.prop=override-prop-value
+generated.prop=generated-prop-value

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/assumpationFailureReport/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/assumpationFailureReport/pom.xml b/surefire-its/src/test/resources/assumpationFailureReport/pom.xml
new file mode 100644
index 0000000..8530eca
--- /dev/null
+++ b/surefire-its/src/test/resources/assumpationFailureReport/pom.xml
@@ -0,0 +1,63 @@
+<?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">
+
+  <parent>
+    <groupId>org.apache.maven.surefire</groupId>
+    <artifactId>it-parent</artifactId>
+    <version>1.0</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.plugins.surefire</groupId>
+  <artifactId>assumpationFailure</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <name>assumpationFailureReportTest</name>
+  <url>http://maven.apache.org</url>
+
+  <dependencies>
+      <dependency>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+          <version>4.12</version>
+      </dependency>
+  </dependencies>
+  <build>
+     <plugins>
+        <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-surefire-plugin</artifactId>
+           <configuration>
+             <redirectTestOutputToFile>true</redirectTestOutputToFile>
+             <includes>
+                <include>**/Test*.java</include>
+             </includes>
+           </configuration>
+        </plugin>
+     </plugins>
+  </build>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/assumpationFailureReport/src/test/java/assumpationFailure/Test1.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/assumpationFailureReport/src/test/java/assumpationFailure/Test1.java b/surefire-its/src/test/resources/assumpationFailureReport/src/test/java/assumpationFailure/Test1.java
new file mode 100644
index 0000000..3653ce6
--- /dev/null
+++ b/surefire-its/src/test/resources/assumpationFailureReport/src/test/java/assumpationFailure/Test1.java
@@ -0,0 +1,35 @@
+package assumptionFailure;
+
+/*
+ * 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 org.junit.Assume;
+
+import static org.junit.Assert.fail;
+
+public class Test1
+{
+    @Test
+    public void testAssumptionFailureReport()
+    {
+        Assume.assumeTrue( "The test is skipped if it is false" , false );
+        fail( "This is not expected to test" );
+    }
+        
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/classpath-filtering/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/classpath-filtering/pom.xml b/surefire-its/src/test/resources/classpath-filtering/pom.xml
new file mode 100644
index 0000000..49c4e34
--- /dev/null
+++ b/surefire-its/src/test/resources/classpath-filtering/pom.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/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>classpath-dependency-filter</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test for filtering classpath dependencies</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <classpathDependencyExcludes>
+            <exclude>org.apache.commons:*</exclude>
+          </classpathDependencyExcludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-email</artifactId>
+      <version>1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java b/surefire-its/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java
new file mode 100644
index 0000000..5f8b23a
--- /dev/null
+++ b/surefire-its/src/test/resources/classpath-filtering/src/test/java/classpathFiltering/BasicTest.java
@@ -0,0 +1,44 @@
+package classpathFiltering;
+
+/*
+ * 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
+{
+
+    public void testDependencyFilter() {
+        
+        Class testClass = null;
+        String testClassName = "org.apache.commons.mail.Email";
+        try 
+        {
+            testClass = Class.forName( testClassName );
+            System.out.println( "Able to load class " + testClass );
+        }
+        catch ( ClassNotFoundException e )
+        {
+            System.out.println( "Couldn't load " + testClassName );
+        }
+        assertNull( testClass );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d00932a/surefire-its/src/test/resources/classpath-order/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/resources/classpath-order/pom.xml b/surefire-its/src/test/resources/classpath-order/pom.xml
new file mode 100644
index 0000000..b49fda7
--- /dev/null
+++ b/surefire-its/src/test/resources/classpath-order/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>classpath-order</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>Test proper order of class path elements: test-classes, classes, dependencies</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <redirectTestOutputToFile>true</redirectTestOutputToFile>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.plugins</groupId>
+      <artifactId>maven-surefire-report-plugin</artifactId>
+      <version>${surefire.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+</project>