jdk/test/tools/jlink/JLinkTest.java
changeset 41484 834b7539ada3
parent 41352 f9844bad9052
child 41766 b5eab76a23a9
--- a/jdk/test/tools/jlink/JLinkTest.java	Wed Oct 12 14:31:17 2016 -0700
+++ b/jdk/test/tools/jlink/JLinkTest.java	Wed Oct 12 15:41:00 2016 -0700
@@ -32,13 +32,13 @@
 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
@@ -48,13 +48,17 @@
  * @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();
@@ -180,7 +184,8 @@
         {
             // 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);
@@ -202,7 +207,9 @@
         {
             // 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:.*"))