< prev index next >
test/tools/jmod/JmodTest.java
Print this page
rev 15157 : 8134779: (jmod) ZipException is thrown if there are duplicate resources
8134847: (jmod) module-info encountered in the cmds, libs or config is not added to jmod file
Reviewed-by:
*** 40,49 ****
--- 40,51 ----
import java.util.regex.Pattern;
import java.util.stream.Stream;
import jdk.testlibrary.FileUtils;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
+
+ import static java.io.File.pathSeparator;
import static java.lang.module.ModuleDescriptor.Version;
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.stream.Collectors.toSet;
import static org.testng.Assert.*;
*** 281,290 ****
--- 283,344 ----
"in output, but did not: [" + r.output + "]");
});
}
@Test
+ public void testDuplicateEntries() throws IOException {
+ Path jmod = MODS_DIR.resolve("testDuplicates.jmod");
+ FileUtils.deleteFileIfExistsWithRetry(jmod);
+ String cp = EXPLODED_DIR.resolve("foo").resolve("classes").toString();
+ Path lp = EXPLODED_DIR.resolve("foo").resolve("lib");
+
+ jmod("create",
+ "--class-path", cp + pathSeparator + cp,
+ jmod.toString())
+ .assertSuccess()
+ .resultChecker(r ->
+ assertContains(r.output, "Warning: ignoring duplicate entry")
+ );
+
+ FileUtils.deleteFileIfExistsWithRetry(jmod);
+ jmod("create",
+ "--class-path", cp,
+ "--libs", lp.toString() + pathSeparator + lp.toString(),
+ jmod.toString())
+ .assertSuccess()
+ .resultChecker(r ->
+ assertContains(r.output, "Warning: ignoring duplicate entry")
+ );
+ }
+
+ @Test
+ public void testIgnoreModuleInfoInOtherSections() throws IOException {
+ Path jmod = MODS_DIR.resolve("testIgnoreModuleInfoInOtherSections.jmod");
+ FileUtils.deleteFileIfExistsWithRetry(jmod);
+ String cp = EXPLODED_DIR.resolve("foo").resolve("classes").toString();
+
+ jmod("create",
+ "--class-path", cp,
+ "--libs", cp,
+ jmod.toString())
+ .assertSuccess()
+ .resultChecker(r ->
+ assertContains(r.output, "Warning: ignoring entry")
+ );
+
+ FileUtils.deleteFileIfExistsWithRetry(jmod);
+ jmod("create",
+ "--class-path", cp,
+ "--cmds", cp,
+ jmod.toString())
+ .assertSuccess()
+ .resultChecker(r ->
+ assertContains(r.output, "Warning: ignoring entry")
+ );
+ }
+
+ @Test
public void testVersion() {
jmod("--version")
.assertSuccess()
.resultChecker(r -> {
assertContains(r.output, System.getProperty("java.version"));
< prev index next >