< prev index next >

test/tools/jar/modularJar/Basic.java

Print this page

        

*** 37,46 **** --- 37,47 ---- import java.util.stream.Stream; import jdk.testlibrary.FileUtils; import jdk.testlibrary.JDKToolFinder; import org.testng.annotations.BeforeTest; + import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import static java.lang.String.format; import static java.lang.System.out;
*** 752,762 **** "-C", modClasses.toString(), "jdk/test/baz/Baz.class", "-C", modClasses.toString(), "jdk/test/baz/internal/BazServiceImpl.class") .assertSuccess(); ! for (String option : new String[] {"--print-module-descriptor", "-d" }) { jar(option, "--file=" + modularJar.toString()) .assertSuccess() .resultChecker(r -> --- 753,763 ---- "-C", modClasses.toString(), "jdk/test/baz/Baz.class", "-C", modClasses.toString(), "jdk/test/baz/internal/BazServiceImpl.class") .assertSuccess(); ! for (String option : new String[] {"--describe-module", "-d" }) { jar(option, "--file=" + modularJar.toString()) .assertSuccess() .resultChecker(r ->
*** 799,810 **** "-C", modClasses.toString(), "jdk/test/foo/Foo.class") .assertFailure(); } @Test ! public void printModuleDescriptorFoo() throws IOException { ! Path mp = Paths.get("printModuleDescriptorFoo"); createTestDir(mp); Path modClasses = MODULE_CLASSES.resolve(FOO.moduleName); Path modularJar = mp.resolve(FOO.moduleName + ".jar"); jar("--create", --- 800,811 ---- "-C", modClasses.toString(), "jdk/test/foo/Foo.class") .assertFailure(); } @Test ! public void describeModuleFoo() throws IOException { ! Path mp = Paths.get("describeModuleFoo"); createTestDir(mp); Path modClasses = MODULE_CLASSES.resolve(FOO.moduleName); Path modularJar = mp.resolve(FOO.moduleName + ".jar"); jar("--create",
*** 813,823 **** "--module-version=" + FOO.version, "--no-manifest", "-C", modClasses.toString(), ".") .assertSuccess(); ! for (String option : new String[] {"--print-module-descriptor", "-d" }) { jar(option, "--file=" + modularJar.toString()) .assertSuccess() .resultChecker(r -> assertTrue(r.output.contains(FOO.moduleName + "@" + FOO.version), --- 814,824 ---- "--module-version=" + FOO.version, "--no-manifest", "-C", modClasses.toString(), ".") .assertSuccess(); ! for (String option : new String[] {"--describe-module", "-d" }) { jar(option, "--file=" + modularJar.toString()) .assertSuccess() .resultChecker(r -> assertTrue(r.output.contains(FOO.moduleName + "@" + FOO.version),
*** 834,845 **** .assertFailure(); } } @Test ! public void printModuleDescriptorFooFromStdin() throws IOException { ! Path mp = Paths.get("printModuleDescriptorFooFromStdin"); createTestDir(mp); Path modClasses = MODULE_CLASSES.resolve(FOO.moduleName); Path modularJar = mp.resolve(FOO.moduleName + ".jar"); jar("--create", --- 835,846 ---- .assertFailure(); } } @Test ! public void describeModuleFooFromStdin() throws IOException { ! Path mp = Paths.get("describeModuleFooFromStdin"); createTestDir(mp); Path modClasses = MODULE_CLASSES.resolve(FOO.moduleName); Path modularJar = mp.resolve(FOO.moduleName + ".jar"); jar("--create",
*** 848,858 **** "--module-version=" + FOO.version, "--no-manifest", "-C", modClasses.toString(), ".") .assertSuccess(); ! for (String option : new String[] {"--print-module-descriptor", "-d" }) { jarWithStdin(modularJar.toFile(), option) .assertSuccess() .resultChecker(r -> assertTrue(r.output.contains(FOO.moduleName + "@" + FOO.version), --- 849,859 ---- "--module-version=" + FOO.version, "--no-manifest", "-C", modClasses.toString(), ".") .assertSuccess(); ! for (String option : new String[] {"--describe-module", "-d" }) { jarWithStdin(modularJar.toFile(), option) .assertSuccess() .resultChecker(r -> assertTrue(r.output.contains(FOO.moduleName + "@" + FOO.version),
*** 860,869 **** --- 861,913 ---- " in [", r.output, "]") ); } } + + @DataProvider(name = "autoNames") + public Object[][] autoNames() { + return new Object[][] { + // JAR file name module-name[@version] + { "foo.jar", "foo" }, + { "foo4j.jar", "foo4j", }, + { "foo1.2.3.jar", "foo" }, + { "foo-1.2.3.4.jar", "foo@1.2.3.4" }, + { "foo-bar.jar", "foo.bar" }, + { "foo-1.2-SNAPSHOT.jar", "foo@1.2-SNAPSHOT" }, + }; + } + + @Test(dataProvider = "autoNames") + public void describeAutomaticModule(String jarName, String mid) + throws IOException + { + Path mp = Paths.get("describeAutomaticModule"); + createTestDir(mp); + Path regularJar = mp.resolve(jarName); + Path t = Paths.get("t"); + if (Files.notExists(t)) + Files.createFile(t); + + jar("--create", + "--file=" + regularJar.toString(), + t.toString()) + .assertSuccess(); + + for (String option : new String[] {"--describe-module", "-d" }) { + jar(option, + "--file=" + regularJar.toString()) + .assertSuccess() + .resultChecker(r -> { + assertTrue(r.output.contains("No module descriptor found")); + assertTrue(r.output.contains("Derived automatic module name: " + mid), + "Expected to find ", mid, " in [", r.output, "]"); + } + ); + } + } + // -- Infrastructure static Result jarWithStdin(File stdinSource, String... args) { String jar = getJDKTool("jar"); List<String> commands = new ArrayList<>();
< prev index next >