From 05f8745c28270d36eaecc1d7b2c20f96bc62837f Mon Sep 17 00:00:00 2001 From: dragonmacher <48328597+dragonmacher@users.noreply.github.com> Date: Tue, 7 May 2024 10:06:53 -0400 Subject: [PATCH] Test fixes --- .../core/symboltree/actions/RenameAction.java | 3 +- .../SymbolTreeLocationReferencesTest.java | 12 +-- .../symboltree/SymbolTreePlugin1Test.java | 79 ++++++++----------- 3 files changed, 40 insertions(+), 54 deletions(-) diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/RenameAction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/RenameAction.java index 21adb37ee1..25496afa95 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/RenameAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/RenameAction.java @@ -18,6 +18,7 @@ package ghidra.app.plugin.core.symboltree.actions; import docking.action.MenuData; import ghidra.app.plugin.core.symboltree.SymbolTreeActionContext; import ghidra.app.plugin.core.symboltree.SymbolTreePlugin; +import ghidra.app.plugin.core.symboltree.nodes.SymbolNode; import ghidra.app.plugin.core.symboltree.nodes.SymbolTreeNode; public class RenameAction extends SymbolTreeContextAction { @@ -31,7 +32,7 @@ public class RenameAction extends SymbolTreeContextAction { @Override public boolean isEnabledForContext(SymbolTreeActionContext context) { SymbolTreeNode node = context.getSelectedNode(); - return node != null; + return node instanceof SymbolNode; } @Override diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/navigation/locationreferences/SymbolTreeLocationReferencesTest.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/navigation/locationreferences/SymbolTreeLocationReferencesTest.java index 22bb67db8e..30e63c970c 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/navigation/locationreferences/SymbolTreeLocationReferencesTest.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/navigation/locationreferences/SymbolTreeLocationReferencesTest.java @@ -42,7 +42,7 @@ public class SymbolTreeLocationReferencesTest extends AbstractLocationReferences super.setUp(); symbolTreePlugin = getPlugin(tool, SymbolTreePlugin.class); - treeProvider = (SymbolTreeProvider) getInstanceField("provider", symbolTreePlugin); + treeProvider = (SymbolTreeProvider) getInstanceField("connectedProvider", symbolTreePlugin); showProvider(tool, treeProvider.getName()); symbolTree = (SymbolGTree) getInstanceField("tree", treeProvider); showSymbolReferencesAction = @@ -118,8 +118,9 @@ public class SymbolTreeLocationReferencesTest extends AbstractLocationReferences externalLocation); int txId = program.startTransaction("Add Ext Ref"); try { - program.getReferenceManager().addExternalReference(refAddr, 1, externalLocation, - SourceType.USER_DEFINED, refType); + program.getReferenceManager() + .addExternalReference(refAddr, 1, externalLocation, SourceType.USER_DEFINED, + refType); return externalLocation.createFunction(); } finally { @@ -130,8 +131,9 @@ public class SymbolTreeLocationReferencesTest extends AbstractLocationReferences private void addThunk(Address thunkAddr, Function thunkedFunction) throws Exception { int txId = program.startTransaction("Add Thunk"); try { - Function f = program.getFunctionManager().createFunction(null, thunkAddr, - new AddressSet(thunkAddr), SourceType.USER_DEFINED); + Function f = program.getFunctionManager() + .createFunction(null, thunkAddr, new AddressSet(thunkAddr), + SourceType.USER_DEFINED); f.setThunkedFunction(thunkedFunction); } finally { diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/symboltree/SymbolTreePlugin1Test.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/symboltree/SymbolTreePlugin1Test.java index a12ae95f6b..37c70d4c93 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/symboltree/SymbolTreePlugin1Test.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/symboltree/SymbolTreePlugin1Test.java @@ -257,15 +257,15 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { util.selectNode(rootNode); ActionContext context = util.getSymbolTreeContext(); assertTrue(createLibraryAction.isEnabledForContext(context)); - assertTrue(!createClassAction.isEnabledForContext(context)); - assertTrue(!createNamespaceAction.isEnabledForContext(context)); - assertTrue(!renameAction.isEnabledForContext(context)); - assertTrue(!cutAction.isEnabledForContext(context)); - assertTrue(!pasteAction.isEnabledForContext(context)); - assertTrue(!deleteAction.isEnabledForContext(context)); - assertTrue(!selectionAction.isEnabledForContext(context)); - assertTrue(!goToExtLocAction.isEnabledForContext(context)); - assertTrue(!goToExtLocAction.isEnabledForContext(context)); + assertFalse(createClassAction.isEnabledForContext(context)); + assertFalse(createNamespaceAction.isEnabledForContext(context)); + assertFalse(renameAction.isEnabledForContext(context)); + assertFalse(cutAction.isEnabledForContext(context)); + assertFalse(pasteAction.isEnabledForContext(context)); + assertFalse(deleteAction.isEnabledForContext(context)); + assertFalse(selectionAction.isEnabledForContext(context)); + assertFalse(goToExtLocAction.isEnabledForContext(context)); + assertFalse(goToExtLocAction.isEnabledForContext(context)); } @Test @@ -281,9 +281,6 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { util.selectNode(node); performAction(cutAction, util.getSymbolTreeContext(), true); - util.selectNode(rootNode); - assertTrue(pasteAction.isEnabledForContext(util.getSymbolTreeContext())); - // move a function to a namespace // cut a function; select global; paste should be enabled GTreeNode nsParentNode = rootNode.getChild(5); @@ -312,10 +309,6 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { util.selectNode(gNode); assertTrue(cutAction.isEnabledForContext(util.getSymbolTreeContext())); performAction(cutAction, util.getSymbolTreeContext(), true); - - // select the root node - util.selectNode(rootNode); - assertTrue(pasteAction.isEnabledForContext(util.getSymbolTreeContext())); } @Test @@ -354,7 +347,7 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { GTreeNode dNode = fNode.getChild(0); util.selectNode(dNode); - assertTrue(!pasteAction.isEnabledForContext(util.getSymbolTreeContext())); + assertFalse(pasteAction.isEnabledForContext(util.getSymbolTreeContext())); } @Test @@ -415,35 +408,25 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { else { assertFalse(createLibraryIsEnabled); } - assertTrue(!createClassAction.isEnabledForContext(context)); - assertTrue(!createNamespaceAction.isEnabledForContext(context)); - assertTrue(!renameAction.isEnabledForContext(context)); - assertTrue(!renameAction.isEnabledForContext(context)); - assertTrue(!cutAction.isEnabledForContext(context)); - assertTrue(!cutAction.isEnabledForContext(context)); - assertTrue(!pasteAction.isEnabledForContext(context)); - assertTrue(!pasteAction.isEnabledForContext(context)); - assertTrue(!deleteAction.isEnabledForContext(context)); - assertTrue(!deleteAction.isEnabledForContext(context)); - assertTrue(!selectionAction.isEnabledForContext(context)); - assertTrue(!selectionAction.isEnabledForContext(context)); + assertFalse(createClassAction.isEnabledForContext(context)); + assertFalse(createNamespaceAction.isEnabledForContext(context)); + assertFalse(renameAction.isEnabledForContext(context)); + assertFalse(cutAction.isEnabledForContext(context)); + assertFalse(pasteAction.isEnabledForContext(context)); + assertFalse(deleteAction.isEnabledForContext(context)); + assertFalse(selectionAction.isEnabledForContext(context)); GTreeNode lNode = rootNode.getChild(1); util.selectNode(lNode); context = util.getSymbolTreeContext(); - assertTrue(!createLibraryAction.isEnabledForContext(context)); - assertTrue(!createClassAction.isEnabledForContext(context)); - assertTrue(!createNamespaceAction.isEnabledForContext(context)); - assertTrue(!renameAction.isEnabledForContext(context)); - assertTrue(!renameAction.isEnabledForContext(context)); - assertTrue(!cutAction.isEnabledForContext(context)); - assertTrue(!cutAction.isEnabledForContext(context)); - assertTrue(!pasteAction.isEnabledForContext(context)); - assertTrue(!pasteAction.isEnabledForContext(context)); - assertTrue(!deleteAction.isEnabledForContext(context)); - assertTrue(!deleteAction.isEnabledForContext(context)); - assertTrue(!selectionAction.isEnabledForContext(context)); - assertTrue(!selectionAction.isEnabledForContext(context)); + assertFalse(createLibraryAction.isEnabledForContext(context)); + assertFalse(createClassAction.isEnabledForContext(context)); + assertFalse(createNamespaceAction.isEnabledForContext(context)); + assertFalse(renameAction.isEnabledForContext(context)); + assertFalse(cutAction.isEnabledForContext(context)); + assertFalse(pasteAction.isEnabledForContext(context)); + assertFalse(deleteAction.isEnabledForContext(context)); + assertFalse(selectionAction.isEnabledForContext(context)); } @Test @@ -457,8 +440,8 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { GTreeNode pNode = gNode.getChild(0); util.selectNode(pNode); ActionContext context = util.getSymbolTreeContext(); - assertTrue(!cutAction.isEnabledForContext(context)); - assertTrue(!pasteAction.isEnabledForContext(context)); + assertFalse(cutAction.isEnabledForContext(context)); + assertFalse(pasteAction.isEnabledForContext(context)); assertTrue(renameAction.isEnabledForContext(context)); assertTrue(renameAction.isEnabledForContext(context)); assertTrue(selectionAction.isEnabledForContext(context)); @@ -476,7 +459,7 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { util.selectNode(gNode); ActionContext context = util.getSymbolTreeContext(); assertTrue(cutAction.isEnabledForContext(context)); - assertTrue(!pasteAction.isEnabledForContext(context)); + assertFalse(pasteAction.isEnabledForContext(context)); assertTrue(renameAction.isEnabledForContext(context)); assertTrue(renameAction.isEnabledForContext(context)); assertTrue(selectionAction.isEnabledForContext(context)); @@ -495,7 +478,7 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { util.selectNode(pNode); ActionContext context = util.getSymbolTreeContext(); assertTrue(cutAction.isEnabledForContext(context)); - assertTrue(!pasteAction.isEnabledForContext(context)); + assertFalse(pasteAction.isEnabledForContext(context)); assertTrue(renameAction.isEnabledForContext(context)); assertTrue(renameAction.isEnabledForContext(context)); assertTrue(selectionAction.isEnabledForContext(context)); @@ -866,8 +849,8 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { } private void renameSelectedNode() throws Exception { - SwingUtilities.invokeAndWait( - () -> renameAction.actionPerformed(util.getSymbolTreeContext())); + SwingUtilities + .invokeAndWait(() -> renameAction.actionPerformed(util.getSymbolTreeContext())); waitForEditing(); }