--- a/langtools/test/tools/javac/api/ToolProvider/ToolProviderTest.java Thu Oct 20 13:44:51 2016 -0700
+++ b/langtools/test/tools/javac/api/ToolProvider/ToolProviderTest.java Thu Oct 20 16:31:42 2016 -0700
@@ -21,8 +21,11 @@
* questions.
*/
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Objects;
import javax.tools.ToolProvider;
-import java.util.Objects;
/**
* @test
@@ -36,6 +39,18 @@
// run in other vm to ensure the initialization code path is exercised.
public class ToolProviderTest {
public static void main(String... args) {
+ // The following code allows the test to be skipped when run on
+ // an exploded image.
+ // See https://bugs.openjdk.java.net/browse/JDK-8155858
+ Path javaHome = Paths.get(System.getProperty("java.home"));
+ Path image = javaHome.resolve("lib").resolve("modules");
+ Path modules = javaHome.resolve("modules");
+ if (!Files.exists(image) && Files.exists(modules)) {
+ System.err.println("Test running on exploded image");
+ System.err.println("Test skipped!");
+ return;
+ }
+
System.setSecurityManager(new SecurityManager());
Objects.requireNonNull(ToolProvider.getSystemDocumentationTool());