Tracey Ruark created SUREFIRE-1058:
--------------------------------------
Summary: 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
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)