< prev index next >
test/tools/launcher/modules/addexports/AddExportsTest.java
Print this page
*** 23,41 ****
/**
* @test
* @library /lib/testlibrary
* @modules jdk.compiler
! * @build AddExportsTest CompilerUtils jdk.testlibrary.*
* @run testng AddExportsTest
* @summary Basic tests for java --add-exports
*/
import java.nio.file.Path;
import java.nio.file.Paths;
! import static jdk.testlibrary.ProcessTools.*;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
--- 23,42 ----
/**
* @test
* @library /lib/testlibrary
* @modules jdk.compiler
! * @build AddExportsTest CompilerUtils jdk.testlibrary.tasks.*
* @run testng AddExportsTest
* @summary Basic tests for java --add-exports
*/
import java.nio.file.Path;
import java.nio.file.Paths;
! import jdk.testlibrary.tasks.JavaTask;
! import jdk.testlibrary.tasks.Task;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
*** 102,241 ****
}
/**
* Sanity check with -version
*/
! public void testSanity() throws Exception {
!
! int exitValue
! = executeTestJava("--add-exports", "java.base/jdk.internal.reflect=ALL-UNNAMED",
! "-version")
! .outputTo(System.out)
! .errorTo(System.out)
! .getExitValue();
!
! assertTrue(exitValue == 0);
}
/**
* Run class path application that uses jdk.internal.misc.Unsafe
*/
! public void testUnnamedModule() throws Exception {
// java --add-exports java.base/jdk.internal.misc=ALL-UNNAMED \
// -cp mods/$TESTMODULE jdk.test.UsesUnsafe
! String classpath = MODS_DIR.resolve(TEST1_MODULE).toString();
! int exitValue
! = executeTestJava("--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
! "-cp", classpath,
! TEST1_MAIN_CLASS)
! .outputTo(System.out)
! .errorTo(System.out)
! .getExitValue();
!
! assertTrue(exitValue == 0);
}
/**
* Run named module that uses jdk.internal.misc.Unsafe
*/
! public void testNamedModule() throws Exception {
// java --add-exports java.base/jdk.internal.misc=test \
// --module-path mods -m $TESTMODULE/$MAIN_CLASS
! String mid = TEST1_MODULE + "/" + TEST1_MAIN_CLASS;
! int exitValue =
! executeTestJava("--add-exports", "java.base/jdk.internal.misc=" + TEST1_MODULE,
! "--module-path", MODS_DIR.toString(),
! "-m", mid)
! .outputTo(System.out)
! .errorTo(System.out)
! .getExitValue();
!
! assertTrue(exitValue == 0);
}
/**
* Test --add-exports with upgraded module
*/
! public void testWithUpgradedModule() throws Exception {
// java --add-exports java.transaction/javax.transaction.internal=m2
// --upgrade-module-path upgrademods --module-path mods -m ...
! String mid = TEST2_MODULE + "/" + TEST2_MAIN_CLASS;
! int exitValue = executeTestJava(
! "--add-exports", "java.transaction/javax.transaction.internal=m2",
! "--upgrade-module-path", UPGRADE_MODS_DIRS.toString(),
! "--module-path", MODS_DIR.toString(),
! "-m", mid)
! .outputTo(System.out)
! .errorTo(System.out)
! .getExitValue();
!
! assertTrue(exitValue == 0);
}
/**
* Test --add-exports with module that is added to the set of root modules
* with --add-modules.
*/
! public void testWithAddMods() throws Exception {
// java --add-exports m4/jdk.test4=m3 --module-path mods -m ...
! String mid = TEST3_MODULE + "/" + TEST3_MAIN_CLASS;
! int exitValue = executeTestJava(
! "--add-exports", "m4/jdk.test4=m3",
! "--module-path", MODS_DIR.toString(),
! "--add-modules", TEST4_MODULE,
! "-m", mid)
! .outputTo(System.out)
! .errorTo(System.out)
! .getExitValue();
!
! assertTrue(exitValue == 0);
}
/**
* --add-exports can only be specified once
*/
! public void testWithDuplicateOption() throws Exception {
!
! int exitValue
! = executeTestJava("--add-exports", "java.base/jdk.internal.reflect=ALL-UNNAMED",
! "--add-exports", "java.base/jdk.internal.reflect=ALL-UNNAMED",
! "-version")
! .outputTo(System.out)
! .errorTo(System.out)
! .shouldContain("specified more than once")
! .getExitValue();
!
! assertTrue(exitValue != 0);
}
/**
* Exercise --add-exports with bad values
*/
@Test(dataProvider = "badvalues")
! public void testWithBadValue(String value, String ignore) throws Exception {
!
// --add-exports $VALUE -version
! int exitValue =
! executeTestJava("--add-exports", value,
! "-version")
! .outputTo(System.out)
! .errorTo(System.out)
! .getExitValue();
!
! assertTrue(exitValue != 0);
}
@DataProvider(name = "badvalues")
public Object[][] badValues() {
return new Object[][]{
--- 103,206 ----
}
/**
* Sanity check with -version
*/
! public void testSanity() {
! new JavaTask()
! .addExports("java.base", "jdk.internal.reflect")
! .vmOptions("-version")
! .run();
}
/**
* Run class path application that uses jdk.internal.misc.Unsafe
*/
! public void testUnnamedModule() {
// java --add-exports java.base/jdk.internal.misc=ALL-UNNAMED \
// -cp mods/$TESTMODULE jdk.test.UsesUnsafe
! new JavaTask()
! .addExports("java.base", "jdk.internal.misc")
! .vmOptions("-version")
! .classPath(MODS_DIR.resolve(TEST1_MODULE))
! .mainClass(TEST1_MAIN_CLASS)
! .run();
}
/**
* Run named module that uses jdk.internal.misc.Unsafe
*/
! public void testNamedModule() {
// java --add-exports java.base/jdk.internal.misc=test \
// --module-path mods -m $TESTMODULE/$MAIN_CLASS
! new JavaTask()
! .addExports("java.base", "jdk.internal.misc", TEST1_MODULE)
! .modulePath(MODS_DIR)
! .module(TEST1_MODULE, TEST1_MAIN_CLASS)
! .run();
}
/**
* Test --add-exports with upgraded module
*/
! public void testWithUpgradedModule() {
// java --add-exports java.transaction/javax.transaction.internal=m2
// --upgrade-module-path upgrademods --module-path mods -m ...
! new JavaTask().ignoreStandardModuleOptions()
! .addExports("java.transaction", "javax.transaction.internal", TEST2_MODULE)
! .upgradeModulePath(UPGRADE_MODS_DIRS)
! .modulePath(MODS_DIR.toString())
! .module(TEST2_MODULE, TEST2_MAIN_CLASS)
! .run();
}
/**
* Test --add-exports with module that is added to the set of root modules
* with --add-modules.
*/
! public void testWithAddMods() {
// java --add-exports m4/jdk.test4=m3 --module-path mods -m ...
! new JavaTask().ignoreStandardModuleOptions()
! .addExports(TEST4_MODULE, "jdk.test4", TEST3_MODULE)
! .addModules(TEST4_MODULE)
! .modulePath(MODS_DIR)
! .module(TEST3_MODULE, TEST3_MAIN_CLASS)
! .run();
}
/**
* --add-exports can only be specified once
*/
! public void testWithDuplicateOption() {
! new JavaTask()
! .addExports("java.base", "jdk.internal.reflect")
! .addExports("java.base", "jdk.internal.reflect")
! .vmOptions("-version")
! .run(Task.Expect.FAIL);
}
/**
* Exercise --add-exports with bad values
*/
@Test(dataProvider = "badvalues")
! public void testWithBadValue(String value, String ignore) {
// --add-exports $VALUE -version
! new JavaTask()
! .vmOptions(value, "-version")
! .run(Task.Expect.FAIL);
}
@DataProvider(name = "badvalues")
public Object[][] badValues() {
return new Object[][]{
< prev index next >