http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1095-npe-in-runlistener/src/test/java/jiras/surefire1095/Listener.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1095-npe-in-runlistener/src/test/java/jiras/surefire1095/Listener.java b/surefire-its/src/test/resources/surefire-1095-npe-in-runlistener/src/test/java/jiras/surefire1095/Listener.java new file mode 100644 index 0000000..f16c04a --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1095-npe-in-runlistener/src/test/java/jiras/surefire1095/Listener.java @@ -0,0 +1,38 @@ +package jiras.surefire1095; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.junit.runner.Description; +import org.junit.runner.notification.RunListener; + +public class Listener + extends RunListener +{ + @Override + public void testRunStarted( Description description ) + throws Exception + { + String described = description.getDisplayName(); + System.out.println( "testRunStarted " + + ( described == null || described.equals( "null" ) + ? description.getChildren() + : description ) ); + } +}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1095-npe-in-runlistener/src/test/java/jiras/surefire1095/SomeTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1095-npe-in-runlistener/src/test/java/jiras/surefire1095/SomeTest.java b/surefire-its/src/test/resources/surefire-1095-npe-in-runlistener/src/test/java/jiras/surefire1095/SomeTest.java new file mode 100644 index 0000000..923917a --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1095-npe-in-runlistener/src/test/java/jiras/surefire1095/SomeTest.java @@ -0,0 +1,31 @@ +package jiras.surefire1095; + +/* + * 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.runner.Version; +import org.junit.Test; + +public class SomeTest { + @Test + public void test() + { + System.out.println( "Running JUnit " + Version.id() ); + } +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1098-balanced-runorder/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1098-balanced-runorder/pom.xml b/surefire-its/src/test/resources/surefire-1098-balanced-runorder/pom.xml new file mode 100644 index 0000000..75f1c8e --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1098-balanced-runorder/pom.xml @@ -0,0 +1,62 @@ +<?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>jiras-surefire-1098</artifactId> + <version>1.0</version> + <url>http://maven.apache.org</url> + <developers> + <developer> + <id>tibordigana</id> + <name>Tibor DigaÅa (tibor17)</name> + <email>tibordig...@apache.org</email> + <roles> + <role>Committer</role> + </roles> + <timezone>Europe/Bratislava</timezone> + </developer> + </developers> + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.7</version> + <scope>test</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <runOrder>balanced</runOrder> + </configuration> + </plugin> + </plugins> + </build> +</project> http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/ATest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/ATest.java b/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/ATest.java new file mode 100644 index 0000000..34bb895 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/ATest.java @@ -0,0 +1,34 @@ +package jiras.surefire1098; + +/* + * 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 java.util.concurrent.TimeUnit; + +public final class ATest { + + @Test + public void someMethod() throws InterruptedException { + System.out.println(getClass() + " " + Thread.currentThread().getName()); + TimeUnit.MILLISECONDS.sleep(100); + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/BTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/BTest.java b/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/BTest.java new file mode 100644 index 0000000..a9a52b8 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/BTest.java @@ -0,0 +1,34 @@ +package jiras.surefire1098; + +/* + * 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 java.util.concurrent.TimeUnit; + +public final class BTest { + + @Test + public void someMethod() throws InterruptedException { + System.out.println(getClass() + " " + Thread.currentThread().getName()); + TimeUnit.SECONDS.sleep(2); + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/CTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/CTest.java b/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/CTest.java new file mode 100644 index 0000000..63e4e0f --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/CTest.java @@ -0,0 +1,34 @@ +package jiras.surefire1098; + +/* + * 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 java.util.concurrent.TimeUnit; + +public final class CTest { + + @Test + public void someMethod() throws InterruptedException { + System.out.println(getClass() + " " + Thread.currentThread().getName()); + TimeUnit.SECONDS.sleep(4); + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/DTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/DTest.java b/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/DTest.java new file mode 100644 index 0000000..a97640e --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1098-balanced-runorder/src/test/java/jiras/surefire1098/DTest.java @@ -0,0 +1,34 @@ +package jiras.surefire1098; + +/* + * 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 java.util.concurrent.TimeUnit; + +public final class DTest { + + @Test + public void someMethod() throws InterruptedException { + System.out.println(getClass() + " " + Thread.currentThread().getName()); + TimeUnit.SECONDS.sleep(8); + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml b/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml new file mode 100644 index 0000000..0efc935 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml @@ -0,0 +1,78 @@ +<?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>jiras-surefire-1122</artifactId> + <version>1.0</version> + + <properties> + <maven.compiler.source>1.7</maven.compiler.source> + <maven.compiler.target>1.7</maven.compiler.target> + </properties> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.11</version> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <version>${surefire.version}</version> + <dependencies> + <dependency> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>surefire-junit47</artifactId> + <version>${surefire.version}</version> + </dependency> + </dependencies> + <configuration> + <rerunFailingTestsCount>2</rerunFailingTestsCount> + </configuration> + </plugin> + </plugins> + </build> + <profiles> + <profile> + <id>parallel</id> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <useUnlimitedThreads>true</useUnlimitedThreads> + <forkCount>0</forkCount> + <parallel>classes</parallel> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project> http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/src/test/java/test/FlakyTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/src/test/java/test/FlakyTest.java b/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/src/test/java/test/FlakyTest.java new file mode 100644 index 0000000..fc7b443 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/src/test/java/test/FlakyTest.java @@ -0,0 +1,41 @@ +package 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. + */ + +import org.junit.Test; + +public class FlakyTest +{ + private static int x = 1; + + @Test + public void failsOnFirstExecution() + { + if ( x++ < 2 ) + { + org.junit.Assert.fail( "First execution always fails. Try again." ); + } + } + + @Test + public void alwaysPasses() + { + } +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml b/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml new file mode 100644 index 0000000..daecfc0 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml @@ -0,0 +1,79 @@ +<?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>surefire-1135-improve-ignore-message-for-testng</artifactId> + <version>1.0-SNAPSHOT</version> + <name>Surefire 1135</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> + <test>SkipExceptionReportTest</test> + </configuration> + </plugin> + </plugins> + </build> +</project> http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/src/test/java/testng/SkipExceptionReportTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/src/test/java/testng/SkipExceptionReportTest.java b/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/src/test/java/testng/SkipExceptionReportTest.java new file mode 100644 index 0000000..abb555f --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/src/test/java/testng/SkipExceptionReportTest.java @@ -0,0 +1 @@ +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package testng; import org.testng.annotations.Test; import org.testng.SkipException; public class SkipExceptionReportTest { @Test public void testSkipException() { throw new SkipException("Skip test"); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1136-cwd-propagation-in-forked-mode/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1136-cwd-propagation-in-forked-mode/pom.xml b/surefire-its/src/test/resources/surefire-1136-cwd-propagation-in-forked-mode/pom.xml new file mode 100644 index 0000000..d8c5a01 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1136-cwd-propagation-in-forked-mode/pom.xml @@ -0,0 +1,69 @@ +<!-- + ~ 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>cwd</groupId> + <artifactId>cwd</artifactId> + <version>1.0</version> + <packaging>jar</packaging> + + <name>cwd</name> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding> + </properties> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.11</version> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <!-- To override fork mode from parrent pom.xml --> + <forkMode>once</forkMode> + <forkCount>1</forkCount> + <!-- To ensure proper variables expansion for both standard maven and surefire specific variables --> + <workingDirectory>${project.name}_${surefire.forkNumber}</workingDirectory> + <systemPropertyVariables> + <maven.project.base.directory>${basedir}</maven.project.base.directory> + </systemPropertyVariables> + </configuration> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1136-cwd-propagation-in-forked-mode/src/test/java/cwd/CurrentWorkingDirectoryInForkedModeTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1136-cwd-propagation-in-forked-mode/src/test/java/cwd/CurrentWorkingDirectoryInForkedModeTest.java b/surefire-its/src/test/resources/surefire-1136-cwd-propagation-in-forked-mode/src/test/java/cwd/CurrentWorkingDirectoryInForkedModeTest.java new file mode 100644 index 0000000..6a82ee3 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1136-cwd-propagation-in-forked-mode/src/test/java/cwd/CurrentWorkingDirectoryInForkedModeTest.java @@ -0,0 +1,51 @@ +package cwd; + +/* + * 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 java.io.File; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; + +public class CurrentWorkingDirectoryInForkedModeTest +{ + + @Test + public void testCurrentWorkingDirectoryPropagation() + throws Exception + { + + File projectDirectory = new File( System.getProperty( "maven.project.base.directory" ) ); + File forkDirectory = new File( projectDirectory, "cwd_1" ); + forkDirectory.deleteOnExit(); + + // user.dir and current working directory must be aligned, base directory is not affected + assertEquals( projectDirectory.getCanonicalPath(), System.getProperty( "basedir" ) ); + assertEquals( forkDirectory.getCanonicalPath(), System.getProperty( "user.dir" ) ); + assertEquals( forkDirectory.getCanonicalPath(), new File( "." ).getCanonicalPath() ); + + // original working directory (before variable expansion) should not be created + assertFalse( new File( "cwd_${surefire.forkNumber}" ).exists() ); + + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1144-xml-runtime/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1144-xml-runtime/pom.xml b/surefire-its/src/test/resources/surefire-1144-xml-runtime/pom.xml new file mode 100644 index 0000000..b183414 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1144-xml-runtime/pom.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF licenses this file + ~ to you under the Apache License, Version 2.0 (the + ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>it-parent</artifactId> + <version>1.0</version> + </parent> + + <groupId>org.apache.maven.plugins.surefire</groupId> + <artifactId>surefire1144-xml-runtime</artifactId> + <version>1.0</version> + + <url>http://maven.apache.org</url> + + <contributors> + <contributor> + <name>lamyaa (Lamyaa Eloussi)</name> + <email>elous...@illinois.edu</email> + </contributor> + </contributors> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.0</version> + </dependency> + </dependencies> +</project> http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1144-xml-runtime/src/test/java/surefire1144/Test1.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1144-xml-runtime/src/test/java/surefire1144/Test1.java b/surefire-its/src/test/resources/surefire-1144-xml-runtime/src/test/java/surefire1144/Test1.java new file mode 100644 index 0000000..047a741 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1144-xml-runtime/src/test/java/surefire1144/Test1.java @@ -0,0 +1,82 @@ +package surefire1144; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class Test1 +{ + static void sleep( int ms ) + { + long target = System.currentTimeMillis() + ms; + try + { + do + { + Thread.sleep( 1L ); + } + while ( System.currentTimeMillis() < target ); + } + catch ( InterruptedException e ) + { + throw new RuntimeException( e ); + } + } + + static void printTimeAndSleep( String msg, int ms ) + { + System.out.println( msg + " started @ " + System.currentTimeMillis() ); + sleep( ms ); + } + + @Test + public void testSleep100() + { + printTimeAndSleep( "Test1.sleep100", 100 ); + } + + @Test + public void testSleep200() + { + printTimeAndSleep( "Test1.sleep200", 200 ); + } + + @Test + public void testSleep300() + { + printTimeAndSleep( "Test1.sleep300", 300 ); + } + + @BeforeClass + public static void setUpBeforeClass() + throws Exception + { + printTimeAndSleep( "beforeClass sleep 500", 500 ); + } + + @AfterClass + public static void tearDownAfterClass() + throws Exception + { + printTimeAndSleep( "afterClass sleep 500", 500 ); + } +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/pom.xml b/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/pom.xml new file mode 100644 index 0000000..77e10e7 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/pom.xml @@ -0,0 +1,62 @@ +<?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>jiras-surefire-1146</artifactId> + <version>1.0</version> + <url>http://maven.apache.org</url> + <developers> + <developer> + <id>tibordigana</id> + <name>Tibor DigaÅa (tibor17)</name> + <email>tibordig...@apache.org</email> + <roles> + <role>Committer</role> + </roles> + <timezone>Europe/Bratislava</timezone> + </developer> + </developers> + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.12</version> + <scope>test</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <rerunFailingTestsCount>2</rerunFailingTestsCount> + </configuration> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/CustomDescriptionParameterizedTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/CustomDescriptionParameterizedTest.java b/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/CustomDescriptionParameterizedTest.java new file mode 100644 index 0000000..ffdfa87 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/CustomDescriptionParameterizedTest.java @@ -0,0 +1,62 @@ +package jiras.surefire1146; + +/* + * 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.util.ArrayList; +import java.util.List; + +import junit.runner.Version; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; + +import static org.junit.Assert.*; + +@RunWith( Parameterized.class ) +public class CustomDescriptionParameterizedTest +{ + + private static boolean success; + + public CustomDescriptionParameterizedTest( String test1, String test2, String test3 ) + { + + } + + @Parameters( name = "{index}: ({0}); {1}; {2};" ) + public static List getParameters() + { + List parameters = new ArrayList(); + parameters.add( new String[]{ "Test11", "Test12", "Test13" } ); + parameters.add( new String[]{ "Test21", "Test22", "Test23" } ); + return parameters; + } + + @Test + public void flakyTest() + { + System.out.println( "Running JUnit " + Version.id() ); + boolean current = success; + success = !success; + assertTrue( current ); + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/CustomDescriptionWithCommaParameterizedTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/CustomDescriptionWithCommaParameterizedTest.java b/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/CustomDescriptionWithCommaParameterizedTest.java new file mode 100644 index 0000000..39563df --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/CustomDescriptionWithCommaParameterizedTest.java @@ -0,0 +1,63 @@ +package jiras.surefire1146; + +/* + * 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.util.ArrayList; +import java.util.List; + +import junit.runner.Version; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; + +import static org.junit.Assert.*; + +@RunWith( Parameterized.class ) +public class CustomDescriptionWithCommaParameterizedTest +{ + + private static boolean success; + + public CustomDescriptionWithCommaParameterizedTest( String test1, String test2, String test3 ) + { + + } + + @Parameters( name = "{index}: ({0}), {1}, {2};" ) + public static List getParameters() + { + List parameters = new ArrayList(); + parameters.add( new String[]{ "Test11", "Test12", "Test13" } ); + parameters.add( new String[]{ "Test21", "Test22", "Test23" } ); + parameters.add( new String[]{ "Test31", "Test32", "Test33" } ); + return parameters; + } + + @Test + public void flakyTest() + { + System.out.println( "Running JUnit " + Version.id() ); + boolean current = success; + success = !success; + assertTrue( current ); + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/SimpleParameterizedTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/SimpleParameterizedTest.java b/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/SimpleParameterizedTest.java new file mode 100644 index 0000000..f278c34 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/SimpleParameterizedTest.java @@ -0,0 +1,62 @@ +package jiras.surefire1146; + +/* + * 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.util.ArrayList; +import java.util.List; + +import junit.runner.Version; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; + +import static org.junit.Assert.*; + +@RunWith( Parameterized.class ) +public class SimpleParameterizedTest +{ + + private static boolean success; + + public SimpleParameterizedTest( String test ) + { + + } + + @Parameters + public static List getParameters() + { + List parameters = new ArrayList(); + parameters.add( new String[]{ "Test1" } ); + parameters.add( new String[]{ "Test2" } ); + return parameters; + } + + @Test + public void flakyTest() + { + System.out.println( "Running JUnit " + Version.id() ); + boolean current = success; + success = !success; + assertTrue( current ); + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/StandardTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/StandardTest.java b/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/StandardTest.java new file mode 100644 index 0000000..f96cdd8 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1146-rerunFailingTests-with-Parameterized/src/test/java/jiras/surefire1146/StandardTest.java @@ -0,0 +1,40 @@ +package jiras.surefire1146; + +/* + * 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.runner.Version; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class StandardTest +{ + private static boolean success; + + @Test + public void flakyTest() + { + System.out.println( "Running JUnit " + Version.id() ); + boolean current = success; + success = !success; + assertTrue( current ); + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/pom.xml b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/pom.xml new file mode 100644 index 0000000..bdba56b --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/pom.xml @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF licenses this file + ~ to you under the Apache License, Version 2.0 (the + ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>it-parent</artifactId> + <version>1.0</version> + </parent> + <groupId>org.apache.maven.plugins.surefire</groupId> + <artifactId>jiras-surefire-1152</artifactId> + + <version>1.0</version> + + <properties> + <failIfNoTests>true</failIfNoTests> + <failsafe.rerunFailingTestsCount>2</failsafe.rerunFailingTestsCount> + <surefire.rerunFailingTestsCount>2</surefire.rerunFailingTestsCount> + </properties> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <includes> + <include>FlakyTestSuite</include> + </includes> + <!--<skip>true</skip>--> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>integration-test</goal> + <goal>verify</goal> + </goals> + </execution> + </executions> + <configuration> + <includes> + <include>FlakyITSuite</include> + </includes> + </configuration> + </plugin> + </plugins> + </build> + + <profiles> + <profile> + <id>surefire-junit47</id> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>surefire-junit47</artifactId> + <version>${surefire.version}</version> + </dependency> + </dependencies> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>surefire-junit47</artifactId> + <version>${surefire.version}</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>surefire-junit4</id> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>surefire-junit4</artifactId> + <version>${surefire.version}</version> + </dependency> + </dependencies> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>surefire-junit4</artifactId> + <version>${surefire.version}</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> + </profile> + </profiles> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.11</version> + <scope>test</scope> + </dependency> + </dependencies> + +</project> http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyIT.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyIT.java b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyIT.java new file mode 100644 index 0000000..27d5b5f --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyIT.java @@ -0,0 +1,39 @@ +package jiras.surefire1152; + +/* + * 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.fail; + +public class FlakyIT +{ + private static int n; + + @Test + public void testFlaky() + { + if ( n++ == 0 ) + { + fail( "deliberately flaky test (should pass the next time)" ); + } + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyITSuite.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyITSuite.java b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyITSuite.java new file mode 100644 index 0000000..0ebd03c --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyITSuite.java @@ -0,0 +1,29 @@ +package jiras.surefire1152; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith( Suite.class ) +@Suite.SuiteClasses( { FlakyIT.class } ) +public class FlakyITSuite +{ +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyParent.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyParent.java b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyParent.java new file mode 100644 index 0000000..86a08db --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyParent.java @@ -0,0 +1,45 @@ +package jiras.surefire1152; + +/* + * 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 java.util.HashSet; +import java.util.Set; + +import static org.junit.Assert.fail; + +public class FlakyParent +{ + // set of test classes which have previously invoked testFlakyParent + private static final Set<Class<?>> previouslyRun = new HashSet<Class<?>>(); + + @Test + public void testFlakyParent() + { + Class<?> clazz = getClass(); + if ( !previouslyRun.contains( clazz ) ) + { + previouslyRun.add( clazz ); + fail( "deliberately flaky test (should pass the next time)" ); + } + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyTest.java b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyTest.java new file mode 100644 index 0000000..ee20f9e --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyTest.java @@ -0,0 +1,39 @@ +package jiras.surefire1152; + +/* + * 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.fail; + +public class FlakyTest extends FlakyParent +{ + private static int n; + + @Test + public void testFlaky() + { + if ( n++ == 0 ) + { + fail( "deliberately flaky test (should pass the next time)" ); + } + } + +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyTestSuite.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyTestSuite.java b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyTestSuite.java new file mode 100644 index 0000000..f4a7d67 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1152-rerunFailingTestsCount-suite/src/test/java/jiras/surefire1152/FlakyTestSuite.java @@ -0,0 +1,29 @@ +package jiras.surefire1152; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith( Suite.class ) +@Suite.SuiteClasses( { FlakyTest.class, FlakyParent.class } ) +public class FlakyTestSuite +{ +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/pom.xml b/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/pom.xml new file mode 100644 index 0000000..13ae6b6 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/pom.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF licenses this file + ~ to you under the Apache License, Version 2.0 (the + ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>it-parent</artifactId> + <version>1.0</version> + </parent> + <groupId>org.apache.maven.plugins.surefire</groupId> + <artifactId>jiras-surefire-1153</artifactId> + <version>1.0</version> + <url>http://maven.apache.org</url> + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.12</version> + <scope>test</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <includes> + <include>**/*UT.java</include> + </includes> + </configuration> + <executions> + <execution> + <goals> + <goal>test</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/src/test/java/jiras/surefire1153/IncludedUT.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/src/test/java/jiras/surefire1153/IncludedUT.java b/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/src/test/java/jiras/surefire1153/IncludedUT.java new file mode 100644 index 0000000..042cf37 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/src/test/java/jiras/surefire1153/IncludedUT.java @@ -0,0 +1,30 @@ +package jiras.surefire1153; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.junit.Test; + +public class IncludedUT +{ + @Test + public void testIncluded() + { + } +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/src/test/java/jiras/surefire1153/NotIncludedTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/src/test/java/jiras/surefire1153/NotIncludedTest.java b/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/src/test/java/jiras/surefire1153/NotIncludedTest.java new file mode 100644 index 0000000..b03d0af --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1153-includesAndSpecifiedTest/src/test/java/jiras/surefire1153/NotIncludedTest.java @@ -0,0 +1,30 @@ +package jiras.surefire1153; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.junit.Test; + +public class NotIncludedTest +{ + @Test + public void testNotIncluded() + { + } +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1158-remove-info-lines/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1158-remove-info-lines/pom.xml b/surefire-its/src/test/resources/surefire-1158-remove-info-lines/pom.xml new file mode 100644 index 0000000..37e65bf --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1158-remove-info-lines/pom.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF licenses this file + ~ to you under the Apache License, Version 2.0 (the + ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + --> + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>it-parent</artifactId> + <version>1.0</version> + </parent> + + <groupId>org.apache.maven.plugins.surefire</groupId> + <artifactId>surefire-1158</artifactId> + <version>1.0</version> + + <dependencies> + <dependency> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <version>5.7</version> + <classifier>jdk15</classifier> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.7</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <forkMode>always</forkMode> + </configuration> + <dependencies> + <dependency> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>${provider}</artifactId> + <version>${surefire.version}</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> + +</project> http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1158-remove-info-lines/src/test/java/jira1158/JUnitTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1158-remove-info-lines/src/test/java/jira1158/JUnitTest.java b/surefire-its/src/test/resources/surefire-1158-remove-info-lines/src/test/java/jira1158/JUnitTest.java new file mode 100644 index 0000000..5bfb834 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1158-remove-info-lines/src/test/java/jira1158/JUnitTest.java @@ -0,0 +1,31 @@ +package jira1158; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.junit.Test; + +public class JUnitTest { + + @Test + public void doNothing() + { + + } +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1158-remove-info-lines/src/test/java/jira1158/TestNGSuiteTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1158-remove-info-lines/src/test/java/jira1158/TestNGSuiteTest.java b/surefire-its/src/test/resources/surefire-1158-remove-info-lines/src/test/java/jira1158/TestNGSuiteTest.java new file mode 100644 index 0000000..65cc8c4 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1158-remove-info-lines/src/test/java/jira1158/TestNGSuiteTest.java @@ -0,0 +1,32 @@ +package jira1158; + +/* + * 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() + { + + } +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1179-testng-parallel-dataprovider/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1179-testng-parallel-dataprovider/pom.xml b/surefire-its/src/test/resources/surefire-1179-testng-parallel-dataprovider/pom.xml new file mode 100644 index 0000000..e61abeb --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1179-testng-parallel-dataprovider/pom.xml @@ -0,0 +1,73 @@ +<?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>surefire-1179-testng-parallel-dataprovider</artifactId> + <version>1.0</version> + <url>http://maven.apache.org</url> + <developers> + <developer> + <id>tibordigana</id> + <name>Tibor DigaÅa (tibor17)</name> + <email>tibordig...@apache.org</email> + <roles> + <role>Committer</role> + </roles> + <timezone>Europe/Bratislava</timezone> + </developer> + </developers> + <dependencies> + <dependency> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <version>5.10</version> + <classifier>jdk15</classifier> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <properties> + <property> + <name>parallel</name> + <value>methods</value> + </property> + <property> + <name>dataproviderthreadcount</name> + <value>30</value> + </property> + </properties> + </configuration> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1179-testng-parallel-dataprovider/src/test/java/debug/ParallelTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1179-testng-parallel-dataprovider/src/test/java/debug/ParallelTest.java b/surefire-its/src/test/resources/surefire-1179-testng-parallel-dataprovider/src/test/java/debug/ParallelTest.java new file mode 100644 index 0000000..6863f62 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1179-testng-parallel-dataprovider/src/test/java/debug/ParallelTest.java @@ -0,0 +1,45 @@ +package debug; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import org.testng.annotations.AfterClass; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +public class ParallelTest +{ + private static final AtomicInteger concurrency = new AtomicInteger(); + + private static final AtomicInteger counter = new AtomicInteger(); + + @DataProvider( parallel = true, name = "dataProvider" ) + public Iterator<Object[]> dataProvider() + { + List<Object[]> data = new ArrayList<Object[]>(); + for ( int i = 0; i < 5000; i++ ) + { + data.add( new Object[]{ "ID_" + i } ); + } + return data.iterator(); + } + + @Test( dataProvider = "dataProvider" ) + public void testParallelDataProvider( String iterId ) + throws Exception + { + int methodCount = counter.incrementAndGet(); + int currentlyParallelCalls = concurrency.incrementAndGet(); + if ( methodCount % 100 == 0 ) + { + System.out.println( iterId + ": CONCURRENCY=" + currentlyParallelCalls + "." ); + } + TimeUnit.MILLISECONDS.sleep( 20 ); + concurrency.decrementAndGet(); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1185/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1185/pom.xml b/surefire-its/src/test/resources/surefire-1185/pom.xml new file mode 100644 index 0000000..ca15310 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1185/pom.xml @@ -0,0 +1,66 @@ +<?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>jiras-surefire-1185</artifactId> + <version>1.0</version> + <url>http://maven.apache.org</url> + <developers> + <developer> + <id>tibordigana</id> + <name>Tibor DigaÅa (tibor17)</name> + <email>tibordig...@apache.org</email> + <roles> + <role>PMC</role> + </roles> + <timezone>Europe/Bratislava</timezone> + </developer> + </developers> + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.0</version> + <scope>test</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>surefire-junit4</artifactId> + <version>${surefire.version}</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> +</project> http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1185/src/test/java/pkg/RunningTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1185/src/test/java/pkg/RunningTest.java b/surefire-its/src/test/resources/surefire-1185/src/test/java/pkg/RunningTest.java new file mode 100644 index 0000000..2469bd3 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1185/src/test/java/pkg/RunningTest.java @@ -0,0 +1,29 @@ +package pkg; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.junit.Test; + +public class RunningTest { + @Test + public void test() + { + } +} http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/09f0eef8/surefire-its/src/test/resources/surefire-1185/src/test/java/pkg/UnlistedTest.java ---------------------------------------------------------------------- diff --git a/surefire-its/src/test/resources/surefire-1185/src/test/java/pkg/UnlistedTest.java b/surefire-its/src/test/resources/surefire-1185/src/test/java/pkg/UnlistedTest.java new file mode 100644 index 0000000..8348673 --- /dev/null +++ b/surefire-its/src/test/resources/surefire-1185/src/test/java/pkg/UnlistedTest.java @@ -0,0 +1,29 @@ +package pkg; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.junit.Test; + +public class UnlistedTest { + @Test + public void test() + { + } +}