Alexander Kriegisch created SUREFIRE-2234:
---------------------------------------------

             Summary: Test name pattern '*' not recognised when using dot 
separators
                 Key: SUREFIRE-2234
                 URL: https://issues.apache.org/jira/browse/SUREFIRE-2234
             Project: Maven Surefire
          Issue Type: Bug
          Components: Maven Failsafe Plugin, Maven Surefire Plugin
    Affects Versions: 3.2.5
            Reporter: Alexander Kriegisch


As discussed in this [users mailing list 
thread|https://lists.apache.org/thread/r52gobx5b92tlf7zkqr4k7hh4dntyxpl], 
something like {{mvn test -Dtest=dev.aspectj.*}} does not work, while {{mvn 
test -Dtest=dev/aspectj/*}} does. I.e., the matcher does not treat "/" path 
separators and "." package separators as equivalent, which IMO it should, also 
in more complex globbing patterns like {{dev.aspectj.**.*}}. Interestingly, as 
soon as there is a prefix to "*", it starts working again, e.g. 
{{dev.aspectj.MyO*}}.

One quick fix that fors for me locally, is


{code:none}
--- 
a/surefire-api/src/main/java/org/apache/maven/surefire/api/testset/ResolvedTest.java
        (revision Staged)
+++ 
b/surefire-api/src/main/java/org/apache/maven/surefire/api/testset/ResolvedTest.java
        (date 1707188275344)
@@ -339,7 +339,7 @@
         private boolean matchClassPatter(String testClassFile) {
             // @todo We have to use File.separator only because the 
MatchPatterns is using it internally - cannot
             // override.
-            String classPattern = ResolvedTest.this.classPattern;
+            String classPattern = ResolvedTest.this.classPattern.replace('.', 
'/');
             if (separatorChar != '/') {
                 testClassFile = testClassFile.replace('/', separatorChar);
                 classPattern = classPattern.replace('/', separatorChar);
{code}

I did not thoroughly test it, but at least as a commiter you know where you can 
start looking.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to