mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-03 17:59:46 +02:00
GP-0: Fix breakpoint-marker tests (adjust waitOn's)
This commit is contained in:
parent
33323f11f2
commit
d973740105
1 changed files with 16 additions and 2 deletions
|
@ -483,9 +483,13 @@ public abstract class AbstractDebuggerBreakpointMarkerPluginTest<T>
|
||||||
addMappedBreakpointOpenAndWait(); // wasteful, but whatever
|
addMappedBreakpointOpenAndWait(); // wasteful, but whatever
|
||||||
for (LogicalBreakpoint lb : List.copyOf(breakpointService.getAllBreakpoints())) {
|
for (LogicalBreakpoint lb : List.copyOf(breakpointService.getAllBreakpoints())) {
|
||||||
TraceBreakpoint brk = Unique.assertOne(lb.getTraceBreakpoints(tb.trace));
|
TraceBreakpoint brk = Unique.assertOne(lb.getTraceBreakpoints(tb.trace));
|
||||||
waitOn(lb.delete());
|
CompletableFuture<Void> delete = lb.delete();
|
||||||
handleDeleteBreakpointInvocation(brk);
|
handleDeleteBreakpointInvocation(brk);
|
||||||
|
waitOn(delete);
|
||||||
}
|
}
|
||||||
|
waitForDomainObject(program);
|
||||||
|
waitForDomainObject(tb.trace);
|
||||||
|
waitOn(breakpointService.changesSettled());
|
||||||
waitForPass(() -> assertEquals(0, breakpointService.getAllBreakpoints().size()));
|
waitForPass(() -> assertEquals(0, breakpointService.getAllBreakpoints().size()));
|
||||||
|
|
||||||
try (Transaction tx = program.openTransaction("Disassemble")) {
|
try (Transaction tx = program.openTransaction("Disassemble")) {
|
||||||
|
@ -501,6 +505,9 @@ public abstract class AbstractDebuggerBreakpointMarkerPluginTest<T>
|
||||||
waitForDialogComponent(DebuggerPlaceBreakpointDialog.class);
|
waitForDialogComponent(DebuggerPlaceBreakpointDialog.class);
|
||||||
runSwing(() -> dialog.okCallback());
|
runSwing(() -> dialog.okCallback());
|
||||||
handleSetBreakpointInvocation(TraceBreakpointKindSet.SW_EXECUTE, 0x55550123);
|
handleSetBreakpointInvocation(TraceBreakpointKindSet.SW_EXECUTE, 0x55550123);
|
||||||
|
waitForDomainObject(program);
|
||||||
|
waitForDomainObject(tb.trace);
|
||||||
|
waitOn(breakpointService.changesSettled());
|
||||||
|
|
||||||
waitForPass(() -> {
|
waitForPass(() -> {
|
||||||
LogicalBreakpoint lb = Unique.assertOne(breakpointService.getAllBreakpoints());
|
LogicalBreakpoint lb = Unique.assertOne(breakpointService.getAllBreakpoints());
|
||||||
|
@ -515,9 +522,13 @@ public abstract class AbstractDebuggerBreakpointMarkerPluginTest<T>
|
||||||
addMappedBreakpointOpenAndWait(); // wasteful, but whatever
|
addMappedBreakpointOpenAndWait(); // wasteful, but whatever
|
||||||
for (LogicalBreakpoint lb : List.copyOf(breakpointService.getAllBreakpoints())) {
|
for (LogicalBreakpoint lb : List.copyOf(breakpointService.getAllBreakpoints())) {
|
||||||
TraceBreakpoint brk = Unique.assertOne(lb.getTraceBreakpoints(tb.trace));
|
TraceBreakpoint brk = Unique.assertOne(lb.getTraceBreakpoints(tb.trace));
|
||||||
waitOn(lb.delete());
|
CompletableFuture<Void> delete = lb.delete();
|
||||||
handleDeleteBreakpointInvocation(brk);
|
handleDeleteBreakpointInvocation(brk);
|
||||||
|
waitOn(delete);
|
||||||
}
|
}
|
||||||
|
waitForDomainObject(program);
|
||||||
|
waitForDomainObject(tb.trace);
|
||||||
|
waitOn(breakpointService.changesSettled());
|
||||||
waitForPass(() -> assertEquals(0, breakpointService.getAllBreakpoints().size()));
|
waitForPass(() -> assertEquals(0, breakpointService.getAllBreakpoints().size()));
|
||||||
|
|
||||||
try (Transaction tx = program.openTransaction("Disassemble")) {
|
try (Transaction tx = program.openTransaction("Disassemble")) {
|
||||||
|
@ -532,6 +543,9 @@ public abstract class AbstractDebuggerBreakpointMarkerPluginTest<T>
|
||||||
waitForDialogComponent(DebuggerPlaceBreakpointDialog.class);
|
waitForDialogComponent(DebuggerPlaceBreakpointDialog.class);
|
||||||
runSwing(() -> dialog.okCallback());
|
runSwing(() -> dialog.okCallback());
|
||||||
handleSetBreakpointInvocation(TraceBreakpointKindSet.ACCESS, 0x55550123);
|
handleSetBreakpointInvocation(TraceBreakpointKindSet.ACCESS, 0x55550123);
|
||||||
|
waitForDomainObject(program);
|
||||||
|
waitForDomainObject(tb.trace);
|
||||||
|
waitOn(breakpointService.changesSettled());
|
||||||
|
|
||||||
waitForPass(() -> {
|
waitForPass(() -> {
|
||||||
LogicalBreakpoint lb = Unique.assertOne(breakpointService.getAllBreakpoints());
|
LogicalBreakpoint lb = Unique.assertOne(breakpointService.getAllBreakpoints());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue