RFR: 8327704: Update nsk/jdi tests to use driver instead of othervm [v3]
Leonid Mesnik
lmesnik at openjdk.org
Tue Mar 19 21:05:22 UTC 2024
On Sat, 9 Mar 2024 05:27:43 GMT, Leonid Mesnik <lmesnik at openjdk.org> wrote:
>> vmtestbase nsk/jdi tests run 2 processes: debugger and debugee.
>> There is not need to start debugger in the separate process for each test. Also, no need to run it with "-Xcomp" because the main goal is to test debugee behavior with different VM flags.
>> This fix updates tests to run debugger as driver to optimize execution time.
>> The fix also eliminates System.exit() which is not compatible with driver/agentvm mode and update shared classes to correctly add classpath when running debugee.
>> There were few tests which still execute using othervm mode. They require some specific classpath/settings.
>> Tested by running all tests, with '-Xcomp' and virtual thread test factory.
>
> Leonid Mesnik has updated the pull request incrementally with one additional commit since the last revision:
>
> reverted failing tests.
There are othervm/native tests. I am not sure if they could be just converted.
MonitorContendedEnteredRequest/addClassFilter_ClassName/TestDescription.java:64: * @run main/othervm/native
MonitorContendedEnteredRequest/MonitorContendedEnteredRequest001/TestDescription.java:54: * @run main/othervm/native
MonitorContendedEnteredRequest/MonitorContendedEnteredRequest002/TestDescription.java:54: * @run main/othervm/native
MonitorContendedEnteredRequest/addClassFilter_ReferenceType/TestDescription.java:62: * @run main/othervm/native
MonitorContendedEnteredRequest/addClassExclusionFilter/TestDescription.java:63: * @run main/othervm/native
MonitorContendedEnteredRequest/addInstanceFilter/TestDescription.java:63: * @run main/othervm/native
MonitorContendedEnteredRequest/addThreadFilter/TestDescription.java:63: * @run main/othervm/native
MonitorContendedEnterRequest/addClassFilter_ClassName/TestDescription.java:64: * @run main/othervm/native
MonitorContendedEnterRequest/addClassFilter_ReferenceType/TestDescription.java:62: * @run main/othervm/native
MonitorContendedEnterRequest/MonitorContendedEnterRequest001/TestDescription.java:54: * @run main/othervm/native
MonitorContendedEnterRequest/addClassExclusionFilter/TestDescription.java:63: * @run main/othervm/native
MonitorContendedEnterRequest/addInstanceFilter/TestDescription.java:63: * @run main/othervm/native
MonitorContendedEnterRequest/addThreadFilter/TestDescription.java:65: * @run main/othervm/native
MonitorContendedEnterRequest/MonitorContendedEnterRequest002/TestDescription.java:54: * @run main/othervm/native
MethodExitEvent/returnValue/returnValue004/returnValue004.java:50: * @run main/othervm/native
ThreadReference/forceEarlyReturn/forceEarlyReturn005/forceEarlyReturn005.java:54: * @run main/othervm/native
ThreadReference/forceEarlyReturn/forceEarlyReturn004/forceEarlyReturn004.java:42: * @run main/othervm/native
ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames004/ownedMonitorsAndFrames004.java:48: * @run main/othervm/native
ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames009/ownedMonitorsAndFrames009.java:47: * @run main/othervm/native
ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames002/ownedMonitorsAndFrames002.java:52: * @run main/othervm/native
ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames007/ownedMonitorsAndFrames007.java:54: * @run main/othervm/native
ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames008/TestDescription.java:57: * @run main/othervm/native
ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames006/ownedMonitorsAndFrames006.java:51: * @run main/othervm/native
ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames003/ownedMonitorsAndFrames003.java:51: * @run main/othervm/native
ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames005/ownedMonitorsAndFrames005.java:48: * @run main/othervm/native
ReferenceType/instances/instances001/instances001.java:62: * @run main/othervm/native
ReferenceType/instances/instances004/TestDescription.java:49: * @run main/othervm/native
ReferenceType/instances/instances002/instances002.java:44: * @run main/othervm/native
ReferenceType/instances/instances005/instances005.java:44: * @run main/othervm/native
ReferenceType/instances/instances003/instances003.java:48: * @run main/othervm/native
ObjectReference/referringObjects/referringObjects003/referringObjects003.java:60: * @run main/othervm/native
ObjectReference/referringObjects/referringObjects002/referringObjects002.java:61: * @run main/othervm/native
ObjectReference/referringObjects/referringObjects001/referringObjects001.java:60: * @run main/othervm/native
ObjectReference/referringObjects/referringObjects004/referringObjects004.java:44: * @run main/othervm/native
stress/MonitorEvents/MonitorEvents001/TestDescription.java:62: * @run main/othervm/native
stress/MonitorEvents/MonitorEvents002/TestDescription.java:62: * @run main/othervm/native
stress/serial/ownedMonitorsAndFrames002/TestDescription.java:61: * @run main/othervm/native
stress/serial/mixed001/TestDescription.java:68: * @run main/othervm/native
stress/serial/monitorEvents002/TestDescription.java:58: * @run main/othervm/native
stress/serial/ownedMonitorsAndFrames001/TestDescription.java:57: * @run main/othervm/native
stress/serial/mixed002/TestDescription.java:66: * @run main/othervm/native
stress/serial/monitorEvents001/TestDescription.java:56: * @run main/othervm/native
stress/serial/heapwalking002/TestDescription.java:60: * @run main/othervm/native
stress/serial/heapwalking001/TestDescription.java:58: * @run main/othervm/native
stress/serial/forceEarlyReturn002/TestDescription.java:66: * @run main/othervm/native
stress/serial/forceEarlyReturn001/TestDescription.java:64: * @run main/othervm/native
VirtualMachine/instanceCounts/instancecounts002/TestDescription.java:51: * @run main/othervm/native
VirtualMachine/instanceCounts/instancecounts001/instancecounts001.java:50: * @run main/othervm/native
and a bunch of tests for launching/connecting.
They customized connection.
VirtualMachineManager/createVirtualMachine/createVM004/TestDescription.java:52: * @run main/othervm
VirtualMachineManager/createVirtualMachine/createVM003/TestDescription.java:51: * @run main/othervm
VirtualMachineManager/createVirtualMachine/createVM005/TestDescription.java:51: * @run main/othervm
ListeningConnector/accept/accept002/TestDescription.java:48: * @run main/othervm
ListeningConnector/accept/accept001/TestDescription.java:48: * @run main/othervm
ListeningConnector/startListening/startlis001/TestDescription.java:55: * @run main/othervm
ListeningConnector/startListening/startlis002/TestDescription.java:57: * @run main/othervm
ListeningConnector/listennosuspend/listennosuspend001/TestDescription.java:42: * @run main/othervm
AttachingConnector/attachnosuspend/attachnosuspend001/TestDescription.java:45: * @run main/othervm
AttachingConnector/attach/attach002/TestDescription.java:52: * @run main/othervm
AttachingConnector/attach/attach001/TestDescription.java:50: * @run main/othervm
PlugConnectors/AttachConnector/plugAttachConnect002/plugAttachConnect002.java:68: * @run main/othervm
PlugConnectors/AttachConnector/plugAttachConnect003/plugAttachConnect003.java:53: * @run main/othervm
PlugConnectors/AttachConnector/plugAttachConnect001/plugAttachConnect001.java:60: * @run main/othervm
PlugConnectors/ListenConnector/plugListenConnect002/plugListenConnect002.java:68: * @run main/othervm
PlugConnectors/ListenConnector/plugListenConnect001/plugListenConnect001.java:60: * @run main/othervm
PlugConnectors/ListenConnector/plugListenConnect003/plugListenConnect003.java:53: * @run main/othervm
PlugConnectors/LaunchConnector/plugLaunchConnect003/plugLaunchConnect003.java:53: * @run main/othervm
PlugConnectors/LaunchConnector/plugLaunchConnect002/plugLaunchConnect002.java:68: * @run main/othervm
PlugConnectors/LaunchConnector/plugLaunchConnect001/plugLaunchConnect001.java:60: * @run main/othervm
PlugConnectors/MultiConnectors/plugMultiConnect006/plugMultiConnect006.java:111: * @run main/othervm
PlugConnectors/MultiConnectors/plugMultiConnect003/plugMultiConnect003.java:89: * @run main/othervm
PlugConnectors/MultiConnectors/plugMultiConnect002/plugMultiConnect002.java:83: * @run main/othervm
PlugConnectors/MultiConnectors/plugMultiConnect004/plugMultiConnect004.java:98: * @run main/othervm
PlugConnectors/MultiConnectors/plugMultiConnect005/plugMultiConnect005.java:99: * @run main/othervm
PlugConnectors/MultiConnectors/plugMultiConnect001/plugMultiConnect001.java:71: * @run main/othervm
PlugConnectors/TransportService/transportService001/transportService001.java:77: * @run main/othervm
PlugConnectors/TransportService/transportService003/transportService003.java:54: * @run main/othervm
PlugConnectors/TransportService/transportService002/transportService002.java:77: * @run main/othervm
Argument/value/value003/TestDescription.java:56: * @run main/othervm
Argument/value/value004/TestDescription.java:55: * @run main/othervm
LaunchingConnector/launchnosuspend/launchnosuspend001/TestDescription.java:42: * @run main/othervm
LaunchingConnector/launch/launch002/TestDescription.java:50: * @run main/othervm
LaunchingConnector/launch/launch001/TestDescription.java:50: * @run main/othervm
LaunchingConnector/launch/launch004/TestDescription.java:50: * @run main/othervm
LaunchingConnector/launch/launch003/TestDescription.java:50: * @run main/othervm
-------------
PR Comment: https://git.openjdk.org/jdk/pull/18174#issuecomment-2008130095
More information about the serviceability-dev
mailing list