8136930: Simplify use of module-system options by custom launchers

8160489: Multiple -Xpatch lines ignored by javac
8156998: javac should support new option -XinheritRuntimeEnvironment

Reviewed-by: jlahoda, ksrini
This commit is contained in:
Jonathan Gibbons 2016-08-10 15:47:46 -07:00
parent 3b80559162
commit 978417c4c7
161 changed files with 2421 additions and 1050 deletions

View file

@ -23,7 +23,7 @@
/**
* @test
* @summary Test -addmods and -limitmods; also test the "enabled" modules.
* @summary Test --add-modules and --limit-modules; also test the "enabled" modules.
* @library /tools/lib
* @modules
* jdk.compiler/com.sun.tools.javac.api
@ -103,14 +103,14 @@ public class AddLimitMods extends ModuleTestBase {
Files.createDirectories(modulePath);
new JavacTask(tb)
.options("-modulesourcepath", moduleSrc.toString())
.options("--module-source-path", moduleSrc.toString())
.outdir(modulePath)
.files(findJavaFiles(m3))
.run()
.writeAll();
new JavacTask(tb)
.options("-modulesourcepath", moduleSrc.toString())
.options("--module-source-path", moduleSrc.toString())
.outdir(modulePath)
.files(findJavaFiles(m2))
.run()
@ -118,57 +118,57 @@ public class AddLimitMods extends ModuleTestBase {
//real test
new JavacTask(tb)
.options("-modulepath", modulePath.toString(),
.options("--module-path", modulePath.toString(),
"-Xshouldstop:ifNoError=FLOW",
"-limitmods", "java.base")
"--limit-modules", "java.base")
.outdir(modulePath)
.files(findJavaFiles(m1))
.run(Task.Expect.FAIL)
.writeAll();
new JavacTask(tb)
.options("-modulepath", modulePath.toString(),
.options("--module-path", modulePath.toString(),
"-Xshouldstop:ifNoError=FLOW",
"-limitmods", "java.base",
"-addmods", "m2")
"--limit-modules", "java.base",
"--add-modules", "m2")
.outdir(modulePath)
.files(findJavaFiles(m1))
.run(Task.Expect.FAIL)
.writeAll();
new JavacTask(tb)
.options("-modulepath", modulePath.toString(),
.options("--module-path", modulePath.toString(),
"-Xshouldstop:ifNoError=FLOW",
"-limitmods", "java.base",
"-addmods", "m2,m3")
"--limit-modules", "java.base",
"--add-modules", "m2,m3")
.outdir(modulePath)
.files(findJavaFiles(m1))
.run()
.writeAll();
new JavacTask(tb)
.options("-modulepath", modulePath.toString(),
.options("--module-path", modulePath.toString(),
"-Xshouldstop:ifNoError=FLOW",
"-limitmods", "m2")
"--limit-modules", "m2")
.outdir(modulePath)
.files(findJavaFiles(m1))
.run()
.writeAll();
new JavacTask(tb)
.options("-modulepath", modulePath.toString(),
.options("--module-path", modulePath.toString(),
"-Xshouldstop:ifNoError=FLOW",
"-limitmods", "m3")
"--limit-modules", "m3")
.outdir(modulePath)
.files(findJavaFiles(m1))
.run(Task.Expect.FAIL)
.writeAll();
new JavacTask(tb)
.options("-modulepath", modulePath.toString(),
.options("--module-path", modulePath.toString(),
"-Xshouldstop:ifNoError=FLOW",
"-limitmods", "m3",
"-addmods", "m2")
"--limit-modules", "m3",
"--add-modules", "m2")
.outdir(modulePath)
.files(findJavaFiles(m1))
.run()
@ -219,11 +219,11 @@ public class AddLimitMods extends ModuleTestBase {
"Test.java:2:18: compiler.err.doesnt.exist: javax.annotation\n"
+ "Test.java:5:19: compiler.err.doesnt.exist: javax.xml.bind\n"
+ "2 errors\n"),
new SimpleEntry<String[], String>(new String[] {"-addmods", "java.annotations.common,java.xml.bind"},
new SimpleEntry<String[], String>(new String[] {"--add-modules", "java.annotations.common,java.xml.bind"},
null),
new SimpleEntry<String[], String>(new String[] {"-limitmods", "java.xml.ws,jdk.compiler"},
new SimpleEntry<String[], String>(new String[] {"--limit-modules", "java.xml.ws,jdk.compiler"},
null),
new SimpleEntry<String[], String>(new String[] {"-addmods", "ALL-SYSTEM"},
new SimpleEntry<String[], String>(new String[] {"--add-modules", "ALL-SYSTEM"},
null)
);
@ -244,7 +244,7 @@ public class AddLimitMods extends ModuleTestBase {
Files.createDirectories(modulePath);
new JavacTask(tb)
.options("-modulesourcepath", moduleSrc.toString())
.options("--module-source-path", moduleSrc.toString())
.outdir(modulePath)
.files(findJavaFiles(moduleSrc))
.run()
@ -258,15 +258,15 @@ public class AddLimitMods extends ModuleTestBase {
Files.createDirectories(cpOut);
new JavacTask(tb)
.options("-modulepath", modulePath.toString())
.options("--module-path", modulePath.toString())
.outdir(cpOut)
.files(findJavaFiles(cpSrc))
.run(Task.Expect.FAIL)
.writeAll();
new JavacTask(tb)
.options("-modulepath", modulePath.toString(),
"-addmods", "ALL-MODULE-PATH")
.options("--module-path", modulePath.toString(),
"--add-modules", "ALL-MODULE-PATH")
.outdir(cpOut)
.files(findJavaFiles(cpSrc))
.run()
@ -278,9 +278,9 @@ public class AddLimitMods extends ModuleTestBase {
"1 error");
actual = new JavacTask(tb)
.options("-modulesourcepath", moduleSrc.toString(),
.options("--module-source-path", moduleSrc.toString(),
"-XDrawDiagnostics",
"-addmods", "ALL-MODULE-PATH")
"--add-modules", "ALL-MODULE-PATH")
.outdir(modulePath)
.files(findJavaFiles(moduleSrc))
.run(Task.Expect.FAIL)
@ -294,7 +294,7 @@ public class AddLimitMods extends ModuleTestBase {
actual = new JavacTask(tb)
.options("-Xmodule:java.base",
"-XDrawDiagnostics",
"-addmods", "ALL-MODULE-PATH")
"--add-modules", "ALL-MODULE-PATH")
.outdir(cpOut)
.files(findJavaFiles(cpSrc))
.run(Task.Expect.FAIL)
@ -308,14 +308,14 @@ public class AddLimitMods extends ModuleTestBase {
actual = new JavacTask(tb, Task.Mode.CMDLINE)
.options("-source", "8", "-target", "8",
"-XDrawDiagnostics",
"-addmods", "ALL-MODULE-PATH")
"--add-modules", "ALL-MODULE-PATH")
.outdir(cpOut)
.files(findJavaFiles(cpSrc))
.run(Task.Expect.FAIL)
.writeAll()
.getOutputLines(Task.OutputKind.DIRECT);
if (!actual.contains("javac: option -addmods not allowed with target 1.8")) {
if (!actual.contains("javac: option --add-modules not allowed with target 1.8")) {
throw new IllegalStateException("incorrect errors; actual=" + actual);
}
@ -323,7 +323,7 @@ public class AddLimitMods extends ModuleTestBase {
actual = new JavacTask(tb)
.options("-XDrawDiagnostics",
"-addmods", "ALL-MODULE-PATH")
"--add-modules", "ALL-MODULE-PATH")
.outdir(cpOut)
.files(findJavaFiles(cpSrc))
.run(Task.Expect.FAIL)
@ -386,7 +386,7 @@ public class AddLimitMods extends ModuleTestBase {
"package api; public class Api { public void test() { } }");
new JavacTask(tb)
.options("-modulesourcepath", moduleSrc.toString())
.options("--module-source-path", moduleSrc.toString())
.outdir(modulePath)
.files(findJavaFiles(moduleSrc))
.run()
@ -428,7 +428,7 @@ public class AddLimitMods extends ModuleTestBase {
tb.writeJavaFiles(m2Runtime, moduleInfo, testClassNamed.toString());
new JavacTask(tb)
.options("-modulepath", modulePath.toString())
.options("--module-path", modulePath.toString())
.outdir(out)
.files(findJavaFiles(m2Runtime))
.run()
@ -441,9 +441,9 @@ public class AddLimitMods extends ModuleTestBase {
output = new JavaTask(tb)
.vmOptions(augmentOptions(options,
Collections.emptyList(),
"-modulepath", modulePath.toString() + File.pathSeparator + out.getParent().toString(),
"-classpath", classpathOut.toString(),
"-XaddReads:m2=ALL-UNNAMED,automatic",
"--module-path", modulePath.toString() + File.pathSeparator + out.getParent().toString(),
"--class-path", classpathOut.toString(),
"--add-reads", "m2=ALL-UNNAMED,automatic",
"-m", "m2/test.Test"))
.run()
.writeAll()
@ -463,7 +463,7 @@ public class AddLimitMods extends ModuleTestBase {
"public class Test {}\n");
List<String> auxOptions = success ? Arrays.asList(
"-processorpath", System.getProperty("test.class.path"),
"--processor-path", System.getProperty("test.class.path"),
"-processor", CheckVisibleModule.class.getName(),
"-Aoutput=" + output,
"-XDaccessInternalAPI=true"
@ -471,8 +471,8 @@ public class AddLimitMods extends ModuleTestBase {
new JavacTask(tb)
.options(augmentOptions(options,
auxOptions,
"-modulepath", modulePath.toString(),
"-classpath", classpathOut.toString(),
"--module-path", modulePath.toString(),
"--class-path", classpathOut.toString(),
"-Xshouldstop:ifNoError=FLOW"))
.outdir(modulePath)
.files(findJavaFiles(m2))
@ -578,14 +578,14 @@ public class AddLimitMods extends ModuleTestBase {
};
private static final String[][] OPTIONS_VARIANTS = {
{"-addmods", "automatic"},
{"-addmods", "m1,automatic"},
{"-addmods", "jdk.compiler,automatic"},
{"-addmods", "m1,jdk.compiler,automatic"},
{"-addmods", "ALL-SYSTEM,automatic"},
{"-limitmods", "java.base", "-addmods", "automatic"},
{"-limitmods", "java.base", "-addmods", "ALL-SYSTEM,automatic"},
{"-limitmods", "m2", "-addmods", "automatic"},
{"-limitmods", "jdk.compiler", "-addmods", "automatic"},
{"--add-modules", "automatic"},
{"--add-modules", "m1,automatic"},
{"--add-modules", "jdk.compiler,automatic"},
{"--add-modules", "m1,jdk.compiler,automatic"},
{"--add-modules", "ALL-SYSTEM,automatic"},
{"--limit-modules", "java.base", "--add-modules", "automatic"},
{"--limit-modules", "java.base", "--add-modules", "ALL-SYSTEM,automatic"},
{"--limit-modules", "m2", "--add-modules", "automatic"},
{"--limit-modules", "jdk.compiler", "--add-modules", "automatic"},
};
}