GP-0: Fix tests.

This commit is contained in:
Dan
2025-05-16 13:49:54 +00:00
parent 3872a6212f
commit 04609f52da
4 changed files with 20 additions and 9 deletions
@@ -388,6 +388,12 @@ public abstract class AbstractGdbTraceRmiTest extends AbstractGhidraHeadedDebugg
return new MemDump(address, buf.toByteArray());
}
protected void waitDomainObjectClosed(String path) {
DomainFile df = env.getProject().getProjectData().getFile(path);
assertNotNull(df);
waitForPass(() -> assertFalse(df.isOpen()));
}
protected ManagedDomainObject openDomainObject(String path) throws Exception {
DomainFile df = env.getProject().getProjectData().getFile(path);
assertNotNull(df);
@@ -160,7 +160,6 @@ public class GdbCommandsTest extends AbstractGdbTraceRmiTest {
@Test
public void testStopTrace() throws Exception {
// TODO: This test assumes gdb and the target file bash are x86-64
runThrowError(addr -> """
%s
ghidra trace connect %s
@@ -169,10 +168,8 @@ public class GdbCommandsTest extends AbstractGdbTraceRmiTest {
ghidra trace stop
quit
""".formatted(PREAMBLE, addr));
DomainFile dfBash = env.getProject().getProjectData().getFile("/New Traces/gdb/bash");
assertNotNull(dfBash);
// TODO: Given the 'quit' command, I'm not sure this assertion is checking anything.
assertFalse(dfBash.isOpen());
// NOTE: Given the 'quit' command, I'm not sure this assertion is checking anything.
waitDomainObjectClosed("/New Traces/gdb/bash");
}
@Test
@@ -278,6 +275,7 @@ public class GdbCommandsTest extends AbstractGdbTraceRmiTest {
ghidra trace tx-commit
quit
""".formatted(PREAMBLE, addr));
waitDomainObjectClosed("/New Traces/no-save");
try (ManagedDomainObject mdo = openDomainObject("/New Traces/no-save")) {
tb = new ToyDBTraceBuilder((Trace) mdo.get());
assertEquals(0, tb.trace.getTimeManager().getAllSnapshots().size());
@@ -294,6 +292,7 @@ public class GdbCommandsTest extends AbstractGdbTraceRmiTest {
ghidra trace save
quit
""".formatted(PREAMBLE, addr));
waitDomainObjectClosed("/New Traces/save");
try (ManagedDomainObject mdo = openDomainObject("/New Traces/save")) {
tb = new ToyDBTraceBuilder((Trace) mdo.get());
assertEquals(1, tb.trace.getTimeManager().getAllSnapshots().size());
@@ -418,6 +418,12 @@ public abstract class AbstractLldbTraceRmiTest extends AbstractGhidraHeadedDebug
return new MemDump(address, buf.toByteArray());
}
protected void waitDomainObjectClosed(String path) {
DomainFile df = env.getProject().getProjectData().getFile(path);
assertNotNull(df);
waitForPass(() -> assertFalse(df.isOpen()));
}
protected ManagedDomainObject openDomainObject(String path) throws Exception {
DomainFile df = env.getProject().getProjectData().getFile(path);
assertNotNull(df);
@@ -167,10 +167,8 @@ public class LldbCommandsTest extends AbstractLldbTraceRmiTest {
ghidra trace stop
quit
""".formatted(PREAMBLE, addr, getSpecimenPrint()));
DomainFile df = env.getProject().getProjectData().getFile("/New Traces/lldb/expPrint");
assertNotNull(df);
// TODO: Given the 'quit' command, I'm not sure this assertion is checking anything.
assertFalse(df.isOpen());
// NOTE: Given the 'quit' command, I'm not sure this assertion is checking anything.
waitDomainObjectClosed("/New Traces/lldb/expPrint");
}
@Test
@@ -270,6 +268,7 @@ public class LldbCommandsTest extends AbstractLldbTraceRmiTest {
ghidra trace tx-commit
quit
""".formatted(PREAMBLE, addr, getSpecimenPrint()));
waitDomainObjectClosed("/New Traces/no-save");
try (ManagedDomainObject mdo = openDomainObject("/New Traces/no-save")) {
tb = new ToyDBTraceBuilder((Trace) mdo.get());
assertEquals(0, tb.trace.getTimeManager().getAllSnapshots().size());
@@ -286,6 +285,7 @@ public class LldbCommandsTest extends AbstractLldbTraceRmiTest {
ghidra trace save
quit
""".formatted(PREAMBLE, addr, getSpecimenPrint()));
waitDomainObjectClosed("/New Traces/save");
try (ManagedDomainObject mdo = openDomainObject("/New Traces/save")) {
tb = new ToyDBTraceBuilder((Trace) mdo.get());
assertEquals(1, tb.trace.getTimeManager().getAllSnapshots().size());