76 .getOutput(Task.OutputKind.DIRECT); 77 78 if (!log.contains("C.java:1:11: compiler.err.cant.resolve.location: " 79 + "kindname.class, D, , , (compiler.misc.location: kindname.class, C, null)")) 80 throw new Exception("expected output not found"); 81 } 82 83 @Test 84 public void testUnexportedTypeUnreadableModule(Path base) throws Exception { 85 Path src = base.resolve("src"); 86 tb.writeJavaFiles(src.resolve("m1"), 87 "module m1 { }", 88 "package p1; public class C1 { }"); 89 tb.writeJavaFiles(src.resolve("m2"), 90 "module m2 { }", 91 "package p2; public class C2 { p1.C1 c; }"); 92 Path modules = base.resolve("modules"); 93 Files.createDirectories(modules); 94 95 String log = new JavacTask(tb) 96 .options("-XDrawDiagnostics", "-modulesourcepath", src.toString()) 97 .outdir(modules) 98 .files(findJavaFiles(src)) 99 .run(Task.Expect.FAIL) 100 .writeAll() 101 .getOutput(Task.OutputKind.DIRECT); 102 103 if (!log.contains("C2.java:1:33: compiler.err.not.def.access.package.cant.access: p1.C1, p1")) 104 throw new Exception("expected output not found"); 105 } 106 107 @Test 108 public void testUnexportedTypeReadableModule(Path base) throws Exception { 109 Path src = base.resolve("src"); 110 tb.writeJavaFiles(src.resolve("m1"), 111 "module m1 { }", 112 "package p1; public class C1 { }"); 113 tb.writeJavaFiles(src.resolve("m2"), 114 "module m2 { requires m1; }", 115 "package p2; public class C2 { p1.C1 c; }"); 116 Path modules = base.resolve("modules"); 117 Files.createDirectories(modules); 118 119 String log = new JavacTask(tb) 120 .options("-XDrawDiagnostics", "-modulesourcepath", src.toString()) 121 .outdir(modules) 122 .files(findJavaFiles(src)) 123 .run(Task.Expect.FAIL) 124 .writeAll() 125 .getOutput(Task.OutputKind.DIRECT); 126 127 if (!log.contains("C2.java:1:33: compiler.err.not.def.access.package.cant.access: p1.C1, p1")) 128 throw new Exception("expected output not found"); 129 } 130 131 @Test 132 public void testQualifiedExportedTypeReadableModule(Path base) throws Exception { 133 Path src = base.resolve("src"); 134 tb.writeJavaFiles(src.resolve("m1"), 135 "module m1 { exports p1 to m3; }", 136 "package p1; public class C1 { }"); 137 tb.writeJavaFiles(src.resolve("m2"), 138 "module m2 { requires m1; }", 139 "package p2; public class C2 { p1.C1 c; }"); 140 tb.writeJavaFiles(src.resolve("m3"), 141 "module m3 { requires m1; }"); 142 Path modules = base.resolve("modules"); 143 Files.createDirectories(modules); 144 145 String log = new JavacTask(tb) 146 .options("-XDrawDiagnostics", "-modulesourcepath", src.toString()) 147 .outdir(modules) 148 .files(findJavaFiles(src)) 149 .run(Task.Expect.FAIL) 150 .writeAll() 151 .getOutput(Task.OutputKind.DIRECT); 152 153 if (!log.contains("C2.java:1:33: compiler.err.not.def.access.package.cant.access: p1.C1, p1")) 154 throw new Exception("expected output not found"); 155 } 156 157 @Test 158 public void testExportedTypeUnreadableModule(Path base) throws Exception { 159 Path src = base.resolve("src"); 160 tb.writeJavaFiles(src.resolve("m1"), 161 "module m1 { exports p1; }", 162 "package p1; public class C1 { }"); 163 tb.writeJavaFiles(src.resolve("m2"), 164 "module m2 { }", 165 "package p2; public class C2 { p1.C1 c; }"); 166 Path modules = base.resolve("modules"); 167 Files.createDirectories(modules); 168 169 String log = new JavacTask(tb) 170 .options("-XDrawDiagnostics", "-modulesourcepath", src.toString()) 171 .outdir(modules) 172 .files(findJavaFiles(src)) 173 .run(Task.Expect.FAIL) 174 .writeAll() 175 .getOutput(Task.OutputKind.DIRECT); 176 177 if (!log.contains("C2.java:1:33: compiler.err.not.def.access.package.cant.access: p1.C1, p1")) 178 throw new Exception("expected output not found"); 179 } 180 181 @Test 182 public void testExportedTypeReadableModule(Path base) throws Exception { 183 Path src = base.resolve("src"); 184 tb.writeJavaFiles(src.resolve("m1"), 185 "module m1 { exports p1; }", 186 "package p1; public class C1 { }"); 187 tb.writeJavaFiles(src.resolve("m2"), 188 "module m2 { requires m1; }", 189 "package p2; public class C2 { p1.C1 c; }"); 190 Path modules = base.resolve("modules"); 191 Files.createDirectories(modules); 192 193 new JavacTask(tb) 194 .options("-XDrawDiagnostics", "-modulesourcepath", src.toString()) 195 .outdir(modules) 196 .files(findJavaFiles(src)) 197 .run() 198 .writeAll(); 199 } 200 201 @Test 202 public void testExportedTypeReadableModule2(Path base) throws Exception { 203 Path src = base.resolve("src"); 204 tb.writeJavaFiles(src.resolve("m1"), 205 "module m1 { exports p1 to m2; }", 206 "package p1; public class C1 { }"); 207 tb.writeJavaFiles(src.resolve("m2"), 208 "module m2 { requires m1; }", 209 "package p2; public class C2 { p1.C1 c; }"); 210 Path modules = base.resolve("modules"); 211 Files.createDirectories(modules); 212 213 new JavacTask(tb) 214 .options("-XDrawDiagnostics", "-modulesourcepath", src.toString()) 215 .outdir(modules) 216 .files(findJavaFiles(src)) 217 .run() 218 .writeAll(); 219 } 220 } | 76 .getOutput(Task.OutputKind.DIRECT); 77 78 if (!log.contains("C.java:1:11: compiler.err.cant.resolve.location: " 79 + "kindname.class, D, , , (compiler.misc.location: kindname.class, C, null)")) 80 throw new Exception("expected output not found"); 81 } 82 83 @Test 84 public void testUnexportedTypeUnreadableModule(Path base) throws Exception { 85 Path src = base.resolve("src"); 86 tb.writeJavaFiles(src.resolve("m1"), 87 "module m1 { }", 88 "package p1; public class C1 { }"); 89 tb.writeJavaFiles(src.resolve("m2"), 90 "module m2 { }", 91 "package p2; public class C2 { p1.C1 c; }"); 92 Path modules = base.resolve("modules"); 93 Files.createDirectories(modules); 94 95 String log = new JavacTask(tb) 96 .options("-XDrawDiagnostics", "--module-source-path", src.toString()) 97 .outdir(modules) 98 .files(findJavaFiles(src)) 99 .run(Task.Expect.FAIL) 100 .writeAll() 101 .getOutput(Task.OutputKind.DIRECT); 102 103 if (!log.contains("C2.java:1:33: compiler.err.not.def.access.package.cant.access: p1.C1, p1")) 104 throw new Exception("expected output not found"); 105 } 106 107 @Test 108 public void testUnexportedTypeReadableModule(Path base) throws Exception { 109 Path src = base.resolve("src"); 110 tb.writeJavaFiles(src.resolve("m1"), 111 "module m1 { }", 112 "package p1; public class C1 { }"); 113 tb.writeJavaFiles(src.resolve("m2"), 114 "module m2 { requires m1; }", 115 "package p2; public class C2 { p1.C1 c; }"); 116 Path modules = base.resolve("modules"); 117 Files.createDirectories(modules); 118 119 String log = new JavacTask(tb) 120 .options("-XDrawDiagnostics", "--module-source-path", src.toString()) 121 .outdir(modules) 122 .files(findJavaFiles(src)) 123 .run(Task.Expect.FAIL) 124 .writeAll() 125 .getOutput(Task.OutputKind.DIRECT); 126 127 if (!log.contains("C2.java:1:33: compiler.err.not.def.access.package.cant.access: p1.C1, p1")) 128 throw new Exception("expected output not found"); 129 } 130 131 @Test 132 public void testQualifiedExportedTypeReadableModule(Path base) throws Exception { 133 Path src = base.resolve("src"); 134 tb.writeJavaFiles(src.resolve("m1"), 135 "module m1 { exports p1 to m3; }", 136 "package p1; public class C1 { }"); 137 tb.writeJavaFiles(src.resolve("m2"), 138 "module m2 { requires m1; }", 139 "package p2; public class C2 { p1.C1 c; }"); 140 tb.writeJavaFiles(src.resolve("m3"), 141 "module m3 { requires m1; }"); 142 Path modules = base.resolve("modules"); 143 Files.createDirectories(modules); 144 145 String log = new JavacTask(tb) 146 .options("-XDrawDiagnostics", "--module-source-path", src.toString()) 147 .outdir(modules) 148 .files(findJavaFiles(src)) 149 .run(Task.Expect.FAIL) 150 .writeAll() 151 .getOutput(Task.OutputKind.DIRECT); 152 153 if (!log.contains("C2.java:1:33: compiler.err.not.def.access.package.cant.access: p1.C1, p1")) 154 throw new Exception("expected output not found"); 155 } 156 157 @Test 158 public void testExportedTypeUnreadableModule(Path base) throws Exception { 159 Path src = base.resolve("src"); 160 tb.writeJavaFiles(src.resolve("m1"), 161 "module m1 { exports p1; }", 162 "package p1; public class C1 { }"); 163 tb.writeJavaFiles(src.resolve("m2"), 164 "module m2 { }", 165 "package p2; public class C2 { p1.C1 c; }"); 166 Path modules = base.resolve("modules"); 167 Files.createDirectories(modules); 168 169 String log = new JavacTask(tb) 170 .options("-XDrawDiagnostics", "--module-source-path", src.toString()) 171 .outdir(modules) 172 .files(findJavaFiles(src)) 173 .run(Task.Expect.FAIL) 174 .writeAll() 175 .getOutput(Task.OutputKind.DIRECT); 176 177 if (!log.contains("C2.java:1:33: compiler.err.not.def.access.package.cant.access: p1.C1, p1")) 178 throw new Exception("expected output not found"); 179 } 180 181 @Test 182 public void testExportedTypeReadableModule(Path base) throws Exception { 183 Path src = base.resolve("src"); 184 tb.writeJavaFiles(src.resolve("m1"), 185 "module m1 { exports p1; }", 186 "package p1; public class C1 { }"); 187 tb.writeJavaFiles(src.resolve("m2"), 188 "module m2 { requires m1; }", 189 "package p2; public class C2 { p1.C1 c; }"); 190 Path modules = base.resolve("modules"); 191 Files.createDirectories(modules); 192 193 new JavacTask(tb) 194 .options("-XDrawDiagnostics", "--module-source-path", src.toString()) 195 .outdir(modules) 196 .files(findJavaFiles(src)) 197 .run() 198 .writeAll(); 199 } 200 201 @Test 202 public void testExportedTypeReadableModule2(Path base) throws Exception { 203 Path src = base.resolve("src"); 204 tb.writeJavaFiles(src.resolve("m1"), 205 "module m1 { exports p1 to m2; }", 206 "package p1; public class C1 { }"); 207 tb.writeJavaFiles(src.resolve("m2"), 208 "module m2 { requires m1; }", 209 "package p2; public class C2 { p1.C1 c; }"); 210 Path modules = base.resolve("modules"); 211 Files.createDirectories(modules); 212 213 new JavacTask(tb) 214 .options("-XDrawDiagnostics", "--module-source-path", src.toString()) 215 .outdir(modules) 216 .files(findJavaFiles(src)) 217 .run() 218 .writeAll(); 219 } 220 } |