You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Sebastian Paul (JIRA)" <ji...@codehaus.org> on 2015/03/31 10:10:22 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:comment-tabpanel&focusedCommentId=365894#comment-365894 ]
Sebastian Paul commented on SUREFIRE-1024:
------------------------------------------
For the unpatient, simply unpack the tests as workaround:
{code:title=pom.xml}
<plugin>
<!-- due to https://jira.codehaus.org/browse/SUREFIRE-1024 -->
<!-- we have to unpack the tests -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>unpack-tests</id>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeArtifactIds>tests-jar</includeArtifactIds>
<includes>**/IT*.class,**/*IT.class,**/*ITCase.class</includes>
<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
{code}
> "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: 3.0
>
> 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)