You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Alejandro Abdelnur (JIRA)" <ji...@apache.org> on 2011/03/11 08:22:59 UTC

[jira] Created: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

improve/fix support excluding Tests via Maven -D property
---------------------------------------------------------

                 Key: HBASE-3625
                 URL: https://issues.apache.org/jira/browse/HBASE-3625
             Project: HBase
          Issue Type: Improvement
          Components: build
    Affects Versions: 0.90.1
         Environment: all
            Reporter: Alejandro Abdelnur


Currently the surefire plugin configuration defines the following exclusion:

{code}
.
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <forkMode>always</forkMode>
          <includes>
            <include>**/Test*.java</include>
          </includes>
          <excludes>
            <exclude>**/*$*</exclude>
          </excludes>
        </configuration>
      </plugin>
{code}

AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.

Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Updated: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-3625:
-------------------------

    Status: Patch Available  (was: Open)

Marking patch available.  Looks like something that'd be useful in trunk and branch.

> improve/fix support excluding Tests via Maven -D property
> ---------------------------------------------------------
>
>                 Key: HBASE-3625
>                 URL: https://issues.apache.org/jira/browse/HBASE-3625
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.1
>         Environment: all
>            Reporter: Alejandro Abdelnur
>              Labels: build
>         Attachments: hbase-3625.txt
>
>
> Currently the surefire plugin configuration defines the following exclusion:
> {code}
> .
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <configuration>
>           <forkMode>always</forkMode>
>           <includes>
>             <include>**/Test*.java</include>
>           </includes>
>           <excludes>
>             <exclude>**/*$*</exclude>
>           </excludes>
>         </configuration>
>       </plugin>
> {code}
> AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.
> Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

Posted by "ryan rawson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13005543#comment-13005543 ] 

ryan rawson commented on HBASE-3625:
------------------------------------

mvn test -Dtest=TestHRegion

currently works.  What else are you worried about?


> improve/fix support excluding Tests via Maven -D property
> ---------------------------------------------------------
>
>                 Key: HBASE-3625
>                 URL: https://issues.apache.org/jira/browse/HBASE-3625
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.1
>         Environment: all
>            Reporter: Alejandro Abdelnur
>              Labels: build
>
> Currently the surefire plugin configuration defines the following exclusion:
> {code}
> .
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <configuration>
>           <forkMode>always</forkMode>
>           <includes>
>             <include>**/Test*.java</include>
>           </includes>
>           <excludes>
>             <exclude>**/*$*</exclude>
>           </excludes>
>         </configuration>
>       </plugin>
> {code}
> AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.
> Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Updated: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Todd Lipcon updated HBASE-3625:
-------------------------------

       Resolution: Fixed
    Fix Version/s: 0.90.2
         Assignee: Alejandro Abdelnur
     Hadoop Flags: [Reviewed]
           Status: Resolved  (was: Patch Available)

> improve/fix support excluding Tests via Maven -D property
> ---------------------------------------------------------
>
>                 Key: HBASE-3625
>                 URL: https://issues.apache.org/jira/browse/HBASE-3625
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.1
>         Environment: all
>            Reporter: Alejandro Abdelnur
>            Assignee: Alejandro Abdelnur
>              Labels: build
>             Fix For: 0.90.2
>
>         Attachments: hbase-3625.txt
>
>
> Currently the surefire plugin configuration defines the following exclusion:
> {code}
> .
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <configuration>
>           <forkMode>always</forkMode>
>           <includes>
>             <include>**/Test*.java</include>
>           </includes>
>           <excludes>
>             <exclude>**/*$*</exclude>
>           </excludes>
>         </configuration>
>       </plugin>
> {code}
> AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.
> Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13006723#comment-13006723 ] 

stack commented on HBASE-3625:
------------------------------

+1

> improve/fix support excluding Tests via Maven -D property
> ---------------------------------------------------------
>
>                 Key: HBASE-3625
>                 URL: https://issues.apache.org/jira/browse/HBASE-3625
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.1
>         Environment: all
>            Reporter: Alejandro Abdelnur
>              Labels: build
>         Attachments: hbase-3625.txt
>
>
> Currently the surefire plugin configuration defines the following exclusion:
> {code}
> .
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <configuration>
>           <forkMode>always</forkMode>
>           <includes>
>             <include>**/Test*.java</include>
>           </includes>
>           <excludes>
>             <exclude>**/*$*</exclude>
>           </excludes>
>         </configuration>
>       </plugin>
> {code}
> AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.
> Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

Posted by "Alejandro Abdelnur (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13005548#comment-13005548 ] 

Alejandro Abdelnur commented on HBASE-3625:
-------------------------------------------

Ryan,

I want to be able to exclude tests using a -D property when running mvn


> improve/fix support excluding Tests via Maven -D property
> ---------------------------------------------------------
>
>                 Key: HBASE-3625
>                 URL: https://issues.apache.org/jira/browse/HBASE-3625
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.1
>         Environment: all
>            Reporter: Alejandro Abdelnur
>              Labels: build
>
> Currently the surefire plugin configuration defines the following exclusion:
> {code}
> .
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <configuration>
>           <forkMode>always</forkMode>
>           <includes>
>             <include>**/Test*.java</include>
>           </includes>
>           <excludes>
>             <exclude>**/*$*</exclude>
>           </excludes>
>         </configuration>
>       </plugin>
> {code}
> AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.
> Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

Posted by "Alejandro Abdelnur (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13005539#comment-13005539 ] 

Alejandro Abdelnur commented on HBASE-3625:
-------------------------------------------

Maven surefire plugin supports a {{-Dtest=[<TEST_CLASS_SIMPLE_NAME>,]+}} property to single out tests to run. An equivalent property is not supported for singling out tests to exclude.

The surefire configuration supports test exclusions by providing a Test Java file path {{****/Test**.java}}, the {{<exclusion>}} section supports multiple paths patterns separated by commas.

Supporting exclusion for 

Supporting exclusion for a single test, {{-Dtest.exclude=TestFoo}}, is easy:

{code}
  <exclusion>**/Test${test.exclude}.java</exclusion>
{code}

If the {{-Dtest.exclude=}} property is not specified, the pattern will not resolve to a testcase class.

Supporting exclusion for multiple tests can be done easily if full PATH patterns are specified, {{-Dtest.exclude.pattern=***/TestFoo.java,***/TestBar.java}}:

{code}
  <exclusion>${test.exclude.pattern}</exclusion>
{code}

Again, if the {{-Dtest.exclude.pattern=}} property is not specified, the pattern will not resolve to testcases classes.

Both properties can be defaulted in the {{<properties>}} section:

{code}
<properties>
  <test.exclude></test.exclude>
  <test.exclude.pattern>**/${test.exclude}.java</test.exclude.pattern>
</properties>
{code}

Then a single exclusion is needed for both single test class and test file patterns.

{code}
  <exclusion>${test.exclude.pattern}</exclusion>
{code}




> improve/fix support excluding Tests via Maven -D property
> ---------------------------------------------------------
>
>                 Key: HBASE-3625
>                 URL: https://issues.apache.org/jira/browse/HBASE-3625
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.1
>         Environment: all
>            Reporter: Alejandro Abdelnur
>              Labels: build
>
> Currently the surefire plugin configuration defines the following exclusion:
> {code}
> .
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <configuration>
>           <forkMode>always</forkMode>
>           <includes>
>             <include>**/Test*.java</include>
>           </includes>
>           <excludes>
>             <exclude>**/*$*</exclude>
>           </excludes>
>         </configuration>
>       </plugin>
> {code}
> AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.
> Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Updated: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Todd Lipcon updated HBASE-3625:
-------------------------------

    Attachment: hbase-3625.txt

> improve/fix support excluding Tests via Maven -D property
> ---------------------------------------------------------
>
>                 Key: HBASE-3625
>                 URL: https://issues.apache.org/jira/browse/HBASE-3625
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.1
>         Environment: all
>            Reporter: Alejandro Abdelnur
>              Labels: build
>         Attachments: hbase-3625.txt
>
>
> Currently the surefire plugin configuration defines the following exclusion:
> {code}
> .
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <configuration>
>           <forkMode>always</forkMode>
>           <includes>
>             <include>**/Test*.java</include>
>           </includes>
>           <excludes>
>             <exclude>**/*$*</exclude>
>           </excludes>
>         </configuration>
>       </plugin>
> {code}
> AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.
> Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13006513#comment-13006513 ] 

Todd Lipcon commented on HBASE-3625:
------------------------------------

Alejandro, would you mind posting a patch against hbase trunk?

> improve/fix support excluding Tests via Maven -D property
> ---------------------------------------------------------
>
>                 Key: HBASE-3625
>                 URL: https://issues.apache.org/jira/browse/HBASE-3625
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.1
>         Environment: all
>            Reporter: Alejandro Abdelnur
>              Labels: build
>
> Currently the surefire plugin configuration defines the following exclusion:
> {code}
> .
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <configuration>
>           <forkMode>always</forkMode>
>           <includes>
>             <include>**/Test*.java</include>
>           </includes>
>           <excludes>
>             <exclude>**/*$*</exclude>
>           </excludes>
>         </configuration>
>       </plugin>
> {code}
> AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.
> Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13007869#comment-13007869 ] 

Hudson commented on HBASE-3625:
-------------------------------

Integrated in HBase-TRUNK #1792 (See [https://hudson.apache.org/hudson/job/HBase-TRUNK/1792/])
    

> improve/fix support excluding Tests via Maven -D property
> ---------------------------------------------------------
>
>                 Key: HBASE-3625
>                 URL: https://issues.apache.org/jira/browse/HBASE-3625
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.1
>         Environment: all
>            Reporter: Alejandro Abdelnur
>            Assignee: Alejandro Abdelnur
>              Labels: build
>             Fix For: 0.90.2
>
>         Attachments: hbase-3625.txt
>
>
> Currently the surefire plugin configuration defines the following exclusion:
> {code}
> .
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <configuration>
>           <forkMode>always</forkMode>
>           <includes>
>             <include>**/Test*.java</include>
>           </includes>
>           <excludes>
>             <exclude>**/*$*</exclude>
>           </excludes>
>         </configuration>
>       </plugin>
> {code}
> AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.
> Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (HBASE-3625) improve/fix support excluding Tests via Maven -D property

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13006710#comment-13006710 ] 

Todd Lipcon commented on HBASE-3625:
------------------------------------

Alejandro's on vacation so I uploaded his patch he made against an internal git repo here.

> improve/fix support excluding Tests via Maven -D property
> ---------------------------------------------------------
>
>                 Key: HBASE-3625
>                 URL: https://issues.apache.org/jira/browse/HBASE-3625
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.1
>         Environment: all
>            Reporter: Alejandro Abdelnur
>              Labels: build
>         Attachments: hbase-3625.txt
>
>
> Currently the surefire plugin configuration defines the following exclusion:
> {code}
> .
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <configuration>
>           <forkMode>always</forkMode>
>           <includes>
>             <include>**/Test*.java</include>
>           </includes>
>           <excludes>
>             <exclude>**/*$*</exclude>
>           </excludes>
>         </configuration>
>       </plugin>
> {code}
> AFAICT the '{{***/***$**}}' does not resolve to anything meaningful.
> Adding support to exclude one or more tests via Maven property, i.e. '{{-Dtest.exclude=<TESTCLASS>}}' would be useful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira