From 4c89a63a812b98dad33c6838360b813e0869a0c1 Mon Sep 17 00:00:00 2001
From: Goetz Lindenmaier <goetz@openjdk.org>
Date: Mon, 4 Nov 2024 08:02:54 +0000
Subject: [PATCH] 8334057: JLinkReproducibleTest.java support receive
 test.tool.vm.opts

Backport-of: 8feabc849ba2f617c8c6dbb2ec5074297beb6437
---
 test/jdk/tools/jlink/JLinkReproducibleTest.java | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/test/jdk/tools/jlink/JLinkReproducibleTest.java b/test/jdk/tools/jlink/JLinkReproducibleTest.java
index 09591dabe17..da9e2aa1dfc 100644
--- a/test/jdk/tools/jlink/JLinkReproducibleTest.java
+++ b/test/jdk/tools/jlink/JLinkReproducibleTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,9 @@ import jdk.test.lib.process.ProcessTools;
  * @run driver JLinkReproducibleTest
  */
 public class JLinkReproducibleTest {
+
+    private static final String TOOL_VM_OPTIONS = System.getProperty("test.tool.vm.opts", "");
+
     private static void run(List<String> cmd) throws Exception {
         var pb = new ProcessBuilder(cmd.toArray(new String[0]));
         var res = ProcessTools.executeProcess(pb);
@@ -46,6 +49,9 @@ public class JLinkReproducibleTest {
     private static void jlink(Path image, boolean with_default_trace_file) throws Exception {
         var cmd = new ArrayList<String>();
         cmd.add(JDKToolFinder.getJDKTool("jlink"));
+        if (!TOOL_VM_OPTIONS.isEmpty()) {
+            cmd.addAll(Arrays.asList(TOOL_VM_OPTIONS.split("\\s+", -1)));
+        }
         cmd.addAll(List.of(
             "--module-path", JMODS_DIR.toString() + File.pathSeparator + CLASS_DIR.toString(),
             "--add-modules", "main",
-- 
GitLab