< 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 >