Maven Surefire
  1. Maven Surefire
  2. SUREFIRE-831

Lexical error in surefire-plugin (TestNGExecutor.applyGroupMatching()) if the groupName of an excludedGroup contains a '-' sign

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.11, 2.12
    • Fix Version/s: 2.12.4
    • Component/s: TestNG support
    • Labels:
      None
    • Environment:
      Tested with maven-surefire-plugin-2.13-20120207.212404-8
    • Complexity:
      Intermediate
    • Number of attachments :
      0

      Description

      This occurs even with the current SNAPSHOT release. The issue might be related to SUREFIRE-828.

      pom.xml
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
            <excludedGroups>ui-test</excludedGroups>
         </configuration>
      </plugin>
      
      Running TestSuite
      org.apache.maven.surefire.util.SurefireReflectionException: java.lang.reflect.InvocationTargetException; nested exceptio
      n is java.lang.reflect.InvocationTargetException: null
      java.lang.reflect.InvocationTargetException
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
              at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
              at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
              at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103)
              at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
      Caused by: org.apache.maven.surefire.testset.TestSetFailedException: null; nested exception is java.lang.reflect.Invocat
      ionTargetException: null
              at org.apache.maven.surefire.testng.TestNGExecutor.applyGroupMatching(TestNGExecutor.java:164)
              at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:65)
              at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:161)
              at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:101)
              at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:115)
              ... 9 more
      Caused by: java.lang.reflect.InvocationTargetException
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.apache.maven.surefire.testng.TestNGExecutor.applyGroupMatching(TestNGExecutor.java:140)
              ... 13 more
      Caused by: org.apache.maven.surefire.group.parse.TokenMgrError: Lexical error at line 1, column 3.  Encountered: "-" (45
      ), after : ""
              at org.apache.maven.surefire.group.parse.GroupMatcherParserTokenManager.getNextToken(GroupMatcherParserTokenMana
      ger.java:468)
              at org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_scan_token(GroupMatcherParser.java:527)
              at org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_3_7(GroupMatcherParser.java:274)
              at org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_3R_3(GroupMatcherParser.java:287)
              at org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_3_3(GroupMatcherParser.java:279)
              at org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_3R_1(GroupMatcherParser.java:320)
              at org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_3_1(GroupMatcherParser.java:335)
              at org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_2_1(GroupMatcherParser.java:179)
              at org.apache.maven.surefire.group.parse.GroupMatcherParser.expr(GroupMatcherParser.java:63)
              at org.apache.maven.surefire.group.parse.GroupMatcherParser.parse(GroupMatcherParser.java:56)
              at org.apache.maven.surefire.testng.utils.GroupMatcherMethodSelector.setGroups(GroupMatcherMethodSelector.java:7
      6)
              ... 18 more
      

        Activity

        Hide
        Andreas Kuhtz added a comment -

        The problem does not occur if a '_' is used insead of the '-' sign. I guess it's related to the definition in http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-grouper/src/main/javacc/category-expression.jj?view=markup&pathrev=1235805

        category-expression.jj
        <STRING: (["A"-"Z", "a"-"z", "0"-"9", "_", "$", "#", "."])+ >
        

        which might be

        category-expression.jj
        <STRING: (["A"-"Z", "a"-"z", "0"-"9", "_", "-", "$", "#", "."])+ >
        
        Show
        Andreas Kuhtz added a comment - The problem does not occur if a '_' is used insead of the '-' sign. I guess it's related to the definition in http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-grouper/src/main/javacc/category-expression.jj?view=markup&pathrev=1235805 category-expression.jj <STRING: ([ "A" - "Z" , "a" - "z" , "0" - "9" , "_" , "$" , "#" , "." ])+ > which might be category-expression.jj <STRING: ([ "A" - "Z" , "a" - "z" , "0" - "9" , "_" , "-" , "$" , "#" , "." ])+ >
        Hide
        Alex T added a comment -

        This also happens when trying to include groups, and the only workaround seems to be to rename the test group.

        Show
        Alex T added a comment - This also happens when trying to include groups, and the only workaround seems to be to rename the test group.
        Hide
        Kristian Rosenvold added a comment -

        Fixed in r1385046, thanks for the bug report !

        Updated IT to cover -

        Show
        Kristian Rosenvold added a comment - Fixed in r1385046, thanks for the bug report ! Updated IT to cover -

          People

          • Assignee:
            Kristian Rosenvold
            Reporter:
            Andreas Kuhtz
          • Votes:
            3 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: