< prev index next >
jdk/test/java/lang/reflect/Module/AddExportsTest.java
Print this page
*** 21,53 ****
* questions.
*/
/**
* @test
! * @modules java.desktop
! * @run main/othervm -XaddExports:java.desktop/sun.awt=java.base AddExportsTest
! * @run main/othervm -XaddExports:java.desktop/sun.awt=ALL-UNNAMED AddExportsTest
* @summary Test Module isExported methods with exports changed by -AddExportsTest
*/
import java.lang.reflect.Layer;
import java.lang.reflect.Module;
import java.util.Optional;
public class AddExportsTest {
public static void main(String[] args) {
! String addExports = System.getProperty("jdk.launcher.addexports.0");
! assertTrue(addExports != null, "Expected to be run with -XaddExports");
Layer bootLayer = Layer.boot();
Module unnamedModule = AddExportsTest.class.getModule();
assertFalse(unnamedModule.isNamed());
! for (String expr : addExports.split(",")) {
String[] s = expr.split("=");
assertTrue(s.length == 2);
// $MODULE/$PACKAGE
--- 21,68 ----
* questions.
*/
/**
* @test
! * @modules java.base/jdk.internal.misc
! * java.desktop
! * @run main/othervm --add-exports=java.desktop/sun.awt=java.base AddExportsTest
! * @run main/othervm --add-exports=java.desktop/sun.awt=ALL-UNNAMED AddExportsTest
* @summary Test Module isExported methods with exports changed by -AddExportsTest
*/
import java.lang.reflect.Layer;
import java.lang.reflect.Module;
import java.util.Optional;
+ import java.util.stream.Stream;
+
+ import jdk.internal.misc.VM;
public class AddExportsTest {
+ /*
+ * jtreg sets -Dtest.modules system property to the internal APIs
+ * specified at @modules tag. The test will exclude --add-exports set
+ * for @modules.
+ */
+ private static final String TEST_MODULES = System.getProperty("test.modules");
public static void main(String[] args) {
! Optional<String> oaddExports = Stream.of(VM.getRuntimeArguments())
! .filter(arg -> arg.startsWith("--add-exports="))
! .filter(arg -> !arg.equals("--add-exports=" + TEST_MODULES + "=ALL-UNNAMED"))
! .map(arg -> arg.substring("--add-exports=".length(), arg.length()))
! .findFirst();
!
! assertTrue(oaddExports.isPresent());
Layer bootLayer = Layer.boot();
Module unnamedModule = AddExportsTest.class.getModule();
assertFalse(unnamedModule.isNamed());
! for (String expr : oaddExports.get().split(",")) {
String[] s = expr.split("=");
assertTrue(s.length == 2);
// $MODULE/$PACKAGE
< prev index next >