[
https://jira.codehaus.org/browse/SUREFIRE-809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=288974#comment-288974
]
John Casey commented on SUREFIRE-809:
-------------------------------------
I've (approximately) rewritten the attached grammar so it'll work with javacc,
and created a series of matcher classes that will help me evaluate a category
statement. I'm currently working on integrating this work into the junit and
testng providers. The advantage of javacc here is that it generates a
self-contained set classes, so we're not adding any new dependencies.
I haven't committed the grammar to trunk yet, so I'll attach it here. It's my
first javacc grammar, so it could use some peer review!
> Implement boolean expression to define test group to be run.
> ------------------------------------------------------------
>
> Key: SUREFIRE-809
> URL: https://jira.codehaus.org/browse/SUREFIRE-809
> Project: Maven Surefire
> Issue Type: New Feature
> Components: Junit 4.x support
> Affects Versions: 2.11
> Reporter: Ondrej Zizka
> Attachments: BooleanExpression.g, category-expression.jj
>
>
> This is an alternative to SUREFIRE-808.
> Instead of having hard-coded filtering structure combining two lists.
> an expression could be parsed and evaluated for each test.
> Each test would be "tagged" using
> {code}
> @Categories({ MyCateg1.class, MyCateg2.class, ... })
> {code}
> Surefire's `group` config param would be an expression like:
> {code}
> <groups>( Ejb AND (CommonCriteria OR Security) ) AND NOT( Clustering )<groups>
> {code}
> Presence of a category of given name would be evaluated as true, absence of
> it as false.
> Interface inheritance would be taken into account.
> This mechanism would provide unlimited possibilities of grouping tests, and
> would be very beneficial for huge testuites counting thousands of tests.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira