< prev index next >

test/tools/jlink/JLinkNegativeTest.java

Print this page




 257             Result result = helper.generateDefaultImage(moduleName);
 258             System.err.println(result.getMessage());
 259             if (result.getExitCode() == 0) {
 260                 throw new AssertionError("Crash expected");
 261             }
 262         } finally {
 263             deleteDirectory(jmod);
 264         }
 265     }
 266 
 267     public void testDuplicateModule1() throws IOException {
 268         String moduleName1 = "dupRes1Jmod1";
 269         String moduleName2 = "dupRes1Jmod2";
 270         List<String> classNames = Arrays.asList("java.A", "javax.B");
 271         Path module1 = helper.generateModuleCompiledClasses(
 272                 helper.getJmodSrcDir(), helper.getJmodClassesDir(), moduleName1, classNames);
 273         Path module2 = helper.generateModuleCompiledClasses(
 274                 helper.getJmodSrcDir(), helper.getJmodClassesDir(), moduleName2, classNames);
 275 
 276         try (OutputStream out = Files.newOutputStream(module2.resolve("module-info.class"))) {
 277             ModuleInfoWriter.write(ModuleDescriptor.module(moduleName1)
 278                     .requires("java.base").build(), out);
 279         }
 280 
 281         Path jmod1 = JImageGenerator.getJModTask()
 282                 .addClassPath(module1)
 283                 .jmod(helper.createNewJmodFile(moduleName1))
 284                 .create()
 285                 .assertSuccess();
 286         Path jmod2 = JImageGenerator.getJModTask()
 287                 .addClassPath(module2)
 288                 .jmod(helper.createNewJmodFile(moduleName2))
 289                 .create()
 290                 .assertSuccess();
 291         try {
 292             helper.generateDefaultImage(moduleName1)
 293                     .assertFailure("Error: Two versions of module dupRes1Jmod1 found in");
 294         } finally {
 295             deleteDirectory(jmod1);
 296             deleteDirectory(jmod2);
 297         }


 315         Files.move(jar, newJar);
 316         try {
 317             helper.generateDefaultImage(moduleName)
 318                     .assertFailure("Error: Two versions of module dupRes2Jmod found in");
 319         } finally {
 320             deleteDirectory(jmod);
 321             deleteDirectory(newJar);
 322         }
 323     }
 324 
 325     public void testDuplicateModule3() throws IOException {
 326         String moduleName1 = "dupRes3Jar1";
 327         String moduleName2 = "dupRes3Jar2";
 328         List<String> classNames = Arrays.asList("java.A", "javax.B");
 329         Path module1 = helper.generateModuleCompiledClasses(
 330                 helper.getJarSrcDir(), helper.getJarClassesDir(), moduleName1, classNames);
 331         Path module2 = helper.generateModuleCompiledClasses(
 332                 helper.getJarSrcDir(), helper.getJarClassesDir(), moduleName2, classNames);
 333 
 334         try (OutputStream out = Files.newOutputStream(module2.resolve("module-info.class"))) {
 335             ModuleInfoWriter.write(ModuleDescriptor.module(moduleName1)
 336                     .requires("java.base").build(), out);
 337         }
 338 
 339         Path jar1 = JImageGenerator.createJarFile(helper.getJarDir().resolve(moduleName1 + ".jar"), module1);
 340         Path jar2 = JImageGenerator.createJarFile(helper.getJarDir().resolve(moduleName2 + ".jar"), module2);
 341         try {
 342             helper.generateDefaultImage(moduleName1)
 343                     .assertFailure("Error: Two versions of module dupRes3Jar1 found in");
 344         } finally {
 345             deleteDirectory(jar1);
 346             deleteDirectory(jar2);
 347         }
 348     }
 349 }


 257             Result result = helper.generateDefaultImage(moduleName);
 258             System.err.println(result.getMessage());
 259             if (result.getExitCode() == 0) {
 260                 throw new AssertionError("Crash expected");
 261             }
 262         } finally {
 263             deleteDirectory(jmod);
 264         }
 265     }
 266 
 267     public void testDuplicateModule1() throws IOException {
 268         String moduleName1 = "dupRes1Jmod1";
 269         String moduleName2 = "dupRes1Jmod2";
 270         List<String> classNames = Arrays.asList("java.A", "javax.B");
 271         Path module1 = helper.generateModuleCompiledClasses(
 272                 helper.getJmodSrcDir(), helper.getJmodClassesDir(), moduleName1, classNames);
 273         Path module2 = helper.generateModuleCompiledClasses(
 274                 helper.getJmodSrcDir(), helper.getJmodClassesDir(), moduleName2, classNames);
 275 
 276         try (OutputStream out = Files.newOutputStream(module2.resolve("module-info.class"))) {
 277             ModuleInfoWriter.write(ModuleDescriptor.newModule(moduleName1)
 278                     .requires("java.base").build(), out);
 279         }
 280 
 281         Path jmod1 = JImageGenerator.getJModTask()
 282                 .addClassPath(module1)
 283                 .jmod(helper.createNewJmodFile(moduleName1))
 284                 .create()
 285                 .assertSuccess();
 286         Path jmod2 = JImageGenerator.getJModTask()
 287                 .addClassPath(module2)
 288                 .jmod(helper.createNewJmodFile(moduleName2))
 289                 .create()
 290                 .assertSuccess();
 291         try {
 292             helper.generateDefaultImage(moduleName1)
 293                     .assertFailure("Error: Two versions of module dupRes1Jmod1 found in");
 294         } finally {
 295             deleteDirectory(jmod1);
 296             deleteDirectory(jmod2);
 297         }


 315         Files.move(jar, newJar);
 316         try {
 317             helper.generateDefaultImage(moduleName)
 318                     .assertFailure("Error: Two versions of module dupRes2Jmod found in");
 319         } finally {
 320             deleteDirectory(jmod);
 321             deleteDirectory(newJar);
 322         }
 323     }
 324 
 325     public void testDuplicateModule3() throws IOException {
 326         String moduleName1 = "dupRes3Jar1";
 327         String moduleName2 = "dupRes3Jar2";
 328         List<String> classNames = Arrays.asList("java.A", "javax.B");
 329         Path module1 = helper.generateModuleCompiledClasses(
 330                 helper.getJarSrcDir(), helper.getJarClassesDir(), moduleName1, classNames);
 331         Path module2 = helper.generateModuleCompiledClasses(
 332                 helper.getJarSrcDir(), helper.getJarClassesDir(), moduleName2, classNames);
 333 
 334         try (OutputStream out = Files.newOutputStream(module2.resolve("module-info.class"))) {
 335             ModuleInfoWriter.write(ModuleDescriptor.newModule(moduleName1)
 336                     .requires("java.base").build(), out);
 337         }
 338 
 339         Path jar1 = JImageGenerator.createJarFile(helper.getJarDir().resolve(moduleName1 + ".jar"), module1);
 340         Path jar2 = JImageGenerator.createJarFile(helper.getJarDir().resolve(moduleName2 + ".jar"), module2);
 341         try {
 342             helper.generateDefaultImage(moduleName1)
 343                     .assertFailure("Error: Two versions of module dupRes3Jar1 found in");
 344         } finally {
 345             deleteDirectory(jar1);
 346             deleteDirectory(jar2);
 347         }
 348     }
 349 }
< prev index next >