>
> which means a maximum of 3 jvms running at the same time.

I don't understand this. Why a maximum of 3? If I am running with -T 2
there can be a maximum of 2 JVMs, right?

On Wed, Mar 22, 2023 at 4:51 PM Olivier Lamy <[email protected]> wrote:

> Hi.
> -Tx option will not change anything about how surefire works.
> using this configuration (which is the default):
>             <forkCount>1</forkCount>
>             <reuseForks>true</reuseForks>
>
> means surefire will create only one fork and reuse it BUT only for the
> same maven module.
> With -T2 you will have a maximum of 2 maven modules building in
> parallel which means you can have potentially one surefire forked jvm
> per module
> which means a maximum of 3 jvms running at the same time.
>
>
>
> On Wed, 22 Mar 2023 at 18:53, Debraj Manna <[email protected]>
> wrote:
> >
> > I have a multi-module project. My POM structure is like below
> >
> > root/pom.xml
> >
> > <modules>
> > <!-- a,b,c & d are not dependent on each other. -->
> > <module>a</module>
> > <module>b</module>
> > <module>c</module>
> > <module>d</module>
> > </modules>
> >
> > I am running surefire with reuseForks = true, forkCount = 1. If I am
> > executing all tests at the root level with mvn -T 2 test. How will tests
> be
> > executed?
> >
> > Assuming maven picks modules *a* and *b* to be executed first. Then
> module
> > *a* and Module *b* tests will be executed in two separate JVM and once
> > those are finished. There will be two new JVM spawned which will execute
> > all tests for module c and module d.
> >
> > Is my above understanding correct or the same two JVMs will be reused for
> > executing tests for module *c* and module *d?*
> >
> > I am using surefire 3.0.0-M7. My entire surefire config in root/pom.xml
> > looks like below.
> >
> > <pluginManagement>
> >       <plugins>
> >         <plugin>
> >           <groupId>org.apache.maven.plugins</groupId>
> >           <artifactId>maven-surefire-plugin</artifactId>
> >           <version>3.0.0-M7</version>
> >           <configuration>
> >             <systemPropertyVariables>
> >               <!-- System properties to be applied to all tests -->
> >               <grpc.enabled>false</grpc.enabled>
> >               <management.metrics.export.datadog.enabled>false
> >               </management.metrics.export.datadog.enabled>
> >               <spring.profiles.active>test</spring.profiles.active>
> >               <spring.zipkin.enabled>false</spring.zipkin.enabled>
> >
> > <spring.test.context.cache.maxSize>3</spring.test.context.cache.maxSize>
> >               <user.language>en</user.language>
> >               <user.region>US</user.region>
> >               <ut.forkNumber>$${surefire.forkNumber}</ut.forkNumber>
> >             </systemPropertyVariables>
> >             <!--These values are chosen experimentally-->
> >             <argLine>
> >               -Xms512m -Xmx3g -XX:MaxDirectMemorySize=512m
> > -XX:MaxMetaspaceSize=768m
> >               -XX:+HeapDumpOnOutOfMemoryError @{argLine}
> >               <!--
> https://github.com/RuedigerMoeller/fast-serialization#mvn
> > -->
> >               --add-modules=jdk.incubator.foreign
> >               --add-opens=java.base/java.lang=ALL-UNNAMED
> >               --add-opens=java.base/java.math=ALL-UNNAMED
> >               --add-opens=java.base/java.util=ALL-UNNAMED
> >               --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
> >               --add-opens=java.base/java.net=ALL-UNNAMED
> >               --add-opens=java.base/java.text=ALL-UNNAMED
> >               --add-opens=java.sql/java.sql=ALL-UNNAMED
> >               <!-- Needed only for TestingUtils.parseJsonToPojo -->
> >               --add-opens=java.base/java.time=ALL-UNNAMED
> >               <!-- For wiremock -->
> >
> > --add-opens=java.xml/com.sun.org.apache.xpath.internal.jaxp=ALL-UNNAMED
> >             </argLine>
> >
> >             <!--  Runs test suite / classes in parallel-->
> >             <parallel>suitesAndClasses</parallel>
> >             <perCoreThreadCount>false</perCoreThreadCount>
> >
> >             <!--Uncomment the two lines below if you want to redirect all
> > mvn test results into files.-->
> >
>  <!--<redirectTestOutputToFile>true</redirectTestOutputToFile>-->
> >
> >
> <!--<reportsDirectory>${project.build.directory}/test-reports</reportsDirectory>-->
> >
> >             <!--  Starts multiple JVMs and runs tests in parallel-->
> >             <forkCount>1</forkCount>
> >             <reuseForks>true</reuseForks>
> >           </configuration>
> >         </plugin>
> >         <plugin>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to