langtools/test/tools/javac/modules/ModuleFinderTest.java
changeset 42822 a84956e7ee4d
parent 40308 274367a99f98
equal deleted inserted replaced
42812:084017ef9300 42822:a84956e7ee4d
    36 import java.nio.file.Path;
    36 import java.nio.file.Path;
    37 
    37 
    38 import toolbox.JarTask;
    38 import toolbox.JarTask;
    39 import toolbox.JavacTask;
    39 import toolbox.JavacTask;
    40 import toolbox.Task;
    40 import toolbox.Task;
    41 import toolbox.ToolBox;
       
    42 
    41 
    43 public class ModuleFinderTest extends ModuleTestBase {
    42 public class ModuleFinderTest extends ModuleTestBase {
    44 
    43 
    45     public static void main(String... args) throws Exception {
    44     public static void main(String... args) throws Exception {
    46         ModuleFinderTest t = new ModuleFinderTest();
    45         ModuleFinderTest t = new ModuleFinderTest();
    48     }
    47     }
    49 
    48 
    50     @Test
    49     @Test
    51     public void testDuplicateModulesOnPath(Path base) throws Exception {
    50     public void testDuplicateModulesOnPath(Path base) throws Exception {
    52         Path src = base.resolve("src");
    51         Path src = base.resolve("src");
    53         tb.writeJavaFiles(src, "module m1 { }");
    52         tb.writeJavaFiles(src, "module m1x { }");
    54 
    53 
    55         Path classes = base.resolve("classes");
    54         Path classes = base.resolve("classes");
    56         Files.createDirectories(classes);
    55         Files.createDirectories(classes);
    57         Path modules = base.resolve("modules");
    56         Path modules = base.resolve("modules");
    58         Files.createDirectories(modules);
    57         Files.createDirectories(modules);
    61                 .outdir(classes)
    60                 .outdir(classes)
    62                 .files(findJavaFiles(src))
    61                 .files(findJavaFiles(src))
    63                 .run()
    62                 .run()
    64                 .writeAll();
    63                 .writeAll();
    65 
    64 
    66         new JarTask(tb, modules.resolve("m1-1.jar"))
    65         new JarTask(tb, modules.resolve("m1x-1.jar"))
    67                 .baseDir(classes)
    66                 .baseDir(classes)
    68                 .files(".")
    67                 .files(".")
    69                 .run();
    68                 .run();
    70 
    69 
    71         new JarTask(tb, modules.resolve("m1-2.jar"))
    70         new JarTask(tb, modules.resolve("m1x-2.jar"))
    72                 .baseDir(classes)
    71                 .baseDir(classes)
    73                 .files(".")
    72                 .files(".")
    74                 .run();
    73                 .run();
    75 
    74 
    76         Path src2 = base.resolve("src2");
    75         Path src2 = base.resolve("src2");
    77         tb.writeJavaFiles(src2, "module m2 { requires m1; }");
    76         tb.writeJavaFiles(src2, "module m2x { requires m1x; }");
    78 
    77 
    79 
    78 
    80         String log = new JavacTask(tb, Task.Mode.CMDLINE)
    79         String log = new JavacTask(tb, Task.Mode.CMDLINE)
    81                 .options("-XDrawDiagnostics", "--module-path", modules.toString())
    80                 .options("-XDrawDiagnostics", "--module-path", modules.toString())
    82                 .outdir(classes)
    81                 .outdir(classes)
    83                 .files(findJavaFiles(src2))
    82                 .files(findJavaFiles(src2))
    84                 .run(Task.Expect.FAIL)
    83                 .run(Task.Expect.FAIL)
    85                 .writeAll()
    84                 .writeAll()
    86                 .getOutput(Task.OutputKind.DIRECT);
    85                 .getOutput(Task.OutputKind.DIRECT);
    87 
    86 
    88         if (!log.contains("- compiler.err.duplicate.module.on.path: (compiler.misc.locn.module_path), m1"))
    87         if (!log.contains("- compiler.err.duplicate.module.on.path: (compiler.misc.locn.module_path), m1x"))
    89             throw new Exception("expected output not found");
    88             throw new Exception("expected output not found");
    90     }
    89     }
    91 }
    90 }