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
1818import java .util .List ;
1919
2020import org .eclipse .core .runtime .CoreException ;
21+ import org .eclipse .core .runtime .Platform ;
2122import org .eclipse .debug .core .ILaunchConfiguration ;
2223import org .eclipse .jdt .core .IClasspathAttribute ;
2324import 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