[ 
https://jira.codehaus.org/browse/SUREFIRE-809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=285701#comment-285701
 ] 

Ondrej Zizka commented on SUREFIRE-809:
---------------------------------------

For parsing and evaluation, JEXL library could be used - 
http://commons.apache.org/jexl/ .
Other approach is to use ANTLR grammar, parse the expression and code the 
evaluation. Example of grammar is attached.
Also, there's older 2.x release of JEP library which was under GPL: 
http://sourceforge.net/projects/jep/
                
> 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: Improvement
>          Components: Junit 4.x support
>    Affects Versions: 2.11
>            Reporter: Ondrej Zizka
>         Attachments: BooleanExpression.g
>
>
> 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

        

Reply via email to