DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19151>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19151 A New nested element to the batchtest element of the JUnit task Summary: A New nested element to the batchtest element of the JUnit task Product: Ant Version: 1.6Alpha (nightly) Platform: All OS/Version: Other Status: NEW Severity: Enhancement Priority: Other Component: Optional Tasks AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I want to use the JUnit optional task but there is something missing: My project includes some tests that should be invoked after compilation, and other tests that should be invoked after the server is up and running. To seperate between these tests some are implelemting a CompileTimeTest tag interface and other are implementing a RunTimeTest tag interface. I think it would be a nice feature to have an "instanceof" nested element that will be used in the following way: <junit ...> ... ... <batchtest ... > //Example 1: //Invoke tests which are instances of RunTimeTest and are not instances //of DBTest will be invoked // <instanceof> <include value= "com.mercury.xxx.yyy.RunTimeTest"> <exclude value= "com.mercury.xxx.yyy.DBTest"> </instanceof> //Example 2: //Only tests which are instances of RunTimeTest or CoreEngineTest and //are not instances of DBTest or CompileTimeTest will be invoked. // Between the includes/excludes themselves there is an or flag. // Between the includes and the excludes there is an and flag: // ((include1 || include2 || ... || includeN) && // !(exclude1 || exclude2 || ... || excludeN)) <instanceof> <include value= "com.mercury.xxx.yyy.RunTimeTest"> <include value= "com.mercury.xxx.yyy.CoreEngineTest"> <exclude value= "com.mercury.xxx.yyy.DBTest"> <exclude value= "com.mercury.xxx.yyy.CompileTimeTest"> </instanceof> </batchtest> </junit> Tests can be filtered by their name, but I think this way is more clean and more flexible. If you think its a good feature I can send you my implementation.