You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/11/13 00:01:00 UTC

[jira] [Commented] (SUREFIRE-1309) Clarify %regex

    [ https://issues.apache.org/jira/browse/SUREFIRE-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16684515#comment-16684515 ] 

ASF GitHub Bot commented on SUREFIRE-1309:
------------------------------------------

bturner commented on a change in pull request #138: SUREFIRE-1309: Clarifying use of regular expressions for inclusion/exclusion
URL: https://github.com/apache/maven-surefire/pull/138#discussion_r232853437
 
 

 ##########
 File path: maven-surefire-plugin/src/site/apt/examples/inclusion-exclusion.apt.vm
 ##########
 @@ -164,7 +164,16 @@ Inclusions and Exclusions of Tests
 +---+
 
   Note the syntax <<<%regex[expr]>>>, where <<<expr>>> is the actual expression and the rest is just wrapping. Also
-  note that regex matches are done over <<<*.class>>> files and not <<<*.java>>> files.
+  note the following about the use of regular expressions:
+
+   * Regex matches are done over <<<*.class>>> files and not <<<*.java>>> files
+
+   * Regex matches are done over paths using slashes ("<<</>>>") and not package names using dots ("<<<.>>>"), so the
+      "<<<.>>>" in <<<pkg.*Slow.*.class>>> is a regex metacharacter, which happens to match any character, notably
+      the (forward) slashes ("<<</>>>") that make up the path. Slashes here are <forward>, even on Windows
 
 Review comment:
   This is not true, at least in Surefire 2.22.0 and 2.22.1. Perhaps it's a regression, but I've found I have to use an exclude pattern like `%regex[it[/\\\\].*]` in order for it to work on Windows and !Windows. If I do `%regex[it/.*]` then tests like `it.com.example.IntegrationTest` are not run, but on Windows they _are_ run.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Clarify %regex
> --------------
>
>                 Key: SUREFIRE-1309
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1309
>             Project: Maven Surefire
>          Issue Type: Bug
>    Affects Versions: 2.19.1
>         Environment: Probably any environment
>            Reporter: Sander Verhagen
>            Assignee: Tibor Digana
>            Priority: Major
>             Fix For: 2.20
>
>
> It would be good to clarify the {{%regex ...}} feature:
> 1. While it is said to be regular expression, it really is a {{regular expression + ".class"}} kind of thing. This does not work (while it is proper regex):
> {noformat}.+\.class{noformat} The following works (while it is not proper regex): {noformat}.+.class{noformat}
> 2. Clarify that one is supposed to match slashes between packages and class name, not periods. The following [current documentation|http://maven.apache.org/components/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html] doesn't clarify that by just using "{{.*}}": {noformat}!%regex[pkg.*Slow.*.class]{noformat}
> 3. Clarify what the expectations are in terms of escaping characters
> I just spend literally ten hours figuring out a complex regex, going into TeamCity (which by itself complicated the troubleshooting for me), and the documentation could have saved my butt, here.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)