Skip to content

Commit 41bcd4c

Browse files
Execute ITs in embedded mode by default (#3323)
* Execute ITs in embedded mode by default * More memory for ITs
1 parent 0fd4203 commit 41bcd4c

13 files changed

Lines changed: 40 additions & 20 deletions

surefire-its/pom.xml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,6 @@
221221
<profiles>
222222
<profile>
223223
<id>run-its</id>
224-
<properties>
225-
<verifier.forkMode>forked</verifier.forkMode>
226-
</properties>
227224
<build>
228225
<plugins>
229226
<plugin>
@@ -240,7 +237,7 @@
240237
<forkCount>${its.forkCount}</forkCount>
241238
<threadCount>${its.threadCount}</threadCount>
242239
<perCoreThreadCount>false</perCoreThreadCount>
243-
<argLine>-Xmx128m -XX:+UseG1GC -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Djava.awt.headless=true -Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
240+
<argLine>-Xmx512m -XX:+UseG1GC -Djava.awt.headless=true -Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
244241
<!-- Pass current surefire version to the main suite so that it -->
245242
<!-- can forward to all integration test projects. SUREFIRE-513 -->
246243
<systemPropertyVariables>

surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgReportTestIT.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ public void shouldBeVerbose() throws Exception {
6060
// JUnit 6.0.0 requires Java 17+
6161
assumeJavaVersion(17);
6262
unpack("/testng-simple")
63+
.setForkJvm()
6364
.sysProp("testNgVersion", "6.14.3")
6465
.sysProp("surefire.testng.verbose", "15")
6566
.executeTest()

surefire-its/src/test/java/org/apache/maven/surefire/its/ForkCountIT.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public static void installDumpPidPlugin() {
4949

5050
@Test
5151
public void testForkNever() {
52-
String[] pids = doTest(unpack(getProject()).forkNever());
52+
String[] pids = doTest(unpack(getProject()).setForkJvm().forkNever());
5353
assertSamePids(pids);
5454
assertEndWith(pids, "_1_1", 3);
5555
assertEquals(getMainPID(), pids[0], "my pid is equal to pid 1 of the test");
@@ -69,6 +69,7 @@ public void testForkOncePerThreadSingleThread() {
6969
public void testForkOncePerThreadTwoThreads() {
7070
int threadCount = 2;
7171
String[] pids = doTest(unpack(getProject())
72+
.setForkJvm()
7273
.forkPerThread(threadCount)
7374
.threadCount(threadCount)
7475
.addGoal("-DsleepLength=7200"));
@@ -102,8 +103,8 @@ public void testForkCountTwoNoReuse() {
102103

103104
@Test
104105
public void testForkCountTwoReuse() {
105-
String[] pids =
106-
doTest(unpack(getProject()).forkCount(2).reuseForks(true).addGoal("-DsleepLength=7200"));
106+
String[] pids = doTest(
107+
unpack(getProject()).setForkJvm().forkCount(2).reuseForks(true).addGoal("-DsleepLength=7200"));
107108
assertDifferentPids(pids, 2);
108109
assertNotEquals(pids[0], getMainPID(), "pid 1 is not the same as the main process' pid");
109110
}
@@ -126,7 +127,7 @@ private void assertDifferentPids(String[] pids, int numOfDifferentPids) {
126127

127128
@Test
128129
public void testForkOnce() {
129-
String[] pids = doTest(unpack(getProject()).forkOnce());
130+
String[] pids = doTest(unpack(getProject()).setForkJvm().forkOnce());
130131
assertSamePids(pids);
131132
assertNotEquals(pids[0], getMainPID(), "pid 1 is not the same as the main process' pid");
132133
}

surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit448TestCategoriesIT.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,22 +41,22 @@ public void testCategoriesABForkAlways() {
4141

4242
@Test
4343
public void testCategoriesACFullyQualifiedClassName() {
44-
runACFullyQualifiedClassName(unpacked());
44+
runACFullyQualifiedClassName(unpacked().setForkJvm());
4545
}
4646

4747
@Test
4848
public void testCategoriesACFullyQualifiedClassNameForkAlways() {
49-
runACFullyQualifiedClassName(unpacked().forkAlways());
49+
runACFullyQualifiedClassName(unpacked().setForkJvm().forkAlways());
5050
}
5151

5252
@Test
5353
public void testCategoriesACClassNameSuffix() {
54-
runACClassNameSuffix(unpacked());
54+
runACClassNameSuffix(unpacked().setForkJvm());
5555
}
5656

5757
@Test
5858
public void testCategoriesACClassNameSuffixForkAlways() {
59-
runACClassNameSuffix(unpacked().forkAlways());
59+
runACClassNameSuffix(unpacked().setForkJvm().forkAlways());
6060
}
6161

6262
@Test

surefire-its/src/test/java/org/apache/maven/surefire/its/TestMultipleMethodPatternsIT.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ protected Settings getSettings() {
3636

3737
@Override
3838
protected SurefireLauncher unpack() {
39-
return unpack("junit4-multiple-method-patterns", "_" + getSettings().path());
39+
return unpack("junit4-multiple-method-patterns", "_" + getSettings().path())
40+
.setForkJvm();
4041
}
4142
}

surefire-its/src/test/java/org/apache/maven/surefire/its/TestMultipleMethodPatternsIncludesExcludesIT.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ protected Settings getSettings() {
3636

3737
@Override
3838
protected SurefireLauncher unpack() {
39-
return unpack("junit4-multiple-method-patterns", "_" + getSettings().path());
39+
return unpack("junit4-multiple-method-patterns", "_" + getSettings().path())
40+
.setForkJvm();
4041
}
4142
}

surefire-its/src/test/java/org/apache/maven/surefire/its/TestMultipleMethodPatternsTestNGIncludesExcludesIT.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ protected Settings getSettings() {
4242

4343
@Override
4444
protected SurefireLauncher unpack() {
45-
return unpack("testng-multiple-method-patterns", "_" + getSettings().path());
45+
return unpack("testng-multiple-method-patterns", "_" + getSettings().path())
46+
.setForkJvm();
4647
}
4748

4849
@Override

surefire-its/src/test/java/org/apache/maven/surefire/its/TestMultipleMethodPatternsTestNGIncludesIT.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ protected Settings getSettings() {
4242

4343
@Override
4444
protected SurefireLauncher unpack() {
45-
return unpack("testng-multiple-method-patterns", "_" + getSettings().path());
45+
return unpack("testng-multiple-method-patterns", "_" + getSettings().path())
46+
.setForkJvm();
4647
}
4748

4849
@Override

surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,15 @@ public final class MavenLauncher {
6969

7070
private boolean expectFailure;
7171

72+
private boolean forkJvm;
73+
7274
MavenLauncher(Class<?> testClass, String resourceName, String suffix, String[] cli) {
7375
this.testCaseBeingRun = testClass;
7476
this.resourceName = resourceName;
7577
this.suffix = suffix != null ? suffix : "";
7678
this.cli = cli == null ? null : cli.clone();
79+
// by default use embedded mode
80+
this.forkJvm = false;
7781
resetGoals();
7882
resetCliOptions();
7983
}
@@ -265,6 +269,11 @@ public OutputValidator executeCurrentGoals() {
265269
getVerifier().addCliArguments(goals.toArray(new String[] {}));
266270
getVerifier().setSystemProperties(props);
267271
getVerifier().setEnvironmentVariables(envVars);
272+
if (envVars.isEmpty()) {
273+
getVerifier().setForkJvm(forkJvm);
274+
} else {
275+
getVerifier().setForkJvm(true);
276+
}
268277
getVerifier().execute();
269278
return getValidator();
270279
} catch (VerificationException e) {
@@ -319,7 +328,7 @@ public OutputValidator getValidator() {
319328
}
320329

321330
public void setForkJvm(boolean forkJvm) {
322-
getVerifier().setForkJvm(forkJvm);
331+
this.forkJvm = forkJvm;
323332
}
324333

325334
public String getLocalRepository() {

surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1053SystemPropertiesIT.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
public class Surefire1053SystemPropertiesIT extends SurefireJUnit4IntegrationTestCase {
3434
@Test
3535
public void checkWarningsFileEncoding() {
36-
unpack().sysProp("file.encoding", "ISO-8859-1")
36+
unpack().setForkJvm()
37+
.sysProp("file.encoding", "ISO-8859-1")
3738
.executeTest()
3839
.verifyErrorFree(1)
3940
.verifyTextInLog("file.encoding cannot be set as system property, use <argLine>-D"

0 commit comments

Comments
 (0)