22 */
23
24 /**
25 * @test
26 * @summary Verify modules can contain packages of the same name, unless these meet.
27 * @library /tools/lib
28 * @modules
29 * jdk.compiler/com.sun.tools.javac.api
30 * jdk.compiler/com.sun.tools.javac.main
31 * @build toolbox.ToolBox toolbox.JavacTask ModuleTestBase
32 * @run main PackageMultipleModules
33 */
34
35 import java.nio.file.Files;
36 import java.nio.file.Path;
37 import java.util.Arrays;
38 import java.util.List;
39
40 import toolbox.JavacTask;
41 import toolbox.Task;
42 import toolbox.ToolBox;
43
44 public class PackageMultipleModules extends ModuleTestBase {
45
46 public static void main(String... args) throws Exception {
47 PackageMultipleModules t = new PackageMultipleModules();
48 t.runTests();
49 }
50
51 @Test
52 public void testSimple(Path base) throws Exception {
53 Path m1 = base.resolve("m1");
54 Path m2 = base.resolve("m2");
55 tb.writeJavaFiles(m1,
56 "module m1 {}",
57 "package test; import test.B; public class A {}",
58 "package test; public class A1 extends A {}");
59 tb.writeJavaFiles(m2,
60 "module m2 {}",
61 "package test; import test.A; public class B {}",
62 "package test; public class B1 extends B {}");
63 Path classes = base.resolve("classes");
64 Files.createDirectories(classes);
65
66 List<String> log = new JavacTask(tb)
67 .options("-XDrawDiagnostics", "-modulesourcepath", base.toString())
68 .outdir(classes)
69 .files(findJavaFiles(base))
70 .run(Task.Expect.FAIL)
71 .writeAll()
72 .getOutputLines(Task.OutputKind.DIRECT);
73
74 List<String> expected = Arrays.asList("A.java:1:26: compiler.err.not.def.access.package.cant.access: test.B, test",
75 "B.java:1:26: compiler.err.not.def.access.package.cant.access: test.A, test",
76 "2 errors");
77 if (!log.equals(expected))
78 throw new Exception("expected output not found");
79 }
80
81 }
|
22 */
23
24 /**
25 * @test
26 * @summary Verify modules can contain packages of the same name, unless these meet.
27 * @library /tools/lib
28 * @modules
29 * jdk.compiler/com.sun.tools.javac.api
30 * jdk.compiler/com.sun.tools.javac.main
31 * @build toolbox.ToolBox toolbox.JavacTask ModuleTestBase
32 * @run main PackageMultipleModules
33 */
34
35 import java.nio.file.Files;
36 import java.nio.file.Path;
37 import java.util.Arrays;
38 import java.util.List;
39
40 import toolbox.JavacTask;
41 import toolbox.Task;
42
43 public class PackageMultipleModules extends ModuleTestBase {
44
45 public static void main(String... args) throws Exception {
46 PackageMultipleModules t = new PackageMultipleModules();
47 t.runTests();
48 }
49
50 @Test
51 public void testSimple(Path base) throws Exception {
52 Path m1 = base.resolve("m1");
53 Path m2 = base.resolve("m2");
54 tb.writeJavaFiles(m1,
55 "module m1 {}",
56 "package test; import test.B; public class A {}",
57 "package test; public class A1 extends A {}");
58 tb.writeJavaFiles(m2,
59 "module m2 {}",
60 "package test; import test.A; public class B {}",
61 "package test; public class B1 extends B {}");
62 Path classes = base.resolve("classes");
63 Files.createDirectories(classes);
64
65 List<String> log = new JavacTask(tb)
66 .options("-XDrawDiagnostics", "--module-source-path", base.toString())
67 .outdir(classes)
68 .files(findJavaFiles(base))
69 .run(Task.Expect.FAIL)
70 .writeAll()
71 .getOutputLines(Task.OutputKind.DIRECT);
72
73 List<String> expected = Arrays.asList("A.java:1:26: compiler.err.not.def.access.package.cant.access: test.B, test",
74 "B.java:1:26: compiler.err.not.def.access.package.cant.access: test.A, test",
75 "2 errors");
76 if (!log.equals(expected))
77 throw new Exception("expected output not found");
78 }
79
80 }
|