maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebastian Paul (JIRA)" <j...@codehaus.org>
Subject [jira] (SUREFIRE-1024) "verify" goal ignores "dependenciesToScan" parameter when checking tests existence
Date Thu, 02 Apr 2015 12:43:18 GMT

    [ https://jira.codehaus.org/browse/SUREFIRE-1024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=366007#comment-366007
] 

Sebastian Paul commented on SUREFIRE-1024:
------------------------------------------

For the usual unit and integration tests, you are absolutely right. But in my concrete case,
the test is not in my ownership. That special test run applies aspects with load time weaving,
in order to gather data for further analysis. Maybe the use case is too special for Surefire,
but the dependenciesToScan option is there. And in my opinion, verify should not claim that
no tests ran, when integration-test actually did run tests.

> "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: surefire-1024-works-for-me.zip, 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)

Mime
View raw message