diff --git a/test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java b/test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java index c87796da47e..4a8915d4631 100644 --- a/test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java +++ b/test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java @@ -321,10 +321,11 @@ public class DockerTestUtils { private static void generateDockerFile(Path dockerfile, String baseImage, String baseImageVersion) throws Exception { - String template = - "FROM %s:%s\n" + - "RUN apt-get install libubsan1\n" + - "COPY /jdk /jdk\n" + + String template = "FROM %s:%s\n"; + if (baseImage.contains("ubuntu") && DockerfileConfig.isUbsan()) { + template += "RUN apt-get update && apt-get install -y libubsan1\n"; + } + template = template + "COPY /jdk /jdk\n" + "ENV JAVA_HOME=/jdk\n" + "CMD [\"/bin/bash\"]\n"; String dockerFileStr = String.format(template, baseImage, baseImageVersion); diff --git a/test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java b/test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java index 9d73ad185f1..caa4a5a76cc 100644 --- a/test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java +++ b/test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java @@ -37,6 +37,11 @@ import jdk.test.lib.Platform; // Note: base image version should not be an empty string. Use "latest" to get the latest version. public class DockerfileConfig { + + public static boolean isUbsan() { + return Boolean.getBoolean("jdk.test.docker.image.isUbsan"); + } + public static String getBaseImageName() { String name = System.getProperty("jdk.test.docker.image.name"); if (name != null) {