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

Sebastian Paul edited comment on SUREFIRE-1024 at 3/31/15 3:11 AM:
-------------------------------------------------------------------

For the unpatient, simply unpack the tests as workaround:

{code:xml|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}


was (Author: sebpaul):
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)

Reply via email to