From 7933e45cda7e3eaeabd3b3fa81492ade8e1cc2dc Mon Sep 17 00:00:00 2001 From: Matthias Baesken <mbaesken@openjdk.org> Date: Tue, 20 Aug 2024 10:43:16 +0000 Subject: [PATCH] 8338550: Do libubsan1 installation in test container only if requested Reviewed-by: sgehwolf --- .../jdk/test/lib/containers/docker/DockerTestUtils.java | 9 +++++---- .../jdk/test/lib/containers/docker/DockerfileConfig.java | 5 +++++ 2 files changed, 10 insertions(+), 4 deletions(-) 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) {