From 6d7a6e1378a9aeb7f4dd14bf0986b0f142356f3e Mon Sep 17 00:00:00 2001 From: SendaoYan <syan@openjdk.org> Date: Mon, 18 Nov 2024 15:39:29 +0000 Subject: [PATCH] 8207908: JMXStatusTest.java fails assertion intermittently Backport-of: d0abff2f0745aa135cc9dbf6def4f260b634f107 --- .../management/jmxremote/startstop/JMXStatusTest.java | 5 ++--- .../jmxremote/startstop/ManagementAgentJcmd.java | 10 +++++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/test/jdk/sun/management/jmxremote/startstop/JMXStatusTest.java b/test/jdk/sun/management/jmxremote/startstop/JMXStatusTest.java index 1e6259ef0d7..fc1b4883220 100644 --- a/test/jdk/sun/management/jmxremote/startstop/JMXStatusTest.java +++ b/test/jdk/sun/management/jmxremote/startstop/JMXStatusTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 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 @@ -88,8 +88,6 @@ abstract public class JMXStatusTest { args.addAll(getCustomVmArgs()); args.add(TEST_APP_NAME); testAppPb = ProcessTools.createTestJavaProcessBuilder(args); - - jcmd = new ManagementAgentJcmd(TEST_APP_NAME, false); } @BeforeMethod @@ -98,6 +96,7 @@ abstract public class JMXStatusTest { TEST_APP_NAME, testAppPb, (Predicate<String>)l->l.trim().equals("main enter") ); + jcmd = new ManagementAgentJcmd(testApp, false); } @AfterMethod diff --git a/test/jdk/sun/management/jmxremote/startstop/ManagementAgentJcmd.java b/test/jdk/sun/management/jmxremote/startstop/ManagementAgentJcmd.java index 0781bc941fd..7135f6ea2db 100644 --- a/test/jdk/sun/management/jmxremote/startstop/ManagementAgentJcmd.java +++ b/test/jdk/sun/management/jmxremote/startstop/ManagementAgentJcmd.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 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 @@ -47,11 +47,11 @@ final class ManagementAgentJcmd { private static final String CMD_STATUS = "ManagementAgent.status"; private static final String CMD_PRINTPERF = "PerfCounter.print"; - private final String id; + private final long pid; private final boolean verbose; - public ManagementAgentJcmd(String targetApp, boolean verbose) { - this.id = targetApp; + public ManagementAgentJcmd(Process targetApp, boolean verbose) { + this.pid = targetApp.pid(); this.verbose = verbose; } @@ -174,7 +174,7 @@ final class ManagementAgentJcmd { * @throws InterruptedException */ private String jcmd(Consumer<String> c, String ... command) throws IOException, InterruptedException { - return jcmd(id, c, command); + return jcmd(Long.toString(pid), c, command); } /** -- GitLab