JDK 11 RFR of JDK-8196623: Update JavaBaseTest.java to be version agnostic
joe darcy
joe.darcy at oracle.com
Fri Feb 2 00:42:38 UTC 2018
Hello,
Hopefully the final langtools test hardening needed before the version
upgrade to 11, please review the patch below to address:
JDK-8196623: Update JavaBaseTest.java to be version agnostic
Instead of explicitly passing "9", "10", and $SPEC_NUMBER of later
release, "9" and "10" and used for the --release option and the
--release release option is omitted for the current value. For some
time, javac defaults to the (roughly) the current release if no -source
or --release option is given.
Thanks,
-Joe
diff -r b0a54e2ba484 test/langtools/tools/javac/modules/JavaBaseTest.java
--- a/test/langtools/tools/javac/modules/JavaBaseTest.java Thu Feb 01
09:16:03 2018 -0800
+++ b/test/langtools/tools/javac/modules/JavaBaseTest.java Thu Feb 01
16:40:39 2018 -0800
@@ -23,7 +23,7 @@
/**
* @test
- * @bug 8193125
+ * @bug 8193125 8196623
* @summary test modifiers with java.base
* @library /tools/lib
* @modules
@@ -66,10 +66,7 @@
List.of("static", "transitive")
);
- final String specVersion =
System.getProperty("java.specification.version");
- final List<String> targets = specVersion.equals("10")
- ? List.of("9", "10")
- : List.of("9", "10", specVersion);
+ final List<String> targets = List.of("9", "10", "current");
enum Mode { SOURCE, CLASS };
@@ -121,13 +118,18 @@
Path modules = Files.createDirectories(base.resolve("modules"));
boolean expectOK = target.equals("9");
- String log = new JavacTask(tb)
- .outdir(modules)
- .options("-XDrawDiagnostics", "--release", target)
- .files(tb.findJavaFiles(src))
- .run(expectOK ? Task.Expect.SUCCESS : Task.Expect.FAIL)
- .writeAll()
- .getOutput(Task.OutputKind.DIRECT);
+ JavacTask jct = new JavacTask(tb)
+ .outdir(modules);
+
+ if (target.equals("current"))
+ jct.options("-XDrawDiagnostics");
+ else
+ jct.options("-XDrawDiagnostics", "--release", target);
+
+ String log = jct.files(tb.findJavaFiles(src))
+ .run(expectOK ? Task.Expect.SUCCESS : Task.Expect.FAIL)
+ .writeAll()
+ .getOutput(Task.OutputKind.DIRECT);
if (!expectOK) {
boolean foundErrorMessage = false;
@@ -189,12 +191,16 @@
"module m { requires java.base; }");
Path modules1 =
Files.createDirectories(base.resolve("interim-modules"));
- new JavacTask(tb)
- .outdir(modules1)
- .options("--release", target)
- .files(tb.findJavaFiles(src1))
- .run(Task.Expect.SUCCESS)
- .writeAll();
+ JavacTask jct = new JavacTask(tb)
+ .outdir(modules1);
+
+ if (!target.equals("current")) {
+ jct.options("--release", target);
+ }
+
+ jct.files(tb.findJavaFiles(src1))
+ .run(Task.Expect.SUCCESS)
+ .writeAll();
ClassFile cf1 =
ClassFile.read(modules1.resolve("module-info.class"));
More information about the compiler-dev
mailing list