--- a/langtools/test/tools/javac/modules/EdgeCases.java Wed Nov 23 16:16:36 2016 +0000
+++ b/langtools/test/tools/javac/modules/EdgeCases.java Thu Dec 01 09:02:42 2016 +0000
@@ -206,7 +206,7 @@
Files.createDirectories(modulePath);
- Path automaticJar = modulePath.resolve("m1-1.0.jar");
+ Path automaticJar = modulePath.resolve("a-1.0.jar");
new JarTask(tb, automaticJar)
.baseDir(automaticClasses)
@@ -216,11 +216,11 @@
Path src = base.resolve("src");
Path src_m2 = src.resolve("m2");
tb.writeJavaFiles(src_m2,
- "module m2 { requires m1; exports api2; }",
+ "module m2 { requires a; exports api2; }",
"package api2; public class Api2 { public static api1.Api1 get() { return null; } }");
Path src_m3 = src.resolve("m3");
tb.writeJavaFiles(src_m3,
- "module m3 { requires m1; requires m2; }",
+ "module m3 { requires a; requires m2; }",
"package test; public class Test { { api2.Api2.get(); api1.Api1 a1; } }");
Path classes = base.resolve("classes");
tb.createDirectories(classes);
@@ -459,4 +459,29 @@
syms.java_base.getDirectives();
}
+
+ @Test
+ public void testPackageInModuleInfo(Path base) throws Exception {
+ Path src = base.resolve("src");
+ Files.createDirectories(src);
+ tb.writeJavaFiles(src, "package p; module foo { }");
+ Path classes = base.resolve("classes");
+ tb.createDirectories(classes);
+
+ List<String> log = new JavacTask(tb)
+ .options("-XDrawDiagnostics", "-XDshould-stop.ifError=FLOW")
+ .outdir(classes)
+ .files(findJavaFiles(src))
+ .run(Expect.FAIL)
+ .writeAll()
+ .getOutputLines(OutputKind.DIRECT);
+
+ List<String> expected = Arrays.asList(
+ "module-info.java:1:1: compiler.err.no.pkg.in.module-info.java",
+ "1 error");
+
+ if (!expected.equals(log)) {
+ throw new AssertionError("Unexpected output: " + log);
+ }
+ }
}