Package ghidra.test.processors.support
Class EmulatorTestRunner
java.lang.Object
ghidra.test.processors.support.EmulatorTestRunner
-
Nested Class Summary
-
Constructor Summary
ConstructorDescriptionEmulatorTestRunner
(Program program, PCodeTestGroup testGroup, ExecutionListener executionListener) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDumpPoint
(Address breakAddr, Address dumpAddr, int dumpSize, int elementSize, EmulatorTestRunner.DumpFormat elementFormat, String comment) Add memory dump pointvoid
addDumpPoint
(Address breakAddr, Register dumpAddrReg, int relativeOffset, AddressSpace dumpAddrSpace, int dumpSize, int elementSize, EmulatorTestRunner.DumpFormat elementFormat, String comment) Add memory dump pointvoid
dispose()
boolean
execute
(int timeLimitMS, TaskMonitor monitor) Execute test group without instruction stepping/tracingboolean
executeSingleStep
(int stepLimit) int
Get number of CALLOTHER errors detected when a test pass was registered.getRegisterValue
(Register reg) void
setContextRegister
(RegisterValue ctxRegValue) void
setRegister
(String regName, long value) void
setRegister
(String regName, BigInteger value)
-
Constructor Details
-
EmulatorTestRunner
public EmulatorTestRunner(Program program, PCodeTestGroup testGroup, ExecutionListener executionListener)
-
-
Method Details
-
dispose
public void dispose() -
getTestGroup
-
getProgram
-
getEmulatorHelper
-
setContextRegister
-
getCurrentAddress
-
getCurrentInstruction
-
getRegisterValue
-
getRegisterValueString
-
setRegister
-
setRegister
-
addDumpPoint
public void addDumpPoint(Address breakAddr, Address dumpAddr, int dumpSize, int elementSize, EmulatorTestRunner.DumpFormat elementFormat, String comment) Add memory dump point- Parameters:
breakAddr
- instruction address at which execution should pause (before it is executed) so that the specified memory may be dumped to the log during trace execution mode.dumpAddr
- memory address which should be dumpeddumpSize
- number elements which should be dumpedelementSize
- size of each element in bytes (be reasonable!)elementFormat
- HEX, DECIMAL or FLOATcomment
- dump comment
-
addDumpPoint
public void addDumpPoint(Address breakAddr, Register dumpAddrReg, int relativeOffset, AddressSpace dumpAddrSpace, int dumpSize, int elementSize, EmulatorTestRunner.DumpFormat elementFormat, String comment) Add memory dump point- Parameters:
breakAddr
- instruction address at which execution should pause (before it is executed) so that the specified memory may be dumped to the log during trace execution mode.dumpAddrReg
- register containing the memory address offset which should be dumpedrelativeOffset
- dump register relative offsetdumpAddrSpace
- address space to which memory offset should be applieddumpSize
- number elements which should be dumpedelementSize
- size of each element in bytes (be reasonable!)elementFormat
- HEX, DECIMAL or FLOATcomment
- dump comment
-
getEmuError
-
getCallOtherErrors
public int getCallOtherErrors()Get number of CALLOTHER errors detected when a test pass was registered. This number should be subtracted from the pass count and possibly added to the failure count. Number does not reflect total number of CALLOTHER pcodeops encountered but only the number of passed tests affected. See log for all CALLOTHER executions detected.- Returns:
- number of CALLOTHER errors
-
execute
Execute test group without instruction stepping/tracing- Parameters:
timeLimitMS
-monitor
-- Returns:
- Throws:
CancelledException
-
executeSingleStep
public boolean executeSingleStep(int stepLimit)
-