< 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 >