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:35 UTC
[22/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-integration-tests/src/test/resources/testng-suite-xml/src/test/java/testng/suiteXml/TestNGSuiteTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/testng-suite-xml/src/test/java/testng/suiteXml/TestNGSuiteTest.java b/surefire-integration-tests/src/test/resources/testng-suite-xml/src/test/java/testng/suiteXml/TestNGSuiteTest.java
deleted file mode 100644
index 0ebf3df..0000000
--- a/surefire-integration-tests/src/test/resources/testng-suite-xml/src/test/java/testng/suiteXml/TestNGSuiteTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package testng.suiteXml;
-
-/*
- * 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.BeforeClass;
-import org.testng.annotations.Test;
-
-
-/**
- * Tests that forcing testng to run tests via the
- * <code>"${maven.test.forcetestng}"</code> configuration option
- * works.
- *
- * @author jkuhnert
- */
-public class TestNGSuiteTest {
-
- /**
- * Sets up testObject
- */
- @BeforeClass
- public void configureTest()
- {
- testObject = new Object();
- }
-
- Object testObject;
-
- /**
- * Tests reporting an error
- */
- @Test
- public void isTestObjectNull()
- {
- assert testObject != null : "testObject is null";
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/pom.xml b/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/pom.xml
deleted file mode 100644
index 818d53e..0000000
--- a/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/pom.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?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>testng-testrunnerfactory</artifactId>
- <version>1.0</version>
- <name>TestNG using custom test runner factory</name>
-
- <dependencies>
- <dependency>
- <!--
- TestNG 5.9 is the earliest version to expose the testrunfactory flag.
- -testrunfactory parameter is buggy in 5.13.1 because expects String instead of Class
- -testrunfactory works in 5.10 but fails on missing testng.css because not generated by TestNG itself.
- Every next version changed API.
- Here API applicable up to 5.12.1.
- -->
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>5.10</version>
- <classifier>jdk15</classifier>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <properties>
- <property>
- <name>testrunfactory</name>
- <value>testng.testrunnerfactory.TestNGCustomTestRunnerFactory</value>
- </property>
- </properties>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/FileHelper.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/FileHelper.java b/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/FileHelper.java
deleted file mode 100644
index 4b998ed..0000000
--- a/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/FileHelper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package testng.testrunnerfactory;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-
-public class FileHelper
-{
- public static void writeFile( String fileName, String content )
- {
- try
- {
- File target = new File( System.getProperty("user.dir"), "target" ).getCanonicalFile();
- File listenerOutput = new File( target, fileName );
- FileWriter out = new FileWriter( listenerOutput, true );
- out.write( content );
- out.flush();
- out.close();
- }
- catch ( IOException exception )
- {
- throw new RuntimeException( exception );
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/TestNGCustomTestRunnerFactory.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/TestNGCustomTestRunnerFactory.java b/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/TestNGCustomTestRunnerFactory.java
deleted file mode 100644
index d52ec96..0000000
--- a/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/TestNGCustomTestRunnerFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package testng.testrunnerfactory;
-
-import org.testng.ISuite;
-import org.testng.ITestRunnerFactory;
-import org.testng.TestRunner;
-import org.testng.xml.XmlTest;
-//import org.testng.IInvokedMethodListener;
-
-import java.util.List;
-
-public class TestNGCustomTestRunnerFactory
- implements ITestRunnerFactory
-{
-
- public TestRunner newTestRunner( ISuite suite, XmlTest test/*, List<IInvokedMethodListener> listeners*/ )
- {
- FileHelper.writeFile( "testrunnerfactory-output.txt",
- "Instantiated Test Runner for suite:\n\t" + suite
- + "\nand test:\n\t" + test +"\n\n" );
- return new TestRunner( suite, test, test.skipFailedInvocationCounts()/*, listeners*/ );
- }
-}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/TestNGSuiteTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/TestNGSuiteTest.java b/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/TestNGSuiteTest.java
deleted file mode 100644
index 6ad173d..0000000
--- a/surefire-integration-tests/src/test/resources/testng-testRunnerFactory/src/test/java/testng/testrunnerfactory/TestNGSuiteTest.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package testng.testrunnerfactory;
-
-import org.testng.annotations.Test;
-
-public class TestNGSuiteTest
-{
- @Test
- public void doNothing()
- {
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/pom.xml b/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/pom.xml
deleted file mode 100644
index f7477fe..0000000
--- a/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?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>testng-twoTestCaseSuite</artifactId>
- <version>1.0-SNAPSHOT</version>
- <name>TestNG Suite XML with two test cases</name>
-
- <properties>
- <maven.compiler.source>1.7</maven.compiler.source>
- <maven.compiler.target>1.7</maven.compiler.target>
- </properties>
-
- <profiles>
- <profile>
- <id>testng-old</id>
- <activation>
- <property><name>testNgClassifier</name></property>
- </activation>
- <dependencies>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>${testNgVersion}</version>
- <classifier>${testNgClassifier}</classifier>
- </dependency>
- </dependencies>
- </profile>
- <profile>
- <id>testng-new</id>
- <activation>
- <property><name>!testNgClassifier</name></property>
- </activation>
- <dependencies>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>${testNgVersion}</version>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.version}</version>
- <configuration>
- <suiteXmlFiles>
- <file>src/test/resources/suite.xml</file>
- </suiteXmlFiles>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/java/testng/two/TestNGSuiteTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/java/testng/two/TestNGSuiteTest.java b/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/java/testng/two/TestNGSuiteTest.java
deleted file mode 100644
index db8dc94..0000000
--- a/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/java/testng/two/TestNGSuiteTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package testng.two;
-
-/*
- * 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;
-
-
-public class TestNGSuiteTest {
-
- @Test
- public void doNothing()
- {
-
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/java/testng/two/TestNGTestTwo.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/java/testng/two/TestNGTestTwo.java b/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/java/testng/two/TestNGTestTwo.java
deleted file mode 100644
index 9ab2c86..0000000
--- a/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/java/testng/two/TestNGTestTwo.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package testng.two;
-
-/*
- * 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;
-
-
-public class TestNGTestTwo {
-
- @Test
- public void testTwo()
- {
-
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/resources/suite.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/resources/suite.xml b/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/resources/suite.xml
deleted file mode 100644
index a768654..0000000
--- a/surefire-integration-tests/src/test/resources/testng-twoTestCaseSuite/src/test/resources/suite.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<suite name="Foo">
- <test name="Bar">
- <packages>
- <package name="testng.two" />
- </packages>
- </test>
-</suite>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/timeout-forked/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/timeout-forked/pom.xml b/surefire-integration-tests/src/test/resources/timeout-forked/pom.xml
deleted file mode 100644
index fc95eb3..0000000
--- a/surefire-integration-tests/src/test/resources/timeout-forked/pom.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?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>timeout-forked</artifactId>
- <version>1.0-SNAPSHOT</version>
- <name>Timeout forked process</name>
-
- <properties>
- <maven.compiler.source>1.7</maven.compiler.source>
- <maven.compiler.target>1.7</maven.compiler.target>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.version}</version>
- <configuration>
- <forkedProcessTimeoutInSeconds>${forkTimeout}</forkedProcessTimeoutInSeconds>
- <reportFormat>plain</reportFormat>
- </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-integration-tests/src/test/resources/timeout-forked/src/test/java/timeoutForked/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/timeout-forked/src/test/java/timeoutForked/BasicTest.java b/surefire-integration-tests/src/test/resources/timeout-forked/src/test/java/timeoutForked/BasicTest.java
deleted file mode 100644
index 863ac6d..0000000
--- a/surefire-integration-tests/src/test/resources/timeout-forked/src/test/java/timeoutForked/BasicTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package timeoutForked;
-
-/*
- * 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 testSleep() throws Exception
- {
- int sleepLength = Integer.valueOf( System.getProperty( "sleepLength", "10000" ));
- Thread.sleep(sleepLength);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/unicode-testnames/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/unicode-testnames/pom.xml b/surefire-integration-tests/src/test/resources/unicode-testnames/pom.xml
deleted file mode 100644
index 31dd0d0..0000000
--- a/surefire-integration-tests/src/test/resources/unicode-testnames/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?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>unicode-testnames</artifactId>
- <version>1.0-SNAPSHOT</version>
- <name>Testcases with unicode names</name>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <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>3.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>
- </plugin>
- </plugins>
- </build>
-
-</project>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/unicode-testnames/src/test/java/junit/twoTestCases/EscapeTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/unicode-testnames/src/test/java/junit/twoTestCases/EscapeTest.java b/surefire-integration-tests/src/test/resources/unicode-testnames/src/test/java/junit/twoTestCases/EscapeTest.java
deleted file mode 100644
index 69ea6e1..0000000
--- a/surefire-integration-tests/src/test/resources/unicode-testnames/src/test/java/junit/twoTestCases/EscapeTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package junit.twoTestCases;
-
-/*
- * 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 EscapeTest
- extends TestCase
-{
-
- private boolean setUpCalled = false;
-
- private static boolean tearDownCalled = false;
-
- public EscapeTest( String name )
- {
- super( name );
- }
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite();
- Test test = new EscapeTest( "testSetUp" );
- 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-integration-tests/src/test/resources/unicode-testnames/src/test/java/junit/twoTestCases/XXYZTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/unicode-testnames/src/test/java/junit/twoTestCases/XXYZTest.java b/surefire-integration-tests/src/test/resources/unicode-testnames/src/test/java/junit/twoTestCases/XXYZTest.java
deleted file mode 100644
index 6496e1b..0000000
--- a/surefire-integration-tests/src/test/resources/unicode-testnames/src/test/java/junit/twoTestCases/XXYZTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package junit.twoTestCases;
-/*
- * 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 而索其情Test
- extends TestCase
-{
- public void testIHopeTheChineseDoesntMeanAnyhtingOffensive索其(){
-
- }
-}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/webapp/pom.xml b/surefire-integration-tests/src/test/resources/webapp/pom.xml
deleted file mode 100644
index 6777637..0000000
--- a/surefire-integration-tests/src/test/resources/webapp/pom.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<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.surefire.its</groupId>
- <artifactId>webapp</artifactId>
- <packaging>war</packaging>
- <version>1.0-SNAPSHOT</version>
- <name>sample webapp with Jetty test</name>
- <build>
- <finalName>webapp</finalName>
- <plugins>
- <plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.version}</version>
- </plugin>
-
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.0</version>
- <executions>
- <execution>
- <phase>generate-test-resources</phase>
- <goals>
- <goal>exploded</goal>
- </goals>
- <configuration>
- <webappDirectory>${project.build.directory}/webapp</webappDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>jetty</groupId>
- <artifactId>org.mortbay.jetty</artifactId>
- <version>5.1.10</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>jetty</groupId>
- <artifactId>jasper-compiler</artifactId>
- <version>5.1.10</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>jetty</groupId>
- <artifactId>jasper-runtime</artifactId>
- <version>5.1.10</version>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>1.7.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jsp-api</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>ant</groupId>
- <artifactId>ant</artifactId>
- <version>1.6.5</version>
- </dependency>
- <dependency>
- <groupId>commons-el</groupId>
- <artifactId>commons-el</artifactId>
- <version>1.0</version>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>default-tools.jar</id>
- <activation>
- <property>
- <name>java.vendor</name>
- <value>Sun Microsystems Inc.</value>
- </property>
- </activation>
- <dependencies>
- <dependency>
- <groupId>com.sun</groupId>
- <artifactId>tools</artifactId>
- <version>system</version>
- <scope>system</scope>
- <systemPath>${java.home}/../lib/tools.jar</systemPath>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
-</project>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/webapp/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/webapp/src/main/webapp/WEB-INF/web.xml b/surefire-integration-tests/src/test/resources/webapp/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 9f88c1f..0000000
--- a/surefire-integration-tests/src/test/resources/webapp/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd" >
-
-<web-app>
- <display-name>Archetype Created Web Application</display-name>
-</web-app>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/webapp/src/main/webapp/index.jsp
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/webapp/src/main/webapp/index.jsp b/surefire-integration-tests/src/test/resources/webapp/src/main/webapp/index.jsp
deleted file mode 100644
index c38169b..0000000
--- a/surefire-integration-tests/src/test/resources/webapp/src/main/webapp/index.jsp
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
-<body>
-<h2>Hello World!</h2>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/webapp/src/test/java/WebAppTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/webapp/src/test/java/WebAppTest.java b/surefire-integration-tests/src/test/resources/webapp/src/test/java/WebAppTest.java
deleted file mode 100644
index b4c4e15..0000000
--- a/surefire-integration-tests/src/test/resources/webapp/src/test/java/WebAppTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.mortbay.jetty.Server;
-
-
-public class WebAppTest
- extends TestCase
-{
- private Server server = null;
-
- public void setUp()
- throws Exception
- {
- System.setProperty( "org.mortbay.xml.XmlParser.NotValidating", "true" );
-
- server = new Server();
- String testPort = ":18080";
- server.addListener( testPort );
- server.addWebApplication( "127.0.0.1", "/webapp", "target/webapp" );
-
- server.start();
- }
-
- public void testBlah()
- throws Exception
- {
- URL url = new URL( "http://127.0.0.1:18080/webapp/index.jsp" );
- InputStream stream = url.openStream();
- StringBuffer sb = new StringBuffer();
- for ( int i = stream.read(); i != -1; i = stream.read() )
- {
- sb.append( (char) i );
- }
- String value = sb.toString();
- assertTrue( value, value.contains( "Hello" ) );
- }
-
- public void tearDown()
- throws Exception
- {
- if ( server != null )
- server.stop();
- }
-}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/working-directory-is-invalid-property/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/working-directory-is-invalid-property/pom.xml b/surefire-integration-tests/src/test/resources/working-directory-is-invalid-property/pom.xml
deleted file mode 100644
index fa19695..0000000
--- a/surefire-integration-tests/src/test/resources/working-directory-is-invalid-property/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?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>localhost</groupId>
- <artifactId>working-directory-test</artifactId>
- <version>1.0</version>
- <name>Don't run tests if working directory is invalid property.</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>3.8.2</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>
- <workingDirectory>${notSet}</workingDirectory>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/working-directory-is-invalid-property/src/test/java/MyTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/working-directory-is-invalid-property/src/test/java/MyTest.java b/surefire-integration-tests/src/test/resources/working-directory-is-invalid-property/src/test/java/MyTest.java
deleted file mode 100644
index d59a11f..0000000
--- a/surefire-integration-tests/src/test/resources/working-directory-is-invalid-property/src/test/java/MyTest.java
+++ /dev/null
@@ -1,27 +0,0 @@
-import junit.framework.TestCase;
-
-/*
- * 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 MyTest extends TestCase {
- public void testSomething() {
- assertTrue(true);
- }
-}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/working-directory-missing/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/working-directory-missing/pom.xml b/surefire-integration-tests/src/test/resources/working-directory-missing/pom.xml
deleted file mode 100644
index 515a414..0000000
--- a/surefire-integration-tests/src/test/resources/working-directory-missing/pom.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?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>localhost</groupId>
- <artifactId>working-directory-test</artifactId>
- <version>1.0</version>
- <name>Run tests in a nonexistent working directory</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>3.8.2</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>
- <workingDirectory>${project.build.directory}/surefire-working-directory</workingDirectory>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/working-directory-missing/src/test/java/MyTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/working-directory-missing/src/test/java/MyTest.java b/surefire-integration-tests/src/test/resources/working-directory-missing/src/test/java/MyTest.java
deleted file mode 100644
index d59a11f..0000000
--- a/surefire-integration-tests/src/test/resources/working-directory-missing/src/test/java/MyTest.java
+++ /dev/null
@@ -1,27 +0,0 @@
-import junit.framework.TestCase;
-
-/*
- * 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 MyTest extends TestCase {
- public void testSomething() {
- assertTrue(true);
- }
-}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/working-directory/child/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/working-directory/child/pom.xml b/surefire-integration-tests/src/test/resources/working-directory/child/pom.xml
deleted file mode 100644
index bdfbed8..0000000
--- a/surefire-integration-tests/src/test/resources/working-directory/child/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?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>working-directory</artifactId>
- <version>1.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>working-directory-child</artifactId>
- <name>Test for working directory configuration</name>
-
- <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-integration-tests/src/test/resources/working-directory/child/src/test/java/workingDir/BasicTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/working-directory/child/src/test/java/workingDir/BasicTest.java b/surefire-integration-tests/src/test/resources/working-directory/child/src/test/java/workingDir/BasicTest.java
deleted file mode 100644
index 1708202..0000000
--- a/surefire-integration-tests/src/test/resources/working-directory/child/src/test/java/workingDir/BasicTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package workingDir;
-
-/*
- * 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;
-import java.io.*;
-import java.util.Properties;
-
-public class BasicTest
- extends TestCase
-{
-
- public void testWorkingDir()
- throws Exception
- {
- File target = new File( "target" ).getAbsoluteFile();
- File outFile = new File( target, "out.txt" );
- FileOutputStream os = new FileOutputStream( outFile );
- String userDir = System.getProperty( "user.dir" );
- Properties p = new Properties();
- p.setProperty( "user.dir", userDir );
- p.store( os, "" );
- os.flush();
- os.close();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-integration-tests/src/test/resources/working-directory/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/working-directory/pom.xml b/surefire-integration-tests/src/test/resources/working-directory/pom.xml
deleted file mode 100644
index 1a7b7d7..0000000
--- a/surefire-integration-tests/src/test/resources/working-directory/pom.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?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>working-directory</artifactId>
- <version>1.0-SNAPSHOT</version>
- <name>Test for working directory configuration (parent)</name>
- <packaging>pom</packaging>
-
- <properties>
- <maven.compiler.source>1.7</maven.compiler.source>
- <maven.compiler.target>1.7</maven.compiler.target>
- </properties>
-
- <modules>
- <module>child</module>
- </modules>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.version}</version>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-its/pom.xml b/surefire-its/pom.xml
new file mode 100644
index 0000000..e679753
--- /dev/null
+++ b/surefire-its/pom.xml
@@ -0,0 +1,202 @@
+<?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>surefire</artifactId>
+ <version>2.21.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>surefire-is</artifactId>
+
+ <name>Maven Surefire Integration Tests</name>
+ <description>Used internally testing MOJOs. The project is not deployed.</description>
+
+ <properties>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <maven.compiler.source>1.7</maven.compiler.source>
+ <maven.compiler.target>1.7</maven.compiler.target>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-report-parser</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-verifier</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.htmlunit</groupId>
+ <artifactId>htmlunit</artifactId>
+ <version>2.8</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
+ <!-- Java 9 requires version 3.6+ (todo use in parent POM. Note: versions 3.6, 3.7 are compiled with Java 7) -->
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.7</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <test>*Test</test>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>2.12.4</version> <!-- ${shadedVersion}, but resolved due to https://issues.apache.org/jira/browse/MRELEASE-799 -->
+ <configuration>
+ <jvm>${jdk.home}/bin/java</jvm>
+ <runOrder>alphabetical</runOrder>
+ <threadCount>1</threadCount>
+ <perCoreThreadCount>false</perCoreThreadCount>
+ <forkMode>once</forkMode>
+ <argLine>-server -Xmx64m -XX:+UseG1GC -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Djava.awt.headless=true</argLine>
+ <includes>
+ <include>org/apache/**/*IT*.java</include>
+ </includes>
+ <!-- Pass current surefire version to the main suite so that it -->
+ <!-- can forward to all integration test projects. SUREFIRE-513 -->
+ <systemPropertyVariables>
+ <surefire.version>${project.version}</surefire.version>
+ <maven.home>${maven.home}</maven.home>
+ <maven.settings.file>${project.basedir}/../surefire-setup-integration-tests/target/private/it-settings.xml
+ </maven.settings.file>
+ <maven.toolchains.file>${project.basedir}/../surefire-setup-integration-tests/target/private/toolchains.xml
+ </maven.toolchains.file>
+ <maven.repo.local>${project.basedir}/../surefire-setup-integration-tests/target/it-repo</maven.repo.local>
+ <maven.test.tmpdir>${project.build.directory}</maven.test.tmpdir>
+ <user.localRepository>${settings.localRepository}</user.localRepository>
+ <useInterpolatedSettings>false</useInterpolatedSettings>
+ <testBuildDirectory>${project.build.testOutputDirectory}</testBuildDirectory>
+ <verifier.forkMode>forked</verifier.forkMode>
+ <jdk.home>${jdk.home}</jdk.home>
+ <jacoco.agent>${jacoco-it.agent}</jacoco.agent>
+ </systemPropertyVariables>
+ <redirectTestOutputToFile>false</redirectTestOutputToFile>
+ <useFile>false</useFile>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-junit47</artifactId>
+ <version>2.12.4</version> <!-- ${shadedVersion}, but resolved due to https://issues.apache.org/jira/browse/MRELEASE-799 -->
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>require-maven-2.1.0</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <!-- Some plugin features require a recent Maven runtime to work (e.g. SystemPropertiesTest) -->
+ <version>[2.1.0,)</version>
+ </requireMavenVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <!-- todo dont skip since of failsafe:2.19 internal use if having src/main/java/... -->
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>jacoco-agent</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>jacoco-agent-it</id>
+ <goals>
+ <goal>prepare-agent-integration</goal>
+ </goals>
+ <configuration>
+ <propertyName>jacoco-it.agent</propertyName>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-install-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractFailFastIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractFailFastIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractFailFastIT.java
new file mode 100644
index 0000000..9a49d1a
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractFailFastIT.java
@@ -0,0 +1,105 @@
+package org.apache.maven.surefire.its;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.MavenLauncher;
+import org.apache.maven.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.runners.Parameterized.Parameter;
+
+/**
+ * Base test class for SUREFIRE-580, configuration parameter {@code skipAfterFailureCount}.
+ *
+ * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
+ * @since 2.19
+ */
+@RunWith( Parameterized.class )
+public abstract class AbstractFailFastIT
+ extends SurefireJUnit4IntegrationTestCase
+{
+ @Parameter( 0 )
+ public String description;
+
+ @Parameter( 1 )
+ public String profile;
+
+ @Parameter( 2 )
+ public Map<String, String> properties;
+
+ @Parameter( 3 )
+ public int total;
+
+ @Parameter( 4 )
+ public int failures;
+
+ @Parameter( 5 )
+ public int errors;
+
+ @Parameter( 6 )
+ public int skipped;
+
+ protected abstract String withProvider();
+
+ protected final OutputValidator prepare( String description, String profile, Map<String, String> properties )
+ {
+ MavenLauncher launcher = unpack( "/fail-fast-" + withProvider(), "_" + description )
+ .maven();
+
+ if ( profile != null )
+ {
+ launcher.addGoal( "-P " + profile );
+ }
+
+ if ( failures != 0 || errors != 0 )
+ {
+ launcher.withFailure();
+ }
+
+ return launcher.sysProp( properties ).executeTest();
+ }
+
+ protected final OutputValidator prepare( String description, Map<String, String> properties )
+ {
+ return prepare( description, null, properties );
+ }
+
+ protected static Map<String, String> props( int forkCount, int skipAfterFailureCount, boolean reuseForks )
+ {
+ Map<String, String> props = new HashMap<String, String>( 3 );
+ props.put( "surefire.skipAfterFailureCount", "" + skipAfterFailureCount );
+ props.put( "forkCount", "" + forkCount );
+ props.put( "reuseForks", "" + reuseForks );
+ return props;
+ }
+
+ @Test
+ public void test()
+ {
+ prepare( description, profile, properties )
+ .assertTestSuiteResults( total, errors, failures, skipped );
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java
new file mode 100644
index 0000000..7f73d48
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java
@@ -0,0 +1,111 @@
+package org.apache.maven.surefire.its;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.apache.maven.surefire.its.fixture.SurefireLauncher;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+import java.util.StringTokenizer;
+
+import static org.apache.maven.surefire.its.fixture.SurefireLauncher.EXT_JDK_HOME;
+import static org.apache.maven.surefire.its.fixture.SurefireLauncher.EXT_JDK_HOME_KEY;
+import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeTrue;
+
+/**
+ * Abstract test class for Jigsaw tests.
+ *
+ * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
+ * @since 2.20.1
+ */
+public abstract class AbstractJigsawIT
+ extends SurefireJUnit4IntegrationTestCase
+{
+ private static final double JIGSAW_JAVA_VERSION = 9.0d;
+
+ protected abstract String getProjectDirectoryName();
+
+ protected SurefireLauncher assumeJigsaw() throws IOException
+ {
+ assumeTrue( "There's no JDK 9 provided.",
+ isJavaVersion9AtLeast() || EXT_JDK_HOME != null && isExtJavaVerion9AtLeast() );
+ // fail( EXT_JDK_HOME_KEY + " was provided with value " + EXT_JDK_HOME + " but it is not Jigsaw Java 9." );
+
+ SurefireLauncher launcher = unpack();
+
+ return EXT_JDK_HOME == null ? launcher : launcher.setLauncherJavaHome( EXT_JDK_HOME );
+ }
+
+ protected SurefireLauncher assumeJava9Property() throws IOException
+ {
+ assumeTrue( "There's no JDK 9 provided.", EXT_JDK_HOME != null && isExtJavaVerion9AtLeast() );
+ return unpack();
+ }
+
+ private SurefireLauncher unpack()
+ {
+ return unpack( getProjectDirectoryName() );
+ }
+
+ private static boolean isJavaVersion9AtLeast()
+ {
+ return Double.valueOf( System.getProperty( "java.specification.version" ) ) >= JIGSAW_JAVA_VERSION;
+ }
+
+ private static boolean isExtJavaVerion9AtLeast() throws IOException
+ {
+ File release = new File( EXT_JDK_HOME, "release" );
+
+ if ( !release.isFile() )
+ {
+ fail( EXT_JDK_HOME_KEY + " was provided with value " + EXT_JDK_HOME + " but file does not exist "
+ + EXT_JDK_HOME + File.separator + "release"
+ );
+ }
+
+ Properties properties = new Properties();
+ try ( InputStream is = new FileInputStream( release ) )
+ {
+ properties.load( is );
+ }
+ String javaVersion = properties.getProperty( "JAVA_VERSION" ).replace( "\"", "" );
+ StringTokenizer versions = new StringTokenizer( javaVersion, "._" );
+
+ if ( versions.countTokens() == 1 )
+ {
+ javaVersion = versions.nextToken();
+ }
+ else if ( versions.countTokens() >= 2 )
+ {
+ javaVersion = versions.nextToken() + "." + versions.nextToken();
+ }
+ else
+ {
+ fail( "unexpected java version format" );
+ }
+
+ return Double.valueOf( javaVersion ) >= JIGSAW_JAVA_VERSION;
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestCaseIT.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestCaseIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestCaseIT.java
new file mode 100644
index 0000000..0260ba0
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestCaseIT.java
@@ -0,0 +1,41 @@
+package org.apache.maven.surefire.its;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.junit.Test;
+
+/**
+ * Test files with "Abstract" in their name that aren't really abstract,
+ * and abstract classes that don't say "Abstract" in their name
+ *
+ * @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
+ * @author <a href="mailto:krosenvold@apache.org">Kristian Rosenvold</a>
+ */
+public class AbstractTestCaseIT
+ extends SurefireJUnit4IntegrationTestCase
+{
+ @Test
+ public void abstractTestCase()
+ {
+ unpack( "/default-configuration-abstract" ).executeTest().verifyErrorFree( 1 );
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java
----------------------------------------------------------------------
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java
new file mode 100644
index 0000000..01932fa
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java
@@ -0,0 +1,483 @@
+package org.apache.maven.surefire.its;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.surefire.its.fixture.Settings;
+import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.apache.maven.surefire.its.fixture.SurefireLauncher;
+import org.junit.Test;
+
+import static org.apache.maven.surefire.its.fixture.TestFramework.*;
+import static org.apache.maven.surefire.its.fixture.Configuration.*;
+import static org.hamcrest.core.AnyOf.anyOf;
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assume.assumeThat;
+
+/**
+ * Test project using multiple method patterns, including wildcards in class and method names.
+ */
+public abstract class AbstractTestMultipleMethodPatterns
+ extends SurefireJUnit4IntegrationTestCase
+{
+ private static final String CSV_DELIMITER_SHORT = ",";
+ private static final String CSV_DELIMITER_LONG = ", ";
+ private static final String NOT_DELIMITER = "!";
+
+ protected abstract Settings getSettings();
+
+ protected abstract SurefireLauncher unpack();
+
+ protected SurefireLauncher prepare( String tests )
+ {
+ SurefireLauncher launcher = unpack().addGoal( "-P " + getSettings().profile() );
+ String[] includedExcluded = splitIncludesExcludes( tests );
+ switch ( getSettings().getConfiguration() ) {
+ case TEST:
+ launcher.setTestToRun( tests );
+ break;
+ case INCLUDES:
+ launcher.sysProp( "included", tests );
+ break;
+ case INCLUDES_EXCLUDES:
+ launcher.sysProp( "included", includedExcluded[0] );
+ launcher.sysProp( "excluded", includedExcluded[1] );
+ break;
+ default:
+ throw new IllegalArgumentException( "Unsupported configuration " + getSettings().getConfiguration() );
+ }
+ return launcher;
+ }
+
+ private static String[] splitIncludesExcludes( String patterns )
+ {
+ String included = "";
+ String excluded = "";
+ for ( String pattern : patterns.split( CSV_DELIMITER_SHORT ) )
+ {
+ pattern = pattern.trim();
+ if ( pattern.startsWith( NOT_DELIMITER ) )
+ {
+ excluded += pattern.substring( NOT_DELIMITER.length() ).trim();
+ excluded += CSV_DELIMITER_LONG;
+ }
+ else
+ {
+ included += pattern;
+ included += CSV_DELIMITER_LONG;
+ }
+ }
+ return new String[]{ trimEndComma( included ), trimEndComma( excluded ) };
+ }
+
+ private static String trimEndComma( String pattern )
+ {
+ pattern = pattern.trim();
+ return pattern.endsWith( CSV_DELIMITER_LONG )
+ ? pattern.substring( 0, pattern.length() - CSV_DELIMITER_LONG.length() ) : pattern;
+ }
+
+ @Test
+ public void simpleNameTest()
+ throws Exception
+ {
+ prepare( "TestTwo" )
+ .executeTest()
+ .verifyErrorFree( 2 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessOne" )
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessTwo" );
+ }
+
+ @Test
+ public void simpleNameTestAsParallel()
+ throws Exception
+ {
+ assumeThat( getSettings().getFramework(), anyOf( is( JUNIT47 ), is( TestNG ) ) );
+ prepare( "TestTwo" )
+ .parallel( "classes" )
+ .useUnlimitedThreads()
+ .executeTest()
+ .verifyErrorFree( 2 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessOne" )
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessTwo" );
+ }
+
+ @Test
+ public void simpleNameTestWithJavaExt()
+ throws Exception
+ {
+ prepare( "TestTwo.java" )
+ .executeTest()
+ .verifyErrorFree( 2 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessOne" )
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessTwo" );
+ }
+
+ @Test
+ public void simpleNameTestWithWildcardPkg()
+ throws Exception
+ {
+ prepare( "**/TestTwo" )
+ .executeTest()
+ .verifyErrorFree( 2 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessOne" )
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessTwo" );
+ }
+
+ @Test
+ public void simpleNameTestWithJavaExtWildcardPkg()
+ throws Exception
+ {
+ prepare( "**/TestTwo.java" )
+ .executeTest()
+ .verifyErrorFree( 2 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessOne" )
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessTwo" );
+ }
+
+ @Test
+ public void fullyQualifiedTest()
+ throws Exception
+ {
+ prepare( "jiras/surefire745/TestTwo.java" )
+ .executeTest()
+ .verifyErrorFree( 2 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessOne" )
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessTwo" );
+ }
+
+ @Test
+ public void shouldMatchSimpleClassNameAndMethod()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "BasicTest#testSuccessTwo" )
+ .executeTest()
+ .verifyErrorFree( 1 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.BasicTest#testSuccessTwo" );
+ }
+
+ /**
+ * This method name was shorten because it cause 261 character long path on Windows with Jenkins Pipeline.
+ */
+ @Test
+ public void matchSimpleClassAndMethodWithJavaExt()
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "BasicTest.java#testSuccessTwo" )
+ .executeTest()
+ .verifyErrorFree( 1 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.BasicTest#testSuccessTwo" );
+ }
+
+ /**
+ * This method name was shorten because it cause 261 character long path on Windows with Jenkins Pipeline.
+ */
+ @Test
+ public void matchSimpleClassAndMethodWithWildcardPkg()
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "**/BasicTest#testSuccessTwo" )
+ .executeTest()
+ .verifyErrorFree( 1 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.BasicTest#testSuccessTwo" );
+ }
+
+ /**
+ * This method name was shorten because it cause 261 character long path on Windows with Jenkins Pipeline.
+ */
+ @Test
+ public void matchSimpleClassAndMethodWithJavaExtWildcardPkg()
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "**/BasicTest.java#testSuccessTwo" )
+ .executeTest()
+ .verifyErrorFree( 1 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.BasicTest#testSuccessTwo" );
+ }
+
+ @Test
+ public void shouldMatchWildcardPackageAndClassAndMethod()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "jiras/**/BasicTest#testSuccessTwo" )
+ .executeTest()
+ .verifyErrorFree( 1 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.BasicTest#testSuccessTwo" );
+ }
+
+ @Test
+ public void regexClass()
+ throws Exception
+ {
+ prepare( "%regex[.*.TestTwo.*]" )
+ .executeTest()
+ .verifyErrorFree( 2 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessOne" )
+ .verifyTextInLog( "jiras.surefire745.TestTwo#testSuccessTwo" );
+ }
+
+ @Test
+ public void testSuccessTwo()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "#testSuccessTwo" )
+ .maven().debugLogging()
+ .executeTest()
+ .verifyErrorFree( 5 )
+ .verifyErrorFreeLog();
+ }
+
+ @Test
+ public void testRegexSuccessTwo()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "%regex[#testSuccessTwo]" )
+ .executeTest()
+ .verifyErrorFree( 5 )
+ .verifyErrorFreeLog();
+ }
+
+ @Test
+ public void regexClassAndMethod()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "%regex[.*.BasicTest.*#testSuccessTwo]" )
+ .executeTest()
+ .verifyErrorFree( 1 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.BasicTest#testSuccessTwo" );
+ }
+
+ @Test
+ public void shouldMatchExactClassAndMethodWildcard()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "BasicTest#test*One" )
+ .executeTest()
+ .verifyErrorFree( 1 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.BasicTest#testSuccessOne" );
+ }
+
+ @Test
+ public void shouldMatchExactClassAndMethodsWildcard()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "BasicTest#testSuccess*" )
+ .executeTest()
+ .verifyErrorFree( 2 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.BasicTest#testSuccessOne" )
+ .verifyTextInLog( "jiras.surefire745.BasicTest#testSuccessTwo" );
+ }
+
+ @Test
+ public void shouldMatchExactClassAndMethodCharacters()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "BasicTest#test???????One" )
+ .executeTest()
+ .verifyErrorFree( 1 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.BasicTest#testSuccessOne" );
+ }
+
+ @Test
+ public void shouldMatchExactClassAndMethodsPostfix()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "TestFive#testSuccess???" )
+ .executeTest()
+ .verifyErrorFree( 2 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.TestFive#testSuccessOne" )
+ .verifyTextInLog( "jiras.surefire745.TestFive#testSuccessTwo" );
+ }
+
+ @Test
+ public void shouldMatchExactClassAndMethodPostfix()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "TestFive#testSuccess?????" )
+ .executeTest()
+ .verifyErrorFree( 1 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.TestFive#testSuccessThree" );
+ }
+
+ @Test
+ public void shouldMatchExactClassAndMultipleMethods()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "TestFive#testSuccessOne+testSuccessThree" )
+ .executeTest()
+ .verifyErrorFree( 2 )
+ .verifyErrorFreeLog()
+ .verifyTextInLog( "jiras.surefire745.TestFive#testSuccessOne" )
+ .verifyTextInLog( "jiras.surefire745.TestFive#testSuccessThree" );
+ }
+
+ @Test
+ public void shouldMatchMultiplePatterns()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ String test = "jiras/surefire745/BasicTest#testSuccessOne+testSuccessTwo"//2
+ + ',' + "jiras/**/TestTwo"//2
+ + ',' + "jiras/surefire745/TestThree#testSuccess*"//2
+ + ',' + "TestFour#testSuccess???"//2
+ + ',' + "jiras/surefire745/*Five#test*One";//1
+
+ prepare( test )
+ .executeTest()
+ .verifyErrorFree( 9 )
+ .verifyErrorFreeLog();
+ }
+
+ @Test
+ public void shouldMatchMultiplePatternsAsParallel()
+ throws Exception
+ {
+ assumeThat( getSettings().getFramework(), anyOf( is( JUNIT47 ), is( TestNG ) ) );
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ String test = "jiras/surefire745/BasicTest#testSuccessOne+testSuccessTwo"//2
+ + ',' + "jiras/**/TestTwo"//2
+ + ',' + "jiras/surefire745/TestThree#testSuccess*"//2
+ + ',' + "TestFour#testSuccess???"//2
+ + ',' + "jiras/surefire745/*Five#test*One";//1
+
+ prepare( test )
+ .parallel( "classes" )
+ .useUnlimitedThreads()
+ .executeTest()
+ .verifyErrorFree( 9 )
+ .verifyErrorFreeLog();
+ }
+
+ @Test
+ public void shouldMatchMultiplePatternsComplex()
+ throws Exception
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ String test = "**/BasicTest#testSuccessOne+testSuccessTwo"//2
+ + ',' + "jiras/**/TestTwo"//2
+ + ',' + "?????/surefire745/TestThree#testSuccess*"//2
+ + ',' + "jiras/surefire745/TestFour.java#testSuccess???"//2
+ + ',' + "jiras/surefire745/*Five#test*One";//1
+
+ prepare( test )
+ .executeTest()
+ .verifyErrorFree( 9 )
+ .verifyErrorFreeLog();
+ }
+
+ @Test
+ public void shouldMatchMultiplePatternsComplexAsParallel()
+ throws Exception
+ {
+ assumeThat( getSettings().getFramework(), anyOf( is( JUNIT47 ), is( TestNG ) ) );
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ String test = "**/BasicTest#testSuccessOne+testSuccessTwo"//2
+ + ',' + "jiras/**/TestTwo"//2
+ + ',' + "?????/surefire745/TestThree#testSuccess*"//2
+ + ',' + "jiras/surefire745/TestFour.java#testSuccess???"//2
+ + ',' + "jiras/surefire745/*Five#test*One";//1
+
+ prepare( test )
+ .parallel( "classes" )
+ .useUnlimitedThreads()
+ .executeTest()
+ .verifyErrorFree( 9 )
+ .verifyErrorFreeLog();
+ }
+
+ @Test
+ public void shouldNotRunExcludedClasses()
+ {
+ prepare( "!BasicTest, !**/TestTwo, !**/TestThree.java" )
+ .executeTest()
+ .verifyErrorFree( 6 )
+ .verifyErrorFreeLog();
+ }
+
+ @Test
+ public void shouldNotRunExcludedClassesIfIncluded()
+ {
+ prepare( "TestF*.java, !**/TestFour.java" )
+ .executeTest()
+ .verifyErrorFree( 3 )
+ .verifyErrorFreeLog();
+ }
+
+ @Test
+ public void shouldNotRunExcludedMethods()
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "!#*Fail*, !%regex[#.*One], !#testSuccessThree" )
+ .executeTest()
+ .verifyErrorFree( 5 )
+ .verifyErrorFreeLog();
+ }
+
+ @Test
+ public void shouldNotRunExcludedClassesAndMethods()
+ {
+ assumeThat( getSettings().getConfiguration(), is( TEST ) );
+ prepare( "!#*Fail*, !TestFour#testSuccessTwo" )
+ .executeTest()
+ .verifyErrorFree( 11 )
+ .verifyErrorFreeLog();
+ }
+
+ @Test
+ public void negativeTest()
+ {
+ assumeThat( getSettings().getConfiguration(), anyOf( is( INCLUDES ), is( INCLUDES_EXCLUDES ),
+ is( INCLUDES_FILE ), is( INCLUDES_EXCLUDES_FILE ) ) );
+ String pattern = "TestFive#testSuccessOne+testSuccessThree";
+ prepare( pattern )
+ .failNever()
+ .executeTest()
+ .verifyTextInLog( "Method filter prohibited in includes|excludes|includesFile|excludesFile parameter: "
+ + pattern );
+ }
+}