[ 
https://issues.apache.org/jira/browse/LUCENE-9472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17181176#comment-17181176
 ] 

Dawid Weiss commented on LUCENE-9472:
-------------------------------------

I filed a PR with PoC. I don't think it is something we should commit in 
(although I'm sure [~mikemccand] will run it on his boxes :) ) Too much 
maintenance will be required to make it functional on gradle upgrades.

> True concurrent test suite duplication and execution (beasting)
> ---------------------------------------------------------------
>
>                 Key: LUCENE-9472
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9472
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Dawid Weiss
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> I toyed with this a bit because it's hacker's delight... Forked the default 
> Gradle test task and made it emit the same test/ suite name multiple times. 
> This results in the same test being executed multiple times:
> {code}
> # ./gradlew -p lucene\analysis\kuromoji testy --tests 
> TestToStringUtil.testHepburn -Ptests.dups=10
> > Task :randomizationInfo
> Running tests with randomization seed: tests.seed=88C21B0E8ABB2D46
> > Task :lucene:analysis:kuromoji:testy
> :lucene:analysis:kuromoji:testy (SUCCESS): 10 test(s)
> BUILD SUCCESSFUL in 13s
> 21 actionable tasks: 6 executed, 15 up-to-date
> {code}
> Upsides:
> * Everything configures itself because the custom task is a subtype of 
> Gradle's Test task,
> * Tests are run in parallel, on multiple VMs,
> * Opens up the possibility of reordering test suites (for load-balancing).
> Downsides:
> * Requires a custom(ized) clone of Gradle's internal classes. Will require 
> maintenance when upgrading gradle. There is no certainty it'll work.
> * Some things visibly don't like duplicated suite names - the progress bar 
> shows the suite once, even though it is executed concurrently in multiple VMs,
> * XML reports will drive jenkins and other tooling crazy:
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <testsuite name="org.apache.lucene.analysis.ja.util.TestToStringUtil" 
> tests="10" skipped="0" failures="0" errors="0" 
> timestamp="2020-08-20T12:54:27" hostname="DWEISS-DESKTOP" time="3.177">
>   <properties/>
>   <testcase name="testHepburn" 
> classname="org.apache.lucene.analysis.ja.util.TestToStringUtil" time="1.04"/>
>   <testcase name="testHepburn" 
> classname="org.apache.lucene.analysis.ja.util.TestToStringUtil" time="1.045"/>
>   <testcase name="testHepburn" 
> classname="org.apache.lucene.analysis.ja.util.TestToStringUtil" time="1.043"/>
>   <testcase name="testHepburn" 
> classname="org.apache.lucene.analysis.ja.util.TestToStringUtil" time="1.038"/>
>   <testcase name="testHepburn" 
> classname="org.apache.lucene.analysis.ja.util.TestToStringUtil" time="1.008"/>
>   <testcase name="testHepburn" 
> classname="org.apache.lucene.analysis.ja.util.TestToStringUtil" time="1.005"/>
> ....
> {code}
> * not sure what happens with sysouts from such concurrent runs...



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to