Skip to content

Commit b3f1229

Browse files
authored
Fix ModuleOptionsTests failure on macOS Java 21 (#853)
Update expected module lists to match the platform-specific defaults for MacOS with Java 21. Fixes : #782
1 parent 949c2fa commit b3f1229

File tree

1 file changed

+50
-2
lines changed

1 file changed

+50
-2
lines changed

org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/core/ModuleOptionsTests.java

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2019, 2024 GK Software SE and others.
2+
* Copyright (c) 2019, 2026 GK Software SE and others.
33
*
44
* This program and the accompanying materials
55
* are made available under the terms of the Eclipse Public License 2.0
@@ -18,6 +18,7 @@
1818
import java.util.List;
1919

2020
import org.eclipse.core.runtime.CoreException;
21+
import org.eclipse.core.runtime.Platform;
2122
import org.eclipse.debug.core.ILaunchConfiguration;
2223
import org.eclipse.jdt.core.IClasspathAttribute;
2324
import org.eclipse.jdt.core.IClasspathEntry;
@@ -63,6 +64,36 @@ public class ModuleOptionsTests extends AbstractDebugTest {
6364
+ "jdk.unsupported.desktop," //
6465
+ "jdk.xml.dom";
6566

67+
private static final String ASSUMED_DEFAULT_MODULES_9_MAC_21 = "java.se," //
68+
+ "jdk.accessibility,jdk.attach,jdk.compiler,jdk.dynalink,jdk.httpserver," //
69+
+ "jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi," //
70+
+ "jdk.jfr," //
71+
+ "jdk.jshell,jdk.jsobject,jdk.management," //
72+
+ "jdk.management.jfr," //
73+
+ "jdk.naming.ldap," //
74+
+ "jdk.net," //
75+
+ "jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported," //
76+
+ "jdk.scripting.nashorn," //
77+
+ "jdk.unsupported.desktop," //
78+
+ "jdk.xml.dom";
79+
80+
private static final String ASSUMED_DEFAULT_MODULES_21_MAC = "java.base," //
81+
+ "java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging," //
82+
+ "java.management,java.management.rmi,java.naming,java.net.http,java.prefs,java.rmi," //
83+
+ "java.scripting,java.security.jgss,java.security.sasl,java.smartcardio," //
84+
+ "java.sql,java.sql.rowset,java.transaction.xa,java.xml,java.xml.crypto," //
85+
+ "jdk.accessibility,jdk.attach,jdk.compiler,jdk.dynalink,jdk.httpserver," //
86+
+ "jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi," //
87+
+ "jdk.jfr," //
88+
+ "jdk.jshell,jdk.jsobject,jdk.management," //
89+
+ "jdk.management.jfr," //
90+
+ "jdk.naming.ldap," //
91+
+ "jdk.net," //
92+
+ "jdk.scripting.nashorn," //
93+
+ "jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported," //
94+
+ "jdk.unsupported.desktop," //
95+
+ "jdk.xml.dom";
96+
6697

6798
public ModuleOptionsTests(String name) {
6899
super(name);
@@ -142,6 +173,11 @@ public void testLimitModules_release9() throws CoreException {
142173
List<String> defaultModules = getDefaultModules(javaProject);
143174
String expectedModules;
144175
String moduleList = String.join(",", defaultModules);
176+
if (Platform.OS.isMac() && Runtime.version().feature() == 21) {
177+
assertEquals(ASSUMED_DEFAULT_MODULES_9_MAC_21, moduleList);
178+
} else {
179+
assertEquals(ASSUMED_DEFAULT_MODULES_9, moduleList);
180+
}
145181
assertEquals(ASSUMED_DEFAULT_MODULES_9, moduleList);
146182
switch (moduleList) {
147183
case ASSUMED_DEFAULT_MODULES_9:
@@ -153,11 +189,17 @@ public void testLimitModules_release9() throws CoreException {
153189
+ "jdk.net," //
154190
+ "jdk.nio.mapmode," //
155191
// + "jdk.packager,jdk.packager.services,jdk.plugin.dom,"
156-
// + "jdk.scripting.nashorn,"
192+
// + "jdk.scripting.nashorn,"
157193
+ "jdk.sctp,"
158194
+ "jdk.security.auth,jdk.security.jgss,jdk.unsupported," //
159195
+ "jdk.unsupported.desktop,jdk.xml.dom";
160196
break;
197+
case ASSUMED_DEFAULT_MODULES_9_MAC_21:
198+
expectedModules = "java.instrument,java.net.http,java.scripting,java.sql.rowset,java.xml.crypto,"
199+
+ "jdk.accessibility,jdk.dynalink,jdk.httpserver," + "jdk.jartool,jdk.jconsole,jdk.jshell," + "jdk.management.jfr,"
200+
+ "jdk.naming.ldap," + "jdk.net," + "jdk.sctp," + "jdk.security.auth,jdk.security.jgss,jdk.unsupported,"
201+
+ "jdk.scripting.nashorn," + "jdk.unsupported.desktop,jdk.xml.dom";
202+
break;
161203
default:
162204
fail("Unknown set of default modules " + moduleList);
163205
return;
@@ -200,6 +242,12 @@ public void testLimitModules1() throws JavaModelException {
200242
+ "jdk.unsupported.desktop," //
201243
+ "jdk.xml.dom";
202244
break;
245+
case ASSUMED_DEFAULT_MODULES_21_MAC:
246+
expectedModules = "java.instrument,java.net.http,java.scripting,java.smartcardio,java.sql.rowset,java.xml.crypto,"
247+
+ "jdk.accessibility," + "jdk.dynalink," + "jdk.httpserver," + "jdk.jartool,jdk.jconsole,jdk.jshell," + "jdk.jsobject,"
248+
+ "jdk.management.jfr," + "jdk.naming.ldap," + "jdk.net," + "jdk.scripting.nashorn," + "jdk.sctp,"
249+
+ "jdk.security.auth,jdk.security.jgss,jdk.unsupported," + "jdk.unsupported.desktop," + "jdk.xml.dom";
250+
break;
203251
default:
204252
fail("Unknown set of default modules " + moduleList);
205253
return;

0 commit comments

Comments
 (0)