Dmitry Kholodilov created SUREFIRE-1024:
-------------------------------------------
Summary: "verify" goal ignores "dependenciesToScan" parameter when
checking tests existence
Key: SUREFIRE-1024
URL: https://jira.codehaus.org/browse/SUREFIRE-1024
Project: Maven Surefire
Issue Type: Bug
Components: Maven Failsafe Plugin
Affects Versions: 2.16
Reporter: Dmitry Kholodilov
Attachments:
verify_goal_ignores_dependenciesToScan_parameter_when_checking_tests_existence.patch
Consider Maven project with packaging=pom that executes tests from some
external jar:
{code:xml}
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>test</version>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>test</groupId>
<artifactId>tests-jar</artifactId>
<version>1.0</version>
<classifier>tests</classifier>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.17-SNAPSHOT</version>
<configuration>
<dependenciesToScan>
<dependency>test:tests-jar</dependency>
</dependenciesToScan>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
{code}e
(real use case is execution of prebuilt end-to-end tests of some system after
its deployment)
When we run `mvn clean verify` on such project, failsafe plugin's "verify" goal
reports the following:
{noformat}
[INFO] --- maven-failsafe-plugin:2.16:verify (verify) @ test ---
[INFO] No tests to run.
{noformat}
Consequently, even if there are test failures, build success is reported.
The reason of such behavior is that VerifyMojo ignores "dependenciesToScan"
parameter. So, the fix is easy - check its existence along with
"testClassesDirectory" existence, the same way as implemented in
AbstractSurefireMojo.
The patch in attachment includes integration test, that checks for build
failure when there is failed test in dependency jar.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira