[
https://jira.codehaus.org/browse/SUREFIRE-1058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Gudian reassigned SUREFIRE-1058:
----------------------------------------
Assignee: Andreas Gudian
> TestSetFailedException trying to use maven-surefire-plugin + regular
> expressions for TestNG groups
> --------------------------------------------------------------------------------------------------
>
> Key: SUREFIRE-1058
> URL: https://jira.codehaus.org/browse/SUREFIRE-1058
> Project: Maven Surefire
> Issue Type: Bug
> Components: TestNG support
> Affects Versions: 2.16
> Reporter: Tracey Ruark
> Assignee: Andreas Gudian
> Fix For: 2.17
>
> Attachments: Surefire1058BugExample.zip
>
>
> I have a Maven project with parent -> child poms. Each child project has
> TestNG tests. What I'd like to be able to do is use regular expressions on
> the TestNG group and execute tests across projects which match the given
> regex.
> Running TestNG tests using a non-regular expression group across projects
> works just fine. For example this works:
> {noformat}mvn test -DargLine="-Denvironment=test"
> -Dgroups="foo.bar.something"{noformat}
> This runs the correct test methods which have that exact tag across all my
> child projects.
> However if I do something like this:
> {noformat}mvn test -DargLine="-Denvironment=test"
> -Dgroups="foo.bar.*"{noformat}
> I get this exception:
> {noformat}
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-surefire-plugin:2.16:test (default-test)
> on project test-automation-ui: Execution default-test of goal
> org.apache.maven.plugins:maven-surefire-plugin:2.16:test failed: There was an
> error in the forked process
> [ERROR] org.apache.maven.surefire.testset.TestSetFailedException: null;
> nested exception is java.lang.reflect.InvocationTargetException: null
> [ERROR] java.lang.reflect.InvocationTargetException
> [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [ERROR] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [ERROR] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [ERROR] at java.lang.reflect.Method.invoke(Method.java:601)
> [ERROR] at
> org.apache.maven.surefire.testng.TestNGExecutor.getGroupMatchingSelector(TestNGExecutor.java:172)
> [ERROR] at
> org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:66)
> [ERROR] at
> org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:204)
> [ERROR] at
> org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:107)
> [ERROR] at
> org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:113)
> [ERROR] at
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
> [ERROR] at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
> [ERROR] at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> [ERROR] Caused by: org.apache.maven.surefire.group.parse.TokenMgrError:
> Lexical error at line 1, column 13. Encountered: <EOF> after : ""
> [ERROR] at
> org.apache.maven.surefire.group.parse.GroupMatcherParserTokenManager.getNextToken(GroupMatcherParserTokenManager.java:468)
> [ERROR] at
> org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_scan_token(GroupMatcherParser.java:527)
> [ERROR] at
> org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_3_7(GroupMatcherParser.java:274)
> [ERROR] at
> org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_3R_3(GroupMatcherParser.java:287)
> [ERROR] at
> org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_3_3(GroupMatcherParser.java:279)
> [ERROR] at
> org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_3R_1(GroupMatcherParser.java:320)
> [ERROR] at
> org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_3_1(GroupMatcherParser.java:335)
> [ERROR] at
> org.apache.maven.surefire.group.parse.GroupMatcherParser.jj_2_1(GroupMatcherParser.java:179)
> [ERROR] at
> org.apache.maven.surefire.group.parse.GroupMatcherParser.expr(GroupMatcherParser.java:63)
> [ERROR] at
> org.apache.maven.surefire.group.parse.GroupMatcherParser.parse(GroupMatcherParser.java:56)
> [ERROR] at
> org.apache.maven.surefire.testng.utils.GroupMatcherMethodSelector.setGroups(GroupMatcherMethodSelector.java:83)
> [ERROR] ... 12 more
> [ERROR] -> [Help 1]
> [ERROR]
> [ERROR] To see the full stack trace of the errors, re-run Maven with the -e
> switch.
> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
> [ERROR]
> {noformat}
> If I use the bypass surefire and run TestNG directly using same regular
> expression in a testng.xml suite file it works just fine:
> {noformat}
> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
> <suite name="foosuite">
> <parameter name="environment" value="dev"/>
> <test name="footest">
> <groups>
> <run>
> <include name="foo.bar.*"/>
> </run>
> </groups>
> <packages>
> <package name="com.foo.bar.somepackage.*"/>
> </packages>
> </test>
> </suite>
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)