> 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 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/24811/files - new: https://git.openjdk.org/jdk/pull/24811/files/4531a969..6376fadc Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=24811&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24811&range=00-01 Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/24811.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/24811/head:pull/24811 PR: https://git.openjdk.org/jdk/pull/24811