On Wed, 23 Apr 2025 21:12:23 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:
>> There is an nsk/jdi superclass called JDIBase that many tests inherit from. >> It provides common functionality like log support, basic event handling, >> support for setting a breakpoint, and support for the communication >> breakpoint that the debugger and debuggee use to synchronize with. >> disable001 does not inherit from JDIBase and instead implements all this >> functionality in the test. The reason is because it provides a slightly >> modified version of the JDIBase.settingBreakpoint() method. The main change >> is the presence of the following in settingBreakpoint(): >> >> >> // this is only for this test to get Location object >> location = lineLocation; >> >> >> And then in the test: >> >> >> case 11: >> log2(".....setting up BreakpointRequest"); >> eventRequest1 = >> eventRManager.createBreakpointRequest(location); >> break; >> >> >> However, now JDIBase.settingBreakpoint() now contains: >> >> >> lineLocation = (Location) alllineLocations.get(n); >> breakpLocation = lineLocation; >> >> >> So the test can just use breakpLocation instead. This pattern is already >> replicated in a large number of tests. >> >> The other difference in the disable001 version of settingBreakpoint() is >> that is uses SUSPEND_ALL rather than SUSPEND_EVENT_THREAD. This is easily >> fixed after setting up the breakpoint request: >> >> BreakpointRequest bpRequest = settingBreakpoint(mainThread, >> debuggeeClass, >> bPointMethod, lineForComm, >> "zero"); >> bpRequest.setSuspendPolicy(EventRequest.SUSPEND_ALL); >> >> The test uses JDIBase now and all the code replicated from JDIBase has been >> stripped out. It is also updated to use the new >> JDIBase.setupBreakpointForCommunication() method. > > Chris Plummer has updated the pull request incrementally with one additional > commit since the last revision: > > Add comment Thank you for the reviews Alex and Leonid! ------------- PR Comment: https://git.openjdk.org/jdk/pull/24811#issuecomment-2828325235