From 0eac6a0ae97b33af29bc20c174a4b57a5c8c20be Mon Sep 17 00:00:00 2001 From: David Beaumont Date: Thu, 14 Aug 2025 11:30:17 +0200 Subject: [PATCH] Make test helper aware of linkable images, and fix how test skipping occurs. --- test/jdk/jdk/internal/jimage/ImageReaderTest.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/test/jdk/jdk/internal/jimage/ImageReaderTest.java b/test/jdk/jdk/internal/jimage/ImageReaderTest.java index 6bdf0cf479aab..8db9a3768d49e 100644 --- a/test/jdk/jdk/internal/jimage/ImageReaderTest.java +++ b/test/jdk/jdk/internal/jimage/ImageReaderTest.java @@ -25,11 +25,12 @@ import jdk.internal.jimage.ImageReader.Node; import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.util.JarBuilder; +import jdk.tools.jlink.internal.LinkableRuntimeImage; +import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; -import org.opentest4j.TestSkippedException; import tests.Helper; import tests.JImageGenerator; @@ -54,6 +55,7 @@ * @test * @summary Tests for ImageReader. * @modules java.base/jdk.internal.jimage + * jdk.jlink/jdk.tools.jlink.internal * jdk.jlink/jdk.tools.jimage * @library /test/jdk/tools/lib * /test/lib @@ -214,15 +216,15 @@ public String toString() { /// Returns the helper for building JAR and jimage files. private static Helper getHelper() { + Helper helper; try { - Helper helper = Helper.newHelper(); - if (helper == null) { - throw new TestSkippedException("Cannot create test helper (exploded image?)"); - } - return helper; + boolean isLinkableRuntime = LinkableRuntimeImage.isLinkableRuntime(); + helper = Helper.newHelper(isLinkableRuntime); } catch (IOException e) { throw new RuntimeException(e); } + Assumptions.assumeTrue(helper != null, "Cannot create test helper, skipping test!"); + return helper; } /// Loads and performs actions on classes stored in a given `ImageReader`.