You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Andreas Gudian (JIRA)" <ji...@codehaus.org> on 2014/03/08 17:50:59 UTC
[jira] (SUREFIRE-1024) "verify" goal ignores "dependenciesToScan"
parameter when checking tests existence
[ https://jira.codehaus.org/browse/SUREFIRE-1024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Gudian updated SUREFIRE-1024:
-------------------------------------
Fix Version/s: (was: 2.17)
2.18
> "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
> Fix For: 2.18
>
> 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}
> (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 from dependency jar.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)