From bfd33ef9bbf1b747aadacbaebdc9dd8e0fdc445e Mon Sep 17 00:00:00 2001 From: Dan <46821332+nsadeveloper789@users.noreply.github.com> Date: Fri, 18 Sep 2020 09:57:55 -0400 Subject: [PATCH] GP-134: Fixed FunctionDBTest --- .../database/function/FunctionDBTest.java | 65 ++++++++++--------- 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/function/FunctionDBTest.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/function/FunctionDBTest.java index 11e405467b..8e2175e637 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/function/FunctionDBTest.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/function/FunctionDBTest.java @@ -72,8 +72,9 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest space = program.getAddressFactory().getDefaultAddressSpace(); transactionID = program.startTransaction("Test"); - program.getMemory().createInitializedBlock("test", addr(100), 500, (byte) 0, - TaskMonitorAdapter.DUMMY_MONITOR, false); + program.getMemory() + .createInitializedBlock("test", addr(100), 500, (byte) 0, + TaskMonitorAdapter.DUMMY_MONITOR, false); functionManager = program.getFunctionManager(); } @@ -879,7 +880,7 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest assertEquals("Stack[0x0]:8", parameters[2].getVariableStorage().toString()); assertParameter(p4, parameters[3], false); assertEquals(3, parameters[3].getOrdinal()); - assertEquals("r10:1", parameters[3].getVariableStorage().toString()); + assertEquals("r10l:1", parameters[3].getVariableStorage().toString()); } @@ -933,7 +934,7 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest assertEquals("Stack[0x0]:8", parameters[2].getVariableStorage().toString()); assertParameter(p4, parameters[3], false); assertEquals(3, parameters[3].getOrdinal()); - assertEquals("r10:1", parameters[3].getVariableStorage().toString()); + assertEquals("r10l:1", parameters[3].getVariableStorage().toString()); } @@ -982,7 +983,7 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest assertParameter(p2, parameters[2], false); assertEquals("Stack[0x0]:8", parameters[2].getVariableStorage().toString()); assertParameter(p3, parameters[3], false); - assertEquals("r10:1", parameters[3].getVariableStorage().toString()); + assertEquals("r10l:1", parameters[3].getVariableStorage().toString()); // try again with DB params @@ -1011,7 +1012,7 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest assertEquals("Stack[0x0]:8", parameters[2].getVariableStorage().toString()); assertParameter(p3, parameters[3], false); assertEquals(3, parameters[3].getOrdinal()); - assertEquals("r10:1", parameters[3].getVariableStorage().toString()); + assertEquals("r10l:1", parameters[3].getVariableStorage().toString()); // try again with DB params and custom storage @@ -1039,7 +1040,7 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest assertEquals("Stack[0x0]:8", parameters[2].getVariableStorage().toString()); assertParameter(p3, parameters[3], false); assertEquals(3, parameters[3].getOrdinal()); - assertEquals("r10:1", parameters[3].getVariableStorage().toString()); + assertEquals("r10l:1", parameters[3].getVariableStorage().toString()); } @@ -1216,7 +1217,7 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest @Test public void testDataTypeOnRegisterVariable() throws Exception { - Register reg = program.getProgramContext().getRegister("r7"); + Register reg = program.getProgramContext().getRegister("r7l"); assertNotNull(reg); Function f = createFunction("foo", addr(100), new AddressSet(addr(100), addr(200))); @@ -1230,11 +1231,13 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest int localTransactionID = program.startTransaction("test"); try { - bdt = (ByteDataType) program.getDataTypeManager().addDataType(bdt, - DataTypeConflictHandler.DEFAULT_HANDLER); + bdt = (ByteDataType) program.getDataTypeManager() + .addDataType(bdt, + DataTypeConflictHandler.DEFAULT_HANDLER); td = new TypedefDataType("byteTD", bdt); - td = (TypeDef) program.getDataTypeManager().addDataType(td, - DataTypeConflictHandler.DEFAULT_HANDLER); + td = (TypeDef) program.getDataTypeManager() + .addDataType(td, + DataTypeConflictHandler.DEFAULT_HANDLER); AddRegisterParameterCommand cmd = new AddRegisterParameterCommand(f, reg, "reg_param_0", td, 0, SourceType.USER_DEFINED); cmd.applyTo(program); @@ -1440,7 +1443,7 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest stackVar.setComment("My Comment0"); f.addLocalVariable(stackVar, SourceType.USER_DEFINED); - dt = (Structure) dt.clone(program.getDataTypeManager()); + dt = dt.clone(program.getDataTypeManager()); dt.add(WordDataType.dataType); f = functionManager.getFunctionAt(addr(100)); @@ -1504,12 +1507,12 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest f.setCustomVariableStorage(true); DataType[] dt = - new DataType[] { new ByteDataType(), new WordDataType(), new Pointer16DataType() }; + new DataType[] { new LongDataType(), new WordDataType(), new Pointer16DataType() }; Register[] regs = new Register[] { functionManager.getProgram().getProgramContext().getRegister("r1"), - functionManager.getProgram().getProgramContext().getRegister("r2"), - functionManager.getProgram().getProgramContext().getRegister("r3") }; + functionManager.getProgram().getProgramContext().getRegister("r2l"), + functionManager.getProgram().getProgramContext().getRegister("r3l") }; LocalVariableImpl regVar = new LocalVariableImpl("TestReg0", 0, dt[0], regs[0], program); regVar.setComment("My Comment0"); @@ -1543,12 +1546,12 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest f.setCustomVariableStorage(true); DataType[] dt = - new DataType[] { new ByteDataType(), new WordDataType(), new Pointer16DataType() }; + new DataType[] { new LongDataType(), new WordDataType(), new Pointer16DataType() }; Register[] regs = new Register[] { functionManager.getProgram().getProgramContext().getRegister("r1"), - functionManager.getProgram().getProgramContext().getRegister("r2"), - functionManager.getProgram().getProgramContext().getRegister("r1") + functionManager.getProgram().getProgramContext().getRegister("r2l"), + functionManager.getProgram().getProgramContext().getRegister("r1l") // same address as regs[0] }; @@ -1584,12 +1587,12 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest Function f = createFunction("foo", addr(100), new AddressSet(addr(100), addr(200))); DataType[] dt = - new DataType[] { new ByteDataType(), new WordDataType(), new Pointer16DataType() }; + new DataType[] { new LongDataType(), new WordDataType(), new Pointer16DataType() }; Register[] regs = new Register[] { functionManager.getProgram().getProgramContext().getRegister("r1"), - functionManager.getProgram().getProgramContext().getRegister("r1"), - functionManager.getProgram().getProgramContext().getRegister("r3") }; + functionManager.getProgram().getProgramContext().getRegister("r1l"), + functionManager.getProgram().getProgramContext().getRegister("r3l") }; LocalVariableImpl regVar = new LocalVariableImpl("TestReg0", 0, dt[0], regs[0], program); regVar.setComment("My Comment0"); @@ -1626,9 +1629,9 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest new DataType[] { new ByteDataType(), new WordDataType(), new Pointer16DataType() }; Register[] regs = - new Register[] { functionManager.getProgram().getProgramContext().getRegister("r1"), - functionManager.getProgram().getProgramContext().getRegister("r1"), - functionManager.getProgram().getProgramContext().getRegister("r3") }; + new Register[] { functionManager.getProgram().getProgramContext().getRegister("r1l"), + functionManager.getProgram().getProgramContext().getRegister("r1l"), + functionManager.getProgram().getProgramContext().getRegister("r3l") }; LocalVariableImpl regVar = new LocalVariableImpl("TestReg0", 4, dt[0], regs[0], program); regVar.setComment("My Comment0"); @@ -1734,12 +1737,12 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest f.setCustomVariableStorage(true); DataType[] dt = - new DataType[] { new ByteDataType(), new WordDataType(), new Pointer16DataType() }; + new DataType[] { new LongDataType(), new WordDataType(), new Pointer16DataType() }; Register[] regs = new Register[] { functionManager.getProgram().getProgramContext().getRegister("r1"), - functionManager.getProgram().getProgramContext().getRegister("r2"), - functionManager.getProgram().getProgramContext().getRegister("r3") }; + functionManager.getProgram().getProgramContext().getRegister("r2l"), + functionManager.getProgram().getProgramContext().getRegister("r3l") }; LocalVariableImpl regVar = new LocalVariableImpl("TestReg0", 0, dt[0], regs[0], program); regVar.setComment("My Comment0"); @@ -2077,8 +2080,10 @@ public class FunctionDBTest extends AbstractGhidraHeadedIntegrationTest assertNotNull(symbolTable.getGlobalSymbol("LAB_TestA", addr(220))); assertNotNull(symbolTable.getGlobalSymbol("LAB_Test", addr(224))); - assertTrue(program.getSymbolTable().getPrimarySymbol( - addr(201)).getSymbolType() != SymbolType.FUNCTION); + assertTrue(program.getSymbolTable() + .getPrimarySymbol( + addr(201)) + .getSymbolType() != SymbolType.FUNCTION); } }