From cd7d17500171ff20a2d919a4e9d5de0399304d4d Mon Sep 17 00:00:00 2001
From: Alexander Scherbatiy <alexsch@openjdk.org>
Date: Thu, 19 Mar 2020 14:58:04 +0300
Subject: [PATCH] 8240604: Rewrite
 sun/management/jmxremote/bootstrap/CustomLauncherTest.java test to make
 binaries from source file

Reviewed-by: iignatyev
---
 make/test/JtregNativeJdk.gmk                  |   5 +-
 .../bootstrap/CustomLauncherTest.java         | 174 +++---------------
 .../management/jmxremote/bootstrap/Makefile   |  80 --------
 .../bootstrap/{launcher.c => exelauncher.c}   |   6 +-
 .../jmxremote/bootstrap/linux-amd64/launcher  | Bin 8926 -> 0 bytes
 .../jmxremote/bootstrap/linux-i586/launcher   | Bin 14569 -> 0 bytes
 .../bootstrap/solaris-amd64/launcher          | Bin 12056 -> 0 bytes
 .../bootstrap/solaris-sparcv9/launcher        | Bin 11656 -> 0 bytes
 8 files changed, 29 insertions(+), 236 deletions(-)
 delete mode 100644 test/jdk/sun/management/jmxremote/bootstrap/Makefile
 rename test/jdk/sun/management/jmxremote/bootstrap/{launcher.c => exelauncher.c} (95%)
 delete mode 100644 test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher
 delete mode 100644 test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher
 delete mode 100644 test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher
 delete mode 100644 test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher

diff --git a/make/test/JtregNativeJdk.gmk b/make/test/JtregNativeJdk.gmk
index d98016e0e65..e0541a89110 100644
--- a/make/test/JtregNativeJdk.gmk
+++ b/make/test/JtregNativeJdk.gmk
@@ -55,7 +55,7 @@ BUILD_JDK_JTREG_EXECUTABLES_CFLAGS_exeJliLaunchTest := \
 
 # Platform specific setup
 ifeq ($(call isTargetOs, windows), true)
-  BUILD_JDK_JTREG_EXCLUDE += libDirectIO.c libInheritedChannel.c
+  BUILD_JDK_JTREG_EXCLUDE += libDirectIO.c libInheritedChannel.c exelauncher.c
 
   WIN_LIB_JAVA := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
   BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := $(WIN_LIB_JAVA)
@@ -69,14 +69,17 @@ else
   BUILD_JDK_JTREG_EXCLUDE += exerevokeall.c
   ifeq ($(call isTargetOs, linux), true)
     BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
+    BUILD_JDK_JTREG_EXECUTABLES_LIBS_exelauncher := -ldl
   else ifeq ($(call isTargetOs, solaris), true)
     BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava -lsocket -lnsl
+    BUILD_JDK_JTREG_EXECUTABLES_LIBS_exelauncher := -lthread -ldl
   endif
   BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := -ljli
   BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeCallerAccessTest := -ljvm
 endif
 
 ifeq ($(call isTargetOs, macosx), true)
+  BUILD_JDK_JTREG_EXCLUDE += exelauncher.c
   BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libTestMainKeyWindow := -ObjC
   BUILD_JDK_JTREG_LIBRARIES_LIBS_libTestMainKeyWindow := -framework JavaVM \
       -framework Cocoa -framework JavaNativeFoundation
diff --git a/test/jdk/sun/management/jmxremote/bootstrap/CustomLauncherTest.java b/test/jdk/sun/management/jmxremote/bootstrap/CustomLauncherTest.java
index 880edd756b0..5108549b96f 100644
--- a/test/jdk/sun/management/jmxremote/bootstrap/CustomLauncherTest.java
+++ b/test/jdk/sun/management/jmxremote/bootstrap/CustomLauncherTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020, 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
@@ -21,22 +21,16 @@
  * questions.
  */
 
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.FileSystem;
-import java.nio.file.FileSystems;
+import jdk.test.lib.Utils;
+import jdk.test.lib.Platform;
+import jdk.test.lib.process.ProcessTools;
+
 import java.nio.file.Files;
-import java.nio.file.LinkOption;
 import java.nio.file.Path;
-import java.nio.file.StandardCopyOption;
-import java.nio.file.attribute.PosixFilePermission;
-import java.util.HashSet;
-import java.util.Set;
+import java.nio.file.Paths;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
 
-import jdk.test.lib.process.ProcessTools;
-
 /**
  * @test
  * @bug 6434402 8004926
@@ -47,80 +41,35 @@ import jdk.test.lib.process.ProcessTools;
  *          jdk.attach
  *          jdk.management.agent/jdk.internal.agent
  *
+ * @requires (os.family == "linux" | os.family == "solaris")
  * @build TestManager TestApplication CustomLauncherTest
- * @run main/othervm CustomLauncherTest
+ * @run main/othervm/native CustomLauncherTest
  */
 public class CustomLauncherTest {
-    private static final  String TEST_CLASSPATH = System.getProperty("test.class.path");
-    private static final  String TEST_JDK = System.getProperty("test.jdk");
-    private static final  String WORK_DIR = System.getProperty("user.dir");
 
-    private static final  String TEST_SRC = System.getProperty("test.src");
-    private static final  String OSNAME = System.getProperty("os.name");
-    private static final  String ARCH;
-    static {
-        // magic with os.arch
-        String osarch = System.getProperty("os.arch");
-        switch (osarch) {
-            case "i386":
-            case "i486":
-            case "i586":
-            case "i686":
-            case "i786":
-            case "i886":
-            case "i986": {
-                ARCH = "i586";
-                break;
-            }
-            case "x86_64":
-            case "amd64": {
-                ARCH = "amd64";
-                break;
-            }
-            case "sparc":
-                ARCH = "sparcv9";
-                break;
-            default: {
-                ARCH = osarch;
-            }
-        }
-    }
+    public static final String TEST_NATIVE_PATH = System.getProperty("test.nativepath");
 
     public static void main(String[] args) throws Exception {
-        if (TEST_CLASSPATH == null || TEST_CLASSPATH.isEmpty()) {
+        if (".".equals(Utils.TEST_CLASS_PATH)) {
             System.out.println("Test is designed to be run from jtreg only");
             return;
         }
 
-        if (getPlatform() == null) {
-            System.out.println("Test not designed to run on this operating " +
-                                "system (" + OSNAME + "), skipping...");
-            return;
-        }
-
-        final FileSystem FS = FileSystems.getDefault();
-
-        Path libjvmPath = findLibjvm(FS);
-        if (libjvmPath == null) {
-            throw new Error("Unable to locate 'libjvm.so' in " + TEST_JDK);
-        }
-
+        Path libjvm = Platform.jvmLibDir().resolve("libjvm.so");
         Process serverPrc = null, clientPrc = null;
 
         try {
-            String[] launcher = getLauncher();
-
-            if (launcher == null) return; // launcher not available for the tested platform; skip
+            String launcher = getLauncher();
 
             System.out.println("Starting custom launcher:");
             System.out.println("=========================");
-            System.out.println("  launcher  : " + launcher[0]);
-            System.out.println("  libjvm    : " + libjvmPath.toString());
-            System.out.println("  classpath : " + TEST_CLASSPATH);
+            System.out.println("  launcher  : " + launcher);
+            System.out.println("  libjvm    : " + libjvm);
+            System.out.println("  classpath : " + Utils.TEST_CLASS_PATH);
             ProcessBuilder server = new ProcessBuilder(
-                launcher[1],
-                libjvmPath.toString(),
-                TEST_CLASSPATH,
+                launcher,
+                libjvm.toString(),
+                Utils.TEST_CLASS_PATH,
                 "TestApplication"
             );
 
@@ -148,7 +97,7 @@ public class CustomLauncherTest {
 
             ProcessBuilder client = ProcessTools.createJavaProcessBuilder(
                 "-cp",
-                TEST_CLASSPATH,
+                Utils.TEST_CLASS_PATH,
                 "--add-exports", "jdk.management.agent/jdk.internal.agent=ALL-UNNAMED",
                 "TestManager",
                 String.valueOf(serverPrc.pid()),
@@ -182,87 +131,8 @@ public class CustomLauncherTest {
         }
     }
 
-    private static Path findLibjvm(FileSystem FS) {
-        Path libjvmPath = findLibjvm(FS.getPath(TEST_JDK, "lib"));
-        return libjvmPath;
-    }
-
-    private static Path findLibjvm(Path libPath) {
-        // libjvm.so -> server/libjvm.so -> client/libjvm.so
-        Path libjvmPath = libPath.resolve("libjvm.so");
-        if (isFileOk(libjvmPath)) {
-            return libjvmPath;
-        }
-        libjvmPath = libPath.resolve("server/libjvm.so");
-        if (isFileOk(libjvmPath)) {
-            return libjvmPath;
-        }
-        libjvmPath = libPath.resolve("client/libjvm.so");
-        if (isFileOk(libPath)) {
-            return libjvmPath;
-        }
-
-        return null;
-    }
-
-    private static boolean isFileOk(Path path) {
-        return Files.isRegularFile(path) && Files.isReadable(path);
-    }
-
-    private static String getPlatform() {
-        String platform = null;
-        switch (OSNAME.toLowerCase()) {
-            case "linux": {
-                platform = "linux";
-                break;
-            }
-            case "sunos": {
-                platform = "solaris";
-                break;
-            }
-            default: {
-                platform = null;
-            }
-        }
-
-        return platform;
-    }
-
-    private static String[] getLauncher() throws IOException {
-        String platform = getPlatform();
-        if (platform == null) {
-            return null;
-        }
-
-        String launcher = TEST_SRC + File.separator + platform + "-" + ARCH +
-                          File.separator + "launcher";
-
-        final FileSystem FS = FileSystems.getDefault();
-        Path launcherPath = FS.getPath(launcher);
-
-        final boolean hasLauncher = Files.isRegularFile(launcherPath, LinkOption.NOFOLLOW_LINKS)&&
-                                    Files.isReadable(launcherPath);
-        if (!hasLauncher) {
-            System.out.println("Launcher [" + launcher + "] does not exist. Skipping the test.");
-            return null;
-        }
-
-        // It is impossible to store an executable file in the source control
-        // We need to copy the launcher to the working directory
-        // and set the executable flag
-        Path localLauncherPath = FS.getPath(WORK_DIR, "launcher");
-        Files.copy(launcherPath, localLauncherPath,
-                   StandardCopyOption.REPLACE_EXISTING);
-        if (!Files.isExecutable(localLauncherPath)) {
-            Set<PosixFilePermission> perms = new HashSet<>(
-                Files.getPosixFilePermissions(
-                    localLauncherPath,
-                    LinkOption.NOFOLLOW_LINKS
-                )
-            );
-            perms.add(PosixFilePermission.OWNER_EXECUTE);
-            Files.setPosixFilePermissions(localLauncherPath, perms);
-        }
-        return new String[] {launcher, localLauncherPath.toAbsolutePath().toString()};
+    private static String getLauncher() {
+        Path launcherPath = Paths.get(TEST_NATIVE_PATH, "launcher");
+        return launcherPath.toAbsolutePath().toString();
     }
 }
diff --git a/test/jdk/sun/management/jmxremote/bootstrap/Makefile b/test/jdk/sun/management/jmxremote/bootstrap/Makefile
deleted file mode 100644
index 9e1fc922db6..00000000000
--- a/test/jdk/sun/management/jmxremote/bootstrap/Makefile
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright (c) 2006, 2007, 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
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-
-#
-# This Makefile is used to generate versions of the launcher program for
-# use by the CustomLauncherTest.  The binaries are checked into SCCS
-# so this Makefile is not used as part of test run.  It is provided to
-# make rebuilding the launcher binaries a relatively painless activity.
-#
-
-#
-# Edit the following to reflect the current build environment.
-#
-# Architecture being built (initially one of: solaris-sparc, solaris-i586,
-# linux-i586.
-#
-PLATFORM=solaris
-ARCH=sparc
-OUTPUT_DIR =$(PLATFORM)-$(ARCH)
-
-#
-# Path to C compiler
-#
-# As of 6/1/06:
-#	Solaris	CC=/java/devtools/$(ARCH)/SUNWspro/SS11/bin/cc
-#	Linux	CC=/usr/bin/gcc
-#
-CC=/java/devtools/$(ARCH)/SUNWspro/SS11/bin/cc
-
-#
-# Include directory in JRE or JDK install
-#
-JINCLUDE=/java/re/jdk/1.6.0/latest/binaries/$(OUTPUT_DIR)/include
-
-#
-# PLATFORM dependent flags
-#
-# On pre-Solaris 10, -lthread is required.
-#
-ifeq ($(PLATFORM), solaris)
-	PLATFORM_LIBS= -lthread
-else
-	PLATFORM_LIBS=
-endif
-
-#
-# Targets
-#
-all: install
-
-$(PLATFORM):
-	mkdir $(OUTPUT_DIR) $(OUTPUT_DIR)/SCCS
-
-install: $(PLATFORM)
-	$(CC) -I$(JINCLUDE) -I$(JINCLUDE)/$(PLATFORM) \
-		-o $(OUTPUT_DIR)/launcher launcher.c $(PLATFORM_LIBS) -ldl
-
-clean:
-
-
-clobber: clean
-	rm $(OUTPUT_DIR)/launcher
diff --git a/test/jdk/sun/management/jmxremote/bootstrap/launcher.c b/test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c
similarity index 95%
rename from test/jdk/sun/management/jmxremote/bootstrap/launcher.c
rename to test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c
index e11fea33584..46f30d9e157 100644
--- a/test/jdk/sun/management/jmxremote/bootstrap/launcher.c
+++ b/test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2020, 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
@@ -22,11 +22,11 @@
  */
 
 /*
- * A minature launcher for use by CustomLauncherTest.sh.  It sets
+ * A miniature launcher for use by CustomLauncherTest.java test. It sets
  * up the absolute minimal execution environment.
  */
 #include <stdlib.h>
-#include <strings.h>
+#include <string.h>
 #include <dlfcn.h>
 
 #include "jni.h"
diff --git a/test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher b/test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher
deleted file mode 100644
index 6df223c91c716644ceeed126c2971c48969fa295..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8926
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
F{tZumU3&lk

diff --git a/test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher b/test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher
deleted file mode 100644
index 072d8048f82fa42d9c082e667c23abbde687bdc5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14569
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
KbF`*}g!(_byuw}p

diff --git a/test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher b/test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher
deleted file mode 100644
index ac766def9e6f529610684844d3e55f8880bcd9db..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12056
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

diff --git a/test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher b/test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher
deleted file mode 100644
index 8ac4061b52023f8ab8a462365e49033092684485..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11656
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
B5zqht