[
https://issues.apache.org/jira/browse/SUREFIRE-1529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16525173#comment-16525173
]
Zsombor Gegesy commented on SUREFIRE-1529:
------------------------------------------
Restructuring the projects is not an option, unfortunately. It would need a
huge refactor on the source code side - which would be hard to upstream. And
even after the tests are moved to lot of smaller modules, using it, wouldn't be
much simpler than the current situation, where I have a shell script, which
collects all the java source files under **/src/test/java/**/*.java, and after
some slicing and dicing, it creates a long maven command line, with specifying
a list of tests. It wouldn't help if I had to specify module names instead of
this.
Using JUnit categories is neither an option, for two reasons: because some
projects use TestNG, and because I don't have knowledge ahead, that how many
machines do I have, so it's unclear, how many categories do I need to create.
Maybe 3, maybe 10. Maybe something between them.
This patch is for automating the test parallelization and distribution as
seamless and scaleable, as possible.
> Implement test bucketing
> ------------------------
>
> Key: SUREFIRE-1529
> URL: https://issues.apache.org/jira/browse/SUREFIRE-1529
> Project: Maven Surefire
> Issue Type: New Feature
> Components: Maven Surefire Plugin
> Affects Versions: 2.22.0
> Reporter: Zsombor Gegesy
> Priority: Major
> Attachments: SUREFIRE-1529.patch
>
>
> There are projects, which has hundreds or thousands of test, which took hours
> to complete - to paralelize this, it would be good, if tests could be
> partitioned automatically into buckets - of course perfect bucketization is
> not feasible, due to lack of knowledge of test run times (and it would be a
> NP-complete problem even that case).
> The idea is to start tests concurrently, in different machines, something
> like this:
> # mvn test -DnumberOfBuckets=3 -DbucketId=0
> # mvn test -DnumberOfBuckets=3 -DbucketId=1
> # mvn test -DnumberOfBuckets=3 -DbucketId=2
> And the results could be collected and aggregated later by external
> processes.
> The current solution is to manually collect the tests, and generate huge
> command lines to do the same.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)