< prev index next >
test/tools/jlink/plugins/SystemModuleDescriptors/UserModuleTest.java
Print this page
@@ -36,21 +36,22 @@
import jdk.testlibrary.FileUtils;
import static jdk.testlibrary.ProcessTools.*;
-
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
/**
* @test
* @bug 8142968 8173381 8174740
* @library /lib/testlibrary
* @modules jdk.compiler jdk.jlink
- * @build UserModuleTest CompilerUtils jdk.testlibrary.FileUtils jdk.testlibrary.ProcessTools
+ * @modules java.base/jdk.internal.module
+ * @modules java.base/jdk.internal.org.objectweb.asm
+ * @build ModuleTargetHelper UserModuleTest CompilerUtils jdk.testlibrary.FileUtils jdk.testlibrary.ProcessTools
* @run testng UserModuleTest
*/
public class UserModuleTest {
private static final String JAVA_HOME = System.getProperty("java.home");
@@ -83,11 +84,13 @@
if (!hasJmods()) return;
for (String mn : modules) {
Path msrc = SRC_DIR.resolve(mn);
assertTrue(CompilerUtils.compile(msrc, MODS_DIR,
- "--module-source-path", SRC_DIR.toString()));
+ "--module-source-path", SRC_DIR.toString(),
+ "--add-exports", "java.base/jdk.internal.module=" + mn,
+ "--add-exports", "java.base/jdk.internal.org.objectweb.asm=" + mn));
}
if (Files.exists(IMAGE)) {
FileUtils.deleteFileTreeUnchecked(IMAGE);
}
@@ -104,11 +107,14 @@
@Test
public void testPackagesAttribute() throws Throwable {
if (!hasJmods()) return;
Path java = IMAGE.resolve("bin").resolve("java");
- assertTrue(executeProcess(java.toString(), "-m", MAIN_MID)
+ assertTrue(executeProcess(java.toString(),
+ "--add-exports", "java.base/jdk.internal.module=m1,m4",
+ "--add-exports", "java.base/jdk.internal.org.objectweb.asm=m1,m4",
+ "-m", MAIN_MID)
.outputTo(System.out)
.errorTo(System.out)
.getExitValue() == 0);
}
@@ -134,10 +140,12 @@
public void disableSystemModules() throws Throwable {
if (!hasJmods()) return;
Path java = IMAGE.resolve("bin").resolve("java");
assertTrue(executeProcess(java.toString(),
+ "--add-exports", "java.base/jdk.internal.module=m1,m4",
+ "--add-exports", "java.base/jdk.internal.org.objectweb.asm=m1,m4",
"-Djdk.system.module.finder.disabledFastPath",
"-m", MAIN_MID)
.outputTo(System.out)
.errorTo(System.out)
.getExitValue() == 0);
@@ -152,11 +160,14 @@
if (!hasJmods()) return;
Path dir = Paths.get("dedupSetTest");
createImage(dir, "m1", "m2", "m3", "m4");
Path java = dir.resolve("bin").resolve("java");
- assertTrue(executeProcess(java.toString(), "-m", MAIN_MID)
+ assertTrue(executeProcess(java.toString(),
+ "--add-exports", "java.base/jdk.internal.module=m1,m4",
+ "--add-exports", "java.base/jdk.internal.org.objectweb.asm=m1,m4",
+ "-m", MAIN_MID)
.outputTo(System.out)
.errorTo(System.out)
.getExitValue() == 0);
}
@@ -203,15 +214,17 @@
.errorTo(System.out)
.getExitValue() == 0);
}
private void createJmods(String... modules) throws IOException {
- // use the same target platform as in java.base
- ModuleDescriptor md = Layer.boot().findModule("java.base").get()
- .getDescriptor();
- String osName = md.osName().get();
- String osArch = md.osArch().get();
+ ModuleTargetHelper.ModuleTarget mt = ModuleTargetHelper.getJavaBaseTarget();
+ if (mt == null) {
+ throw new RuntimeException("ModuleTarget is missing for java.base");
+ }
+
+ String osName = mt.osName();
+ String osArch = mt.osArch();
// create JMOD files
Files.createDirectories(JMODS_DIR);
Stream.of(modules).forEach(mn ->
assertTrue(jmod("create",
@@ -244,10 +257,12 @@
"--module-path", mp) == 0);
// verify ModuleDescriptor
Path java = dir.resolve("bin").resolve("java");
assertTrue(executeProcess(java.toString(),
+ "--add-exports", "java.base/jdk.internal.module=m1,m4",
+ "--add-exports", "java.base/jdk.internal.org.objectweb.asm=m1,m4",
"--add-modules=m1", "-m", "m4")
.outputTo(System.out)
.errorTo(System.out)
.getExitValue() == 0);
}
@@ -273,10 +288,12 @@
"--module-path", mp) == 0);
// verify ModuleDescriptor
Path java = dir.resolve("bin").resolve("java");
assertTrue(executeProcess(java.toString(),
+ "--add-exports", "java.base/jdk.internal.module=m1,m4",
+ "--add-exports", "java.base/jdk.internal.org.objectweb.asm=m1,m4",
"--add-modules=m1", "-m", "m4", "retainModuleTarget")
.outputTo(System.out)
.errorTo(System.out)
.getExitValue() == 0);
}
< prev index next >