< prev index next >

test/tools/javac/modules/GraphsTest.java

Print this page




 100                 .requiresPublic("O", modules, jarModules)
 101                 .exports("openN")
 102                 .classes("package openN; public class N { }")
 103                 .classes("package closedN; public class N { }")
 104                 .build(modSrc, modules);
 105         new ModuleBuilder(tb, "L")
 106                 .requiresPublic("O", modules, jarModules)
 107                 .exports("openL")
 108                 .classes("package openL; public class L { }")
 109                 .classes("package closedL; public class L { }")
 110                 .build(modSrc, modules);
 111         ModuleBuilder m = new ModuleBuilder(tb, "M");
 112         //positive case
 113         Path positiveSrc = m
 114                 .requires("N", modules)
 115                 .requires("L", modules)
 116                 .classes("package p; public class Positive { openO.O o; openN.N n; openL.L l; }")
 117                 .write(base.resolve("positiveSrc"));
 118 
 119         new JavacTask(tb)
 120                 .options("-XDrawDiagnostics", "-mp", modules + File.pathSeparator + jarModules)
 121                 .outdir(Files.createDirectories(base.resolve("positive")))
 122                 .files(findJavaFiles(positiveSrc))
 123                 .run()
 124                 .writeAll();
 125         //negative case
 126         Path negativeSrc = m.classes("package p; public class Negative { closedO.O o; closedN.N n; closedL.L l; }")
 127                 .write(base.resolve("negativeSrc"));
 128         List<String> log = new JavacTask(tb)
 129                 .options("-XDrawDiagnostics", "-mp", modules + File.pathSeparator + jarModules)
 130                 .outdir(Files.createDirectories(base.resolve("negative")))
 131                 .files(findJavaFiles(negativeSrc))
 132                 .run(Task.Expect.FAIL)
 133                 .writeAll()
 134                 .getOutputLines(Task.OutputKind.DIRECT);
 135 
 136         List<String> expected = Arrays.asList(
 137                 "Negative.java:1:43: compiler.err.doesnt.exist: closedO",
 138                 "Negative.java:1:56: compiler.err.doesnt.exist: closedN",
 139                 "Negative.java:1:69: compiler.err.doesnt.exist: closedL");
 140         if (!log.containsAll(expected)) {
 141             throw new Exception("Expected output not found");
 142         }
 143         //multi module mode
 144         m.write(modSrc);
 145         List<String> out = new JavacTask(tb)
 146                 .options("-XDrawDiagnostics",
 147                         "-modulesourcepath", modSrc.toString(),
 148                         "-mp", jarModules.toString()
 149                 )
 150                 .outdir(Files.createDirectories(base.resolve("negative")))
 151                 .files(findJavaFiles(modSrc))
 152                 .run(Task.Expect.FAIL)
 153                 .writeAll()
 154                 .getOutputLines(Task.OutputKind.DIRECT);
 155         expected = Arrays.asList(
 156                 "Negative.java:1:43: compiler.err.not.def.access.package.cant.access: closedO.O, closedO",
 157                 "Negative.java:1:56: compiler.err.not.def.access.package.cant.access: closedN.N, closedN",
 158                 "Negative.java:1:69: compiler.err.not.def.access.package.cant.access: closedL.L, closedL");
 159         if (!out.containsAll(expected)) {
 160             throw new Exception("Expected output not found");
 161         }
 162         //checks if the output does not contain messages about exported packages.
 163         Pattern regex = Pattern.compile("compiler\\.err.*(openO\\.O|openN\\.N|openL\\.L)");
 164         for (String s : out) {
 165             if (regex.matcher(s).find()) {
 166                 throw new Exception("Unexpected output: " + s);
 167             }
 168         }




 100                 .requiresPublic("O", modules, jarModules)
 101                 .exports("openN")
 102                 .classes("package openN; public class N { }")
 103                 .classes("package closedN; public class N { }")
 104                 .build(modSrc, modules);
 105         new ModuleBuilder(tb, "L")
 106                 .requiresPublic("O", modules, jarModules)
 107                 .exports("openL")
 108                 .classes("package openL; public class L { }")
 109                 .classes("package closedL; public class L { }")
 110                 .build(modSrc, modules);
 111         ModuleBuilder m = new ModuleBuilder(tb, "M");
 112         //positive case
 113         Path positiveSrc = m
 114                 .requires("N", modules)
 115                 .requires("L", modules)
 116                 .classes("package p; public class Positive { openO.O o; openN.N n; openL.L l; }")
 117                 .write(base.resolve("positiveSrc"));
 118 
 119         new JavacTask(tb)
 120                 .options("-XDrawDiagnostics", "-p", modules + File.pathSeparator + jarModules)
 121                 .outdir(Files.createDirectories(base.resolve("positive")))
 122                 .files(findJavaFiles(positiveSrc))
 123                 .run()
 124                 .writeAll();
 125         //negative case
 126         Path negativeSrc = m.classes("package p; public class Negative { closedO.O o; closedN.N n; closedL.L l; }")
 127                 .write(base.resolve("negativeSrc"));
 128         List<String> log = new JavacTask(tb)
 129                 .options("-XDrawDiagnostics", "-p", modules + File.pathSeparator + jarModules)
 130                 .outdir(Files.createDirectories(base.resolve("negative")))
 131                 .files(findJavaFiles(negativeSrc))
 132                 .run(Task.Expect.FAIL)
 133                 .writeAll()
 134                 .getOutputLines(Task.OutputKind.DIRECT);
 135 
 136         List<String> expected = Arrays.asList(
 137                 "Negative.java:1:43: compiler.err.doesnt.exist: closedO",
 138                 "Negative.java:1:56: compiler.err.doesnt.exist: closedN",
 139                 "Negative.java:1:69: compiler.err.doesnt.exist: closedL");
 140         if (!log.containsAll(expected)) {
 141             throw new Exception("Expected output not found");
 142         }
 143         //multi module mode
 144         m.write(modSrc);
 145         List<String> out = new JavacTask(tb)
 146                 .options("-XDrawDiagnostics",
 147                         "--module-source-path", modSrc.toString(),
 148                         "-p", jarModules.toString()
 149                 )
 150                 .outdir(Files.createDirectories(base.resolve("negative")))
 151                 .files(findJavaFiles(modSrc))
 152                 .run(Task.Expect.FAIL)
 153                 .writeAll()
 154                 .getOutputLines(Task.OutputKind.DIRECT);
 155         expected = Arrays.asList(
 156                 "Negative.java:1:43: compiler.err.not.def.access.package.cant.access: closedO.O, closedO",
 157                 "Negative.java:1:56: compiler.err.not.def.access.package.cant.access: closedN.N, closedN",
 158                 "Negative.java:1:69: compiler.err.not.def.access.package.cant.access: closedL.L, closedL");
 159         if (!out.containsAll(expected)) {
 160             throw new Exception("Expected output not found");
 161         }
 162         //checks if the output does not contain messages about exported packages.
 163         Pattern regex = Pattern.compile("compiler\\.err.*(openO\\.O|openN\\.N|openL\\.L)");
 164         for (String s : out) {
 165             if (regex.matcher(s).find()) {
 166                 throw new Exception("Unexpected output: " + s);
 167             }
 168         }


< prev index next >