[ http://jira.codehaus.org/browse/SUREFIRE-726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=264041#action_264041 ]
Kristian Rosenvold edited comment on SUREFIRE-726 at 4/20/11 3:03 AM: ---------------------------------------------------------------------- Nice strategy for solving this one, we should be thinking about viewing this feature request together with one or more of the linked issues, maybe especially SUREFIRE-530 was (Author: krosenvold): Nice strategy for solving this one, we should be thinking about viewing this feature request together with one or more of the linked issues. > Test list preprocessor support for tests to be run > -------------------------------------------------- > > Key: SUREFIRE-726 > URL: http://jira.codehaus.org/browse/SUREFIRE-726 > Project: Maven Surefire > Issue Type: New Feature > Affects Versions: 2.8.2 > Reporter: Janmejay Singh > Attachments: > 0001-Adds-test-list-preprocessor-support-which-loads-an-o.patch, > 0002-Integration-test-for-preprocessor.-2-modules-one-pro.patch > > > This exposes an interface(named TestListPreprocessor, which has a method > named preprocessTestClasses) that can be implemented by a user and injected > into surefire plugin configuration to have it used for preprocessing list of > tests to be run. Given the original test list, user's preprocessing algorithm > can choose to prune or reorder the list and return it back from > TestListPreprocessor#preprocessTestClasses, which is then used as the list of > tests to be executed. > The patches attached expose a configuration element named "testPreprocessor" > the default value of which is "none". User can choose to set it to a value > matching the format > "<fully-qualified-class-name>[<group-id>:<artifact-id>:<version>]" and have > the class loaded and called with list of tests to be run. The list of tests > returned by the call is then considered for execution. > Patch description: > The feature is done in 2 patches. Description follows: > 0001-Adds-test-list-preprocessor-support-which-loads-an-o.patch > This patch actually adds the feature and unit tests. It adds the interface, > an abstraction that encapsulates aforementioned configuration, booter > serialization/deserialization, directory-scanner changes etc. The changes > have effect in both forked and in-process execution mode. > 0002-Integration-test-for-preprocessor.-2-modules-one-pro.patch > This patch adds an integration test for preprocessor feature. The integration > test uses a 2 module setup, where the first module implements the > TestListPreprocessor interface which selects only even indexed test classes > from the list passed in. The second module(which depends on first) uses the > artifact from first and uses the following configuration: > -------------------- > <configuration> > > <testPreprocessor>test.preprocessor.EvenTestOnlyPreprocessor[org.apache.maven.plugins.surefire:preprocessor-impl:1.0-SNAPSHOT]</testPreprocessor> > </configuration> > -------------------- > The test then asserts that only 2(0th and 2nd) of the 4 test classes the > second module has are executed. > The patches are created on a git-svn clone using format-patch, please use > 'patch -p1 < 0001-Adds...'(while in the trunk directory) to apply the patches > on svn repository. If using git-svn, git-am can be directly be invoked. > The patches are done over > http://svn.apache.org/repos/asf/maven/surefire/trunk@1091357 (trunk HEAD) so > should apply cleanly on any recent enough revision. > =============================================================================== > Context: > http://stackoverflow.com/questions/5124823/reducing-the-build-time-hudson > http://code.google.com/p/tlb/issues/detail?id=1 > http://test-load-balancer.github.com -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira