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 2015/12/23 17:52:04 UTC
maven-surefire git commit: [SUREFIRE-1211] surefire-testng runs JUnit
tests
Repository: maven-surefire
Updated Branches:
refs/heads/master cac940520 -> 11894397c
[SUREFIRE-1211] surefire-testng runs JUnit tests
Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/11894397
Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/11894397
Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/11894397
Branch: refs/heads/master
Commit: 11894397cee63917b3d503b424a15958e44960fb
Parents: cac9405
Author: Tibor17 <ti...@lycos.com>
Authored: Wed Dec 23 17:51:29 2015 +0100
Committer: Tibor17 <ti...@lycos.com>
Committed: Wed Dec 23 17:51:29 2015 +0100
----------------------------------------------------------------------
.../src/site/apt/examples/testng.apt.vm | 40 ++++++++++
.../its/jiras/Surefire1211JUnitTestNgIT.java | 1 +
.../src/test/resources/surefire-1211/pom.xml | 79 ++++++++++++++++++++
.../src/test/java/jira1211/JUnitTest.java | 31 ++++++++
.../src/test/java/jira1211/TestNGSuiteTest.java | 32 ++++++++
.../testng/TestNGDirectoryTestSuite.java | 8 +-
6 files changed, 190 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/11894397/maven-surefire-plugin/src/site/apt/examples/testng.apt.vm
----------------------------------------------------------------------
diff --git a/maven-surefire-plugin/src/site/apt/examples/testng.apt.vm b/maven-surefire-plugin/src/site/apt/examples/testng.apt.vm
index 765e564..4921521 100644
--- a/maven-surefire-plugin/src/site/apt/examples/testng.apt.vm
+++ b/maven-surefire-plugin/src/site/apt/examples/testng.apt.vm
@@ -452,3 +452,43 @@ Using TestNG
[...]
</dependencies>
+---+
+
+ You may want to run two providers, e.g. <<<surefire-junit47>>> and <<<surefire-testng>>>, and avoid running JUnit
+ tests within <<<surefire-testng>>> provider by setting property <<<junit=false>>>.
+
++---+
+<plugins>
+ [...]
+ <plugin>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <configuration>
+ [...]
+ <properties>
+ <property>
+ <name>junit</name>
+ <value>false</value>
+ </property>
+ </properties>
+ <threadCount>1</threadCount>
+ [...]
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-junit47</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-testng</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ [...]
+</plugins>
++---+
+
+
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/11894397/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1211JUnitTestNgIT.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1211JUnitTestNgIT.java b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1211JUnitTestNgIT.java
new file mode 100644
index 0000000..d75ed00
--- /dev/null
+++ b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1211JUnitTestNgIT.java
@@ -0,0 +1 @@
+package org.apache.maven.surefire.its.jiras;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
import org.apache.maven.surefire.its.fixture.SurefireLauncher
;
import org.junit.Test;
import static java.lang.System.getProperty;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
import static org.hamcrest.Matchers.is;
import static org.junit.Assume.assumeThat;
/**
* @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
* @see {@linkplain https://jira.codehaus.org/browse/SUREFIRE-1211}
* @since 2.19.1
*/
public class Surefire1211JUnitTestNgIT
extends SurefireJUnit4IntegrationTestCase
{
@Test
public void withJUnit()
{
assumeThat( "java.specification.version: ",
getProperty( "java.specification.version" ), is( greaterThanOrEqualTo( "1.7" ) ) );
unpack().threadCount( 1 )
.executeTest()
.verifyErrorFree( 2 );
}
@Test
public void withoutJUnit()
{
assumeThat( "java.specification.version: ",
getProperty( "java.specification.version" ), is( greaterThanOrEqualTo( "1.7" ) )
);
unpack().threadCount( 1 )
.sysProp( "junit", "false" )
.executeTest()
.verifyErrorFree( 1 );
}
private SurefireLauncher unpack()
{
return unpack( "surefire-1211" );
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/11894397/surefire-integration-tests/src/test/resources/surefire-1211/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/surefire-1211/pom.xml b/surefire-integration-tests/src/test/resources/surefire-1211/pom.xml
new file mode 100644
index 0000000..d867b3c
--- /dev/null
+++ b/surefire-integration-tests/src/test/resources/surefire-1211/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/maven-v4_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-1211</artifactId>
+ <version>1.0</version>
+
+ <properties>
+ <junit/>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>6.9.4</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.10</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkMode>once</forkMode>
+ <properties>
+ <property>
+ <name>junit</name>
+ <value>${junit}</value>
+ </property>
+ </properties>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/11894397/surefire-integration-tests/src/test/resources/surefire-1211/src/test/java/jira1211/JUnitTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/surefire-1211/src/test/java/jira1211/JUnitTest.java b/surefire-integration-tests/src/test/resources/surefire-1211/src/test/java/jira1211/JUnitTest.java
new file mode 100644
index 0000000..1580e8a
--- /dev/null
+++ b/surefire-integration-tests/src/test/resources/surefire-1211/src/test/java/jira1211/JUnitTest.java
@@ -0,0 +1,31 @@
+package jira1211;
+
+/*
+ * 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/11894397/surefire-integration-tests/src/test/resources/surefire-1211/src/test/java/jira1211/TestNGSuiteTest.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/surefire-1211/src/test/java/jira1211/TestNGSuiteTest.java b/surefire-integration-tests/src/test/resources/surefire-1211/src/test/java/jira1211/TestNGSuiteTest.java
new file mode 100644
index 0000000..46959c7
--- /dev/null
+++ b/surefire-integration-tests/src/test/resources/surefire-1211/src/test/java/jira1211/TestNGSuiteTest.java
@@ -0,0 +1,32 @@
+package jira1211;
+
+/*
+ * 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/11894397/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
index 4e1a7f3..a695ef6 100644
--- a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
+++ b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
@@ -35,6 +35,7 @@ import org.apache.maven.surefire.testset.TestSetFailedException;
import org.apache.maven.surefire.util.TestsToRun;
import static org.apache.maven.surefire.testng.TestNGExecutor.run;
+import static org.apache.maven.surefire.util.internal.StringUtils.isBlank;
/**
* Test suite for TestNG based on a directory of Java test classes. Can also execute JUnit tests.
@@ -240,7 +241,12 @@ final class TestNGDirectoryTestSuite
private Map<String, String> createJUnitOptions()
{
Map<String, String> junitOptions = new HashMap<String, String>( options );
- junitOptions.put( "junit", "true" );
+ String onlyJUnit = options.get( "junit" );
+ if ( isBlank( onlyJUnit ) )
+ {
+ onlyJUnit = "true";
+ }
+ junitOptions.put( "junit", onlyJUnit );
return junitOptions;
}