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

Tibor Digana commented on SUREFIRE-1024:
----------------------------------------

Works For Me with JUnit.
Shouldn't be the same for TestNG?

{code}
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>g</groupId>
      <artifactId>a1</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>g</groupId>
      <artifactId>a2</artifactId>
      <version>1.0</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.18.1</version>
        <executions>
          <execution>
            <id>it</id>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <parallel>all</parallel>
          <useUnlimitedThreads>true</useUnlimitedThreads>
          <dependenciesToScan>
            <dependency>g:a1</dependency>
          </dependenciesToScan>
        </configuration>
      </plugin>
    </plugins>
  </build>
{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