This is an automated email from the ASF dual-hosted git repository.

olamy pushed a commit to branch surefire-3.5.x
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git


The following commit(s) were added to refs/heads/surefire-3.5.x by this push:
     new 0d5df8a3b 3.5.x/bug/cherry pick embedded mode its (#3328)
0d5df8a3b is described below

commit 0d5df8a3b4606622a67922405488d4b182409893
Author: Olivier Lamy <[email protected]>
AuthorDate: Fri Mar 20 06:59:41 2026 +1000

    3.5.x/bug/cherry pick embedded mode its (#3328)
    
    * Execute ITs in embedded mode by default (#3323)
    
    * Execute ITs in embedded mode by default
    
    * More memory for ITs
    
    * more forkJvm
    
    Signed-off-by: Olivier Lamy <[email protected]>
    
    ---------
    
    Signed-off-by: Olivier Lamy <[email protected]>
    Co-authored-by: Slawomir Jaranowski <[email protected]>
---
 surefire-its/pom.xml                                |  2 +-
 .../maven/surefire/its/AbstractFailFastIT.java      |  2 +-
 .../its/AbstractTestMultipleMethodPatterns.java     |  2 ++
 .../maven/surefire/its/CheckTestNgReportTestIT.java |  1 +
 .../org/apache/maven/surefire/its/ForkCountIT.java  |  9 +++++----
 .../maven/surefire/its/JUnit48TestCategoriesIT.java |  8 ++++----
 .../apache/maven/surefire/its/JUnit4IgnoreIT.java   |  1 +
 .../surefire/its/TestMultipleMethodPatternsIT.java  |  2 +-
 .../maven/surefire/its/fixture/MavenLauncher.java   | 11 ++++++++++-
 .../its/jiras/Surefire1053SystemPropertiesIT.java   |  3 ++-
 .../its/jiras/Surefire1211JUnitTestNgIT.java        |  6 +++++-
 ...Surefire1534ReuseForksFalseWithJavaModuleIT.java |  4 +++-
 .../its/jiras/Surefire809GroupExpressionsIT.java    | 21 ++++++++++++++-------
 .../Surefire855AllowFailsafeUseArtifactFileIT.java  |  1 +
 .../its/jiras/Surefire995CategoryInheritanceIT.java |  4 ++++
 15 files changed, 55 insertions(+), 22 deletions(-)

diff --git a/surefire-its/pom.xml b/surefire-its/pom.xml
index e759b36c0..fb4fba90c 100644
--- a/surefire-its/pom.xml
+++ b/surefire-its/pom.xml
@@ -216,7 +216,7 @@
               <forkCount>${its.forkCount}</forkCount>
               <threadCount>${its.threadCount}</threadCount>
               <perCoreThreadCount>false</perCoreThreadCount>
-              <argLine>-server -Xmx64m -XX:+UseG1GC -XX:+TieredCompilation 
-XX:TieredStopAtLevel=1 -Djava.awt.headless=true 
-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
+              <argLine>-Xmx512m -XX:+UseG1GC -Djava.awt.headless=true 
-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
               <!-- Pass current surefire version to the main suite so that it 
-->
               <!-- can forward to all integration test projects. SUREFIRE-513 
-->
               <systemPropertyVariables>
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractFailFastIT.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractFailFastIT.java
index 935240954..309653956 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractFailFastIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractFailFastIT.java
@@ -95,7 +95,7 @@ private OutputValidator prepare(String description, String 
profile, Map<String,
         if (failures != 0 || errors != 0) {
             launcher.withFailure();
         }
-
+        launcher.setForkJvm(true);
         return launcher.sysProp(properties).executeTest();
     }
 
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java
index 28b88414b..823658d0e 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java
@@ -64,6 +64,7 @@ protected SurefireLauncher prepare(String tests) {
                 throw new IllegalArgumentException(
                         "Unsupported configuration " + 
getSettings().getConfiguration());
         }
+        launcher.setForkJvm();
         return launcher;
     }
 
@@ -105,6 +106,7 @@ public void simpleNameTestAsParallel() {
         assumeThat(getSettings().getFramework(), anyOf(is(JUNIT47), 
is(TestNG)));
         prepare("TestTwo")
                 .parallel("classes")
+                .setForkJvm()
                 .useUnlimitedThreads()
                 .executeTest()
                 .verifyErrorFree(2)
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgReportTestIT.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgReportTestIT.java
index 3b364e306..2710f8dab 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgReportTestIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgReportTestIT.java
@@ -55,6 +55,7 @@ public void shouldNotBeVerbose() throws Exception {
     @Test
     public void shouldBeVerbose() throws Exception {
         unpack("/testng-simple")
+                .setForkJvm()
                 .sysProp("testNgVersion", "5.10")
                 .sysProp("testNgClassifier", "jdk15")
                 .sysProp("surefire.testng.verbose", "10")
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/ForkCountIT.java 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/ForkCountIT.java
index 5bd6e287b..6856a4071 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/ForkCountIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/ForkCountIT.java
@@ -49,7 +49,7 @@ public static void installDumpPidPlugin() {
 
     @Test
     public void testForkNever() {
-        String[] pids = doTest(unpack(getProject()).forkNever());
+        String[] pids = doTest(unpack(getProject()).setForkJvm().forkNever());
         assertSamePids(pids);
         assertEndWith(pids, "_1_1", 3);
         assertEquals("my pid is equal to pid 1 of the test", getMainPID(), 
pids[0]);
@@ -69,6 +69,7 @@ public void testForkOncePerThreadSingleThread() {
     public void testForkOncePerThreadTwoThreads() {
         int threadCount = 2;
         String[] pids = doTest(unpack(getProject())
+                .setForkJvm()
                 .forkPerThread(threadCount)
                 .threadCount(threadCount)
                 .addGoal("-DsleepLength=7200"));
@@ -102,8 +103,8 @@ public void testForkCountTwoNoReuse() {
 
     @Test
     public void testForkCountTwoReuse() {
-        String[] pids =
-                
doTest(unpack(getProject()).forkCount(2).reuseForks(true).addGoal("-DsleepLength=7200"));
+        String[] pids = doTest(
+                
unpack(getProject()).setForkJvm().forkCount(2).reuseForks(true).addGoal("-DsleepLength=7200"));
         assertDifferentPids(pids, 2);
         assertNotEquals("pid 1 is not the same as the main process' pid", 
pids[0], getMainPID());
     }
@@ -126,7 +127,7 @@ private void assertDifferentPids(String[] pids, int 
numOfDifferentPids) {
 
     @Test
     public void testForkOnce() {
-        String[] pids = doTest(unpack(getProject()).forkOnce());
+        String[] pids = doTest(unpack(getProject()).setForkJvm().forkOnce());
         assertSamePids(pids);
         assertNotEquals("pid 1 is not the same as the main process' pid", 
pids[0], getMainPID());
     }
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java
index eb7b55c48..4b634c7ff 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java
@@ -41,22 +41,22 @@ public void testCategoriesABForkAlways() {
 
     @Test
     public void testCategoriesACFullyQualifiedClassName() {
-        runACFullyQualifiedClassName(unpacked());
+        runACFullyQualifiedClassName(unpacked().setForkJvm());
     }
 
     @Test
     public void testCategoriesACFullyQualifiedClassNameForkAlways() {
-        runACFullyQualifiedClassName(unpacked().forkAlways());
+        runACFullyQualifiedClassName(unpacked().setForkJvm().forkAlways());
     }
 
     @Test
     public void testCategoriesACClassNameSuffix() {
-        runACClassNameSuffix(unpacked());
+        runACClassNameSuffix(unpacked().setForkJvm());
     }
 
     @Test
     public void testCategoriesACClassNameSuffixForkAlways() {
-        runACClassNameSuffix(unpacked().forkAlways());
+        runACClassNameSuffix(unpacked().setForkJvm().forkAlways());
     }
 
     @Test
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit4IgnoreIT.java 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit4IgnoreIT.java
index a880f64a6..076ffe846 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit4IgnoreIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit4IgnoreIT.java
@@ -37,6 +37,7 @@ public void testJunit4Ignore() {
     @Test
     public void testJunit47ParallelIgnore() {
         unpack().setJUnitVersion("4.8.1")
+                .setForkJvm()
                 .parallelClasses()
                 .executeTest()
                 .verifyErrorFreeLog()
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/TestMultipleMethodPatternsIT.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/TestMultipleMethodPatternsIT.java
index 8dd0eb0e8..54e141b8e 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/TestMultipleMethodPatternsIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/TestMultipleMethodPatternsIT.java
@@ -56,6 +56,6 @@ protected Settings getSettings() {
 
     @Override
     protected SurefireLauncher unpack() {
-        return unpack("junit48-multiple-method-patterns", "_" + 
settings.path());
+        return unpack("junit48-multiple-method-patterns", "_" + 
settings.path()).setForkJvm();
     }
 }
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java
index 441d44969..6ccf74d22 100755
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java
@@ -69,11 +69,15 @@ public final class MavenLauncher {
 
     private boolean expectFailure;
 
+    private boolean forkJvm;
+
     MavenLauncher(Class<?> testClass, String resourceName, String suffix, 
String[] cli) {
         this.testCaseBeingRun = testClass;
         this.resourceName = resourceName;
         this.suffix = suffix != null ? suffix : "";
         this.cli = cli == null ? null : cli.clone();
+        // by default use embedded mode
+        this.forkJvm = false;
         resetGoals();
         resetCliOptions();
     }
@@ -264,6 +268,11 @@ public OutputValidator executeCurrentGoals() {
             getVerifier().addCliArguments(goals.toArray(new String[] {}));
             getVerifier().setSystemProperties(props);
             getVerifier().setEnvironmentVariables(envVars);
+            if (envVars.isEmpty()) {
+                getVerifier().setForkJvm(forkJvm);
+            } else {
+                getVerifier().setForkJvm(true);
+            }
             getVerifier().execute();
             return getValidator();
         } catch (VerificationException e) {
@@ -318,7 +327,7 @@ public OutputValidator getValidator() {
     }
 
     public void setForkJvm(boolean forkJvm) {
-        getVerifier().setForkJvm(forkJvm);
+        this.forkJvm = forkJvm;
     }
 
     public String getLocalRepository() {
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1053SystemPropertiesIT.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1053SystemPropertiesIT.java
index a8eda80e3..1dc0f86b5 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1053SystemPropertiesIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1053SystemPropertiesIT.java
@@ -33,7 +33,8 @@
 public class Surefire1053SystemPropertiesIT extends 
SurefireJUnit4IntegrationTestCase {
     @Test
     public void checkWarningsFileEncoding() {
-        unpack().sysProp("file.encoding", "ISO-8859-1")
+        unpack().setForkJvm()
+                .sysProp("file.encoding", "ISO-8859-1")
                 .executeTest()
                 .verifyErrorFree(1)
                 .verifyTextInLog("file.encoding cannot be set as system 
property, use <argLine>-D"
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1211JUnitTestNgIT.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1211JUnitTestNgIT.java
index dcca78173..667d994f7 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1211JUnitTestNgIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1211JUnitTestNgIT.java
@@ -36,7 +36,11 @@ public void withJUnit() {
 
     @Test
     public void withoutJUnit() {
-        unpack().threadCount(1).sysProp("junit", 
"false").executeTest().verifyErrorFree(1);
+        unpack().setForkJvm()
+                .threadCount(1)
+                .sysProp("junit", "false")
+                .executeTest()
+                .verifyErrorFree(1);
     }
 
     private SurefireLauncher unpack() {
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1534ReuseForksFalseWithJavaModuleIT.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1534ReuseForksFalseWithJavaModuleIT.java
index 56cfb2d1e..a041c0f55 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1534ReuseForksFalseWithJavaModuleIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1534ReuseForksFalseWithJavaModuleIT.java
@@ -33,7 +33,8 @@ public class Surefire1534ReuseForksFalseWithJavaModuleIT 
extends AbstractJava9Pl
 
     @Test
     public void testExecuteWithReuseForksFalseWithJavaModule() {
-        OutputValidator validator = 
assumeJava9().reuseForks(false).forkCount(1).executeTest();
+        OutputValidator validator =
+                
assumeJava9().setForkJvm().reuseForks(false).forkCount(1).executeTest();
 
         validator.assertTestSuiteResults(2, 0, 0, 0);
         validator.verifyErrorFreeLog();
@@ -49,6 +50,7 @@ public void testExecuteWithReuseForksFalseWithJavaModule() {
     @Test
     public void testExecuteWithReuseForksFalseWithJavaModuleWithFilter() {
         OutputValidator validator = assumeJava9()
+                .setForkJvm()
                 .reuseForks(false)
                 .forkCount(1)
                 .setTestToRun("MainTest")
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire809GroupExpressionsIT.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire809GroupExpressionsIT.java
index 1e618541d..76042a7ff 100755
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire809GroupExpressionsIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire809GroupExpressionsIT.java
@@ -29,8 +29,10 @@
 public class Surefire809GroupExpressionsIT extends 
SurefireJUnit4IntegrationTestCase {
     @Test
     public void categoryAB() {
-        OutputValidator validator =
-                unpackJUnit().groups("junit4.CategoryA AND 
junit4.CategoryB").executeTest();
+        OutputValidator validator = unpackJUnit()
+                .setForkJvm()
+                .groups("junit4.CategoryA AND junit4.CategoryB")
+                .executeTest();
         validator.verifyErrorFreeLog();
         validator.assertTestSuiteResults(2, 0, 0, 0);
         validator.verifyTextInLog("catA: 1");
@@ -45,6 +47,7 @@ public void categoryAB() {
     @Test
     public void incorrectJUnitVersions() {
         unpackJUnit()
+                .setForkJvm()
                 .setJUnitVersion("4.5")
                 .groups("junit4.CategoryA AND junit4.CategoryB")
                 .maven()
@@ -54,7 +57,8 @@ public void incorrectJUnitVersions() {
 
     @Test
     public void testJUnitRunCategoryNotC() {
-        OutputValidator validator = 
unpackJUnit().groups("!junit4.CategoryC").executeTest();
+        OutputValidator validator =
+                
unpackJUnit().setForkJvm().groups("!junit4.CategoryC").executeTest();
         validator.verifyErrorFreeLog();
         validator.assertTestSuiteResults(5, 0, 0, 0);
         validator.verifyTextInLog("catA: 2");
@@ -67,7 +71,7 @@ public void testJUnitRunCategoryNotC() {
     @Test
     public void testExcludedGroups() {
         OutputValidator validator =
-                
unpackJUnit().setExcludedGroups("junit4.CategoryC").executeTest();
+                
unpackJUnit().setForkJvm().setExcludedGroups("junit4.CategoryC").executeTest();
         validator.verifyErrorFreeLog();
         validator.assertTestSuiteResults(5, 0, 0, 0);
         validator.verifyTextInLog("catA: 2");
@@ -79,8 +83,11 @@ public void testExcludedGroups() {
 
     @Test
     public void testNGRunCategoryAB() {
-        OutputValidator validator =
-                unpackTestNG().groups("CategoryA AND 
CategoryB").debugLogging().executeTest();
+        OutputValidator validator = unpackTestNG()
+                .setForkJvm()
+                .groups("CategoryA AND CategoryB")
+                .debugLogging()
+                .executeTest();
         validator.verifyErrorFreeLog();
         validator.assertTestSuiteResults(2, 0, 0, 0);
         validator.verifyTextInLog("BasicTest.testInCategoriesAB()");
@@ -90,7 +97,7 @@ public void testNGRunCategoryAB() {
     @Test
     public void testNGRunCategoryNotC() {
         OutputValidator validator =
-                
unpackTestNG().groups("!CategoryC").debugLogging().executeTest();
+                
unpackTestNG().setForkJvm().groups("!CategoryC").debugLogging().executeTest();
         validator.verifyErrorFreeLog();
         validator.assertTestSuiteResults(8, 0, 0, 0);
         validator.verifyTextInLog("catA: 2");
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire855AllowFailsafeUseArtifactFileIT.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire855AllowFailsafeUseArtifactFileIT.java
index a87ce3bcd..079520718 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire855AllowFailsafeUseArtifactFileIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire855AllowFailsafeUseArtifactFileIT.java
@@ -45,6 +45,7 @@ public void jarShouldUseFile() {
     @Test
     public void jarNotForkingShouldUseFile() {
         unpack("surefire-855-failsafe-use-jar")
+                .setForkJvm()
                 .maven()
                 .sysProp("forkCount", 0)
                 .executeVerify()
diff --git 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire995CategoryInheritanceIT.java
 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire995CategoryInheritanceIT.java
index a6d5fcd5c..44faaee9c 100644
--- 
a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire995CategoryInheritanceIT.java
+++ 
b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire995CategoryInheritanceIT.java
@@ -42,6 +42,7 @@ public void negativeTestShouldRunAllCategories() {
     @Test
     public void junit411ShouldRunExplicitCategory() {
         final OutputValidator outputValidator = 
unpack().addGoal("-Ppositive-tests")
+                .setForkJvm()
                 .sysProp("version.junit", "4.11")
                 .executeTest();
 
@@ -52,6 +53,7 @@ public void junit411ShouldRunExplicitCategory() {
     public void junit411ShouldExcludeExplicitCategory() {
         final OutputValidator outputValidator = 
unpack().addGoal("-Ppositive-tests-excluded-categories")
                 .sysProp("version.junit", "4.11")
+                .setForkJvm()
                 .executeTest();
         // SpecialCategorizedTest inherits the excluded annotation but should 
still run as
         // until junit 4.11, the Category annotation is not inherited
@@ -82,6 +84,7 @@ public void junit411ShouldIgnoreInheritedCategories() throws 
VerificationExcepti
                 .sysProp("version.junit", "4.11")
                 // AND the tests marked with CategoryB are marked for execution
                 .setGroups("jiras.surefire955.group.marker.CategoryB")
+                .setForkJvm()
                 // WHEN the tests are executed
                 .executeTest();
 
@@ -107,6 +110,7 @@ public void junit412ShouldExecuteInheritedCategories() {
                 .sysProp("version.junit", "4.12")
                 // AND the tests marked with CategoryB are marked for execution
                 .setGroups("jiras.surefire955.group.marker.CategoryB")
+                .setForkJvm()
                 // WHEN the tests are executed
                 .executeTest();
 

Reply via email to