RFR: 8272854: split runtime/CommandLine/PrintTouchedMethods.java test
Ioi Lam
iklam at openjdk.java.net
Wed Oct 20 21:12:03 UTC 2021
On Mon, 23 Aug 2021 21:30:07 GMT, Igor Ignatyev <iignatyev at openjdk.org> wrote:
> Hi all,
>
> could you please review this patch that extracts part of `runtime/CommandLine/PrintTouchedMethods.java` test to `runtime/CommandLine/PrintTouchedMethodsJcmd.java`?
>
> from JBS:
>> part of `runtime/CommandLine/PrintTouchedMethods.java` test can be done in a driver mode and ignore external flags, while another part should be executed in an othervm mode. to make execution mode efficient, the test can be split into two.
>
> testing: ``runtime/CommandLine/` on `{linux,windows,macos}-x64`
>
> -- Igor
LGTM. A nit about an existing problem in the test case.
test/hotspot/jtreg/runtime/CommandLine/PrintTouchedMethodsJcmd.java line 47:
> 45: output.shouldContain("PrintTouchedMethodsJcmd.main:([Ljava/lang/String;)V");
> 46: } catch (RuntimeException e) {
> 47: output.shouldContain("Unknown diagnostic command");
I think this is an existing bug. Do we need this catch block? TouchedMethodsDCmd is always enabled as long as the current JVM has INCLUDE_SERVICES is true. If INCLUDE_SERVICES is false, the jcmd connection will fail, and you will get a different error, like
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file /proc/18810/root/tmp/.java_pid18810: target process 18810 doesn't respond within 10500ms or HotSpot VM not loaded
The catch block will incorrectly ignore the problem if the VM is incorrectly modified and the TouchedMethodsDCmd is inadvently excluded.
-------------
Marked as reviewed by iklam (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/5231
More information about the hotspot-runtime-dev
mailing list