< prev index next >
jdk/test/tools/jlink/JLinkTest.java
Print this page
@@ -30,33 +30,37 @@
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.spi.ToolProvider;
import java.util.stream.Stream;
import jdk.tools.jlink.plugin.Plugin;
import jdk.tools.jlink.internal.PluginRepository;
import tests.Helper;
import tests.JImageGenerator;
-import tests.JImageGenerator.InMemoryFile;
/*
* @test
* @summary Test image creation
* @author Jean-Francois Denise
* @library ../lib
* @modules java.base/jdk.internal.jimage
* jdk.jdeps/com.sun.tools.classfile
* jdk.jlink/jdk.tools.jlink.internal
- * jdk.jlink/jdk.tools.jmod
* jdk.jlink/jdk.tools.jimage
* jdk.compiler
* @build tests.*
* @run main/othervm -Xmx1g JLinkTest
*/
public class JLinkTest {
+ static final ToolProvider JLINK_TOOL = ToolProvider.findFirst("jlink")
+ .orElseThrow(() ->
+ new RuntimeException("jlink tool not found")
+ );
+
// number of built-in plugins from jdk.jlink module
private static int getNumJlinkPlugins() {
ModuleDescriptor desc = Plugin.class.getModule().getDescriptor();
return desc.provides().
get(Plugin.class.getName()).
@@ -178,11 +182,12 @@
}
{
// Help
StringWriter writer = new StringWriter();
- jdk.tools.jlink.internal.Main.run(new String[]{"--help"}, new PrintWriter(writer));
+ PrintWriter pw = new PrintWriter(writer);
+ JLINK_TOOL.run(pw, pw, "--help");
String output = writer.toString();
if (output.split("\n").length < 10) {
System.err.println(output);
throw new AssertionError("Help");
}
@@ -200,11 +205,13 @@
}
{
// List plugins
StringWriter writer = new StringWriter();
- jdk.tools.jlink.internal.Main.run(new String[]{"--list-plugins"}, new PrintWriter(writer));
+ PrintWriter pw = new PrintWriter(writer);
+
+ JLINK_TOOL.run(pw, pw, "--list-plugins");
String output = writer.toString();
long number = Stream.of(output.split("\\R"))
.filter((s) -> s.matches("Plugin Name:.*"))
.count();
if (number != totalPlugins) {
< prev index next >