8316447: 8 sun/management/jmxremote tests ignore VM flags

Reviewed-by: kevinw, sspitsyn
This commit is contained in:
Leonid Mesnik 2023-10-09 23:10:29 +00:00
parent 5b311f20df
commit 053f45695f
9 changed files with 17 additions and 40 deletions

@ -1,5 +1,5 @@
/*
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2013, 2023, 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
@ -173,8 +173,7 @@ public abstract class AbstractFilePermissionTest {
command.add(className);
ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder(
command.toArray(new String[command.size()]));
ProcessBuilder processBuilder = ProcessTools.createTestJvm(command);
System.out.println("test cmdline: " + Arrays.toString(processBuilder.command().toArray()).replace(",", ""));
OutputAnalyzer output = ProcessTools.executeProcess(processBuilder);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2013, 2023, 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
@ -95,9 +95,7 @@ public class CustomLauncherTest {
System.out.println(" PID : " + serverPrc.pid());
System.out.println(" shutdown port : " + port.get());
ProcessBuilder client = ProcessTools.createJavaProcessBuilder(
"-cp",
Utils.TEST_CLASS_PATH,
ProcessBuilder client = ProcessTools.createTestJvm(
"--add-exports", "jdk.management.agent/jdk.internal.agent=ALL-UNNAMED",
"TestManager",
String.valueOf(serverPrc.pid()),

@ -230,12 +230,10 @@ public class JMXAgentInterfaceBinding {
private static final String EXP_TERM_MSG_REG = "Exit: ([0-9]+)";
private static final Pattern EXIT_PATTERN = Pattern.compile(EXP_TERM_MSG_REG);
private static final String COOP_EXIT = "MainThread: Cooperative Exit";
private static final int WAIT_FOR_JMX_AGENT_TIMEOUT_MS = 20_000;
private final String addr;
private final int jmxPort;
private final int rmiPort;
private final boolean useSSL;
private boolean jmxAgentStarted = false;
private volatile Exception excptn;
private MainThread(InetAddress bindAddress, int jmxPort, int rmiPort, boolean useSSL) {
@ -269,20 +267,12 @@ public class JMXAgentInterfaceBinding {
JMXConnectorThread connectionTester = new JMXConnectorThread(
addr, jmxPort, rmiPort, useSSL, latch);
connectionTester.start();
boolean expired = false;
try {
expired = !latch.await(WAIT_FOR_JMX_AGENT_TIMEOUT_MS, TimeUnit.MILLISECONDS);
System.out.println(
"MainThread: Finished waiting for JMX agent to become available: expired == "
+ expired);
jmxAgentStarted = !expired;
latch.await();
System.out.println("MainThread: Finished waiting for JMX agent to become available.");
} catch (InterruptedException e) {
throw new RuntimeException("Test failed", e);
}
if (!jmxAgentStarted) {
throw new RuntimeException(
"Test failed. JMX server agents not becoming available.");
}
if (connectionTester.isFailed()
|| !connectionTester.jmxConnectionWorked()
|| !connectionTester.rmiConnectionWorked()) {

@ -42,7 +42,7 @@ import jdk.test.lib.process.ProcessTools;
* @modules java.management.rmi
*
* @build JMXAgentInterfaceBinding
* @run main/timeout=60 JMXInterfaceBindingTest
* @run main JMXInterfaceBindingTest
*/
public class JMXInterfaceBindingTest {
@ -65,7 +65,6 @@ public class JMXInterfaceBindingTest {
"ssl" +
File.separator +
"truststore";
public static final String TEST_CLASSPATH = System.getProperty("test.classes", ".");
public void run(List<InetAddress> addrs) {
System.out.println("DEBUG: Running tests with plain sockets.");
@ -198,8 +197,6 @@ public class JMXInterfaceBindingTest {
" == (%s,%d,%d)", address, jmxPort, rmiPort);
System.out.println(msg);
List<String> args = new ArrayList<>();
args.add("-classpath");
args.add(TEST_CLASSPATH);
args.add("-Dcom.sun.management.jmxremote.host=" + address);
args.add("-Dcom.sun.management.jmxremote.port=" + jmxPort);
args.add("-Dcom.sun.management.jmxremote.rmi.port=" + rmiPort);
@ -221,7 +218,7 @@ public class JMXInterfaceBindingTest {
args.add(Boolean.toString(useSSL));
try {
ProcessBuilder builder = ProcessTools.createJavaProcessBuilder(args.toArray(new String[]{}));
ProcessBuilder builder = ProcessTools.createTestJvm(args.toArray(new String[]{}));
System.out.println(ProcessTools.getCommandLine(builder));
Process process = builder.start();
output = new OutputAnalyzer(process);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2013, 2023, 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
@ -107,7 +107,7 @@ public class LocalManagementTest {
args.add(arg);
}
args.add("TestApplication");
ProcessBuilder server = ProcessTools.createJavaProcessBuilder(
ProcessBuilder server = ProcessTools.createTestJvm(
args.toArray(new String[args.size()])
);
@ -133,7 +133,7 @@ public class LocalManagementTest {
System.out.println(" PID : " + serverPrc.pid());
System.out.println(" shutdown port : " + port.get());
ProcessBuilder client = ProcessTools.createJavaProcessBuilder(
ProcessBuilder client = ProcessTools.createTestJvm(
"-cp",
TEST_CLASSPATH,
"--add-exports", "jdk.management.agent/jdk.internal.agent=ALL-UNNAMED",

@ -1,5 +1,5 @@
/*
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2013, 2023, 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
@ -188,7 +188,7 @@ public class RmiRegistrySslTest {
command.add(TEST_CLASS_PATH);
command.add(className);
ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder(command.toArray(new String[command.size()]));
ProcessBuilder processBuilder = ProcessTools.createTestJvm(command);
OutputAnalyzer output = ProcessTools.executeProcess(processBuilder);

@ -391,8 +391,6 @@ public class JMXStartStopTest {
private static TestAppRun doTest(String name, String ... args)
throws Exception {
List<String> pbArgs = new ArrayList<>(Arrays.asList(
"-cp",
System.getProperty("test.class.path"),
"-Duser.language=en",
"-Duser.country=US",
"-XX:+UsePerfData"
@ -400,9 +398,7 @@ public class JMXStartStopTest {
pbArgs.addAll(Arrays.asList(args));
pbArgs.add(TEST_APP_NAME);
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
pbArgs.toArray(new String[pbArgs.size()])
);
ProcessBuilder pb = ProcessTools.createTestJvm(pbArgs);
TestAppRun s = new TestAppRun(pb, name);
s.start();
return s;

@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2023, 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
@ -59,9 +59,8 @@ public class JMXStatusPerfCountersTest {
@BeforeClass
public static void setupClass() throws Exception {
testAppPb = ProcessTools.createJavaProcessBuilder(
testAppPb = ProcessTools.createTestJvm(
"-XX:+UsePerfData",
"-cp", System.getProperty("test.class.path"),
TEST_APP_NAME
);
}

@ -84,12 +84,10 @@ abstract public class JMXStatusTest {
@BeforeTest
public final void setup() throws Exception {
List<String> args = new ArrayList<>();
args.add("-cp");
args.add(System.getProperty("test.class.path"));
args.add("-XX:+UsePerfData");
args.addAll(getCustomVmArgs());
args.add(TEST_APP_NAME);
testAppPb = ProcessTools.createJavaProcessBuilder(args.toArray(new String[args.size()]));
testAppPb = ProcessTools.createTestJvm(args);
jcmd = new ManagementAgentJcmd(TEST_APP_NAME, false);
}