equal
deleted
inserted
replaced
26 * @summary javac doesn't report errors if module exports non-existent package |
26 * @summary javac doesn't report errors if module exports non-existent package |
27 * @library /tools/lib |
27 * @library /tools/lib |
28 * @modules |
28 * @modules |
29 * jdk.compiler/com.sun.tools.javac.api |
29 * jdk.compiler/com.sun.tools.javac.api |
30 * jdk.compiler/com.sun.tools.javac.main |
30 * jdk.compiler/com.sun.tools.javac.main |
31 * jdk.jdeps/com.sun.tools.javap |
31 * @build toolbox.ToolBox toolbox.JavacTask ModuleTestBase |
32 * @build ToolBox ModuleTestBase |
|
33 * @run main ReportNonExistentPackageTest |
32 * @run main ReportNonExistentPackageTest |
34 */ |
33 */ |
35 |
34 |
36 import java.nio.file.Files; |
35 import java.nio.file.Files; |
37 import java.nio.file.Path; |
36 import java.nio.file.Path; |
|
37 |
|
38 import toolbox.JavacTask; |
|
39 import toolbox.Task; |
|
40 import toolbox.ToolBox; |
38 |
41 |
39 public class ReportNonExistentPackageTest extends ModuleTestBase { |
42 public class ReportNonExistentPackageTest extends ModuleTestBase { |
40 public static void main(String... args) throws Exception { |
43 public static void main(String... args) throws Exception { |
41 ReportNonExistentPackageTest t = new ReportNonExistentPackageTest(); |
44 ReportNonExistentPackageTest t = new ReportNonExistentPackageTest(); |
42 t.runTests(); |
45 t.runTests(); |
47 Path src = base.resolve("src"); |
50 Path src = base.resolve("src"); |
48 tb.writeJavaFiles(src, "module m { exports p1; }"); |
51 tb.writeJavaFiles(src, "module m { exports p1; }"); |
49 Path classes = base.resolve("classes"); |
52 Path classes = base.resolve("classes"); |
50 Files.createDirectories(classes); |
53 Files.createDirectories(classes); |
51 |
54 |
52 String log = tb.new JavacTask() |
55 String log = new JavacTask(tb) |
53 .options("-XDrawDiagnostics") |
56 .options("-XDrawDiagnostics") |
54 .outdir(classes) |
57 .outdir(classes) |
55 .files(findJavaFiles(src)) |
58 .files(findJavaFiles(src)) |
56 .run(ToolBox.Expect.FAIL) |
59 .run(Task.Expect.FAIL) |
57 .writeAll() |
60 .writeAll() |
58 .getOutput(ToolBox.OutputKind.DIRECT); |
61 .getOutput(Task.OutputKind.DIRECT); |
59 if (!log.contains("module-info.java:1:20: compiler.err.package.empty.or.not.found: p1")) |
62 if (!log.contains("module-info.java:1:20: compiler.err.package.empty.or.not.found: p1")) |
60 throw new Exception("expected output not found"); |
63 throw new Exception("expected output not found"); |
61 } |
64 } |
62 |
65 |
63 @Test |
66 @Test |
67 "module m { exports p1; }", |
70 "module m { exports p1; }", |
68 "package p1;"); |
71 "package p1;"); |
69 Path classes = base.resolve("classes"); |
72 Path classes = base.resolve("classes"); |
70 Files.createDirectories(classes); |
73 Files.createDirectories(classes); |
71 |
74 |
72 String log = tb.new JavacTask() |
75 String log = new JavacTask(tb) |
73 .options("-XDrawDiagnostics") |
76 .options("-XDrawDiagnostics") |
74 .outdir(classes) |
77 .outdir(classes) |
75 .files(findJavaFiles(src)) |
78 .files(findJavaFiles(src)) |
76 .run(ToolBox.Expect.FAIL) |
79 .run(Task.Expect.FAIL) |
77 .writeAll() |
80 .writeAll() |
78 .getOutput(ToolBox.OutputKind.DIRECT); |
81 .getOutput(Task.OutputKind.DIRECT); |
79 if (!log.contains("module-info.java:1:20: compiler.err.package.empty.or.not.found: p1")) |
82 if (!log.contains("module-info.java:1:20: compiler.err.package.empty.or.not.found: p1")) |
80 throw new Exception("expected output not found"); |
83 throw new Exception("expected output not found"); |
81 } |
84 } |
82 |
85 |
83 @Test |
86 @Test |
88 Path C = p1.resolve("C.java"); |
91 Path C = p1.resolve("C.java"); |
89 tb.writeFile(C, "// comment"); |
92 tb.writeFile(C, "// comment"); |
90 Path classes = base.resolve("classes"); |
93 Path classes = base.resolve("classes"); |
91 Files.createDirectories(classes); |
94 Files.createDirectories(classes); |
92 |
95 |
93 String log = tb.new JavacTask() |
96 String log = new JavacTask(tb) |
94 .options("-XDrawDiagnostics") |
97 .options("-XDrawDiagnostics") |
95 .outdir(classes) |
98 .outdir(classes) |
96 .files(findJavaFiles(src)) |
99 .files(findJavaFiles(src)) |
97 .run(ToolBox.Expect.FAIL) |
100 .run(Task.Expect.FAIL) |
98 .writeAll() |
101 .writeAll() |
99 .getOutput(ToolBox.OutputKind.DIRECT); |
102 .getOutput(Task.OutputKind.DIRECT); |
100 if (!log.contains("module-info.java:1:20: compiler.err.package.empty.or.not.found: p1")) |
103 if (!log.contains("module-info.java:1:20: compiler.err.package.empty.or.not.found: p1")) |
101 throw new Exception("expected output not found"); |
104 throw new Exception("expected output not found"); |
102 } |
105 } |
103 } |
106 } |