Merge remote-tracking branch 'origin/GP-0-dragonmacher-test-fixes-2-26-26'

This commit is contained in:
Ryan Kurtz
2026-02-27 04:42:01 -05:00
3 changed files with 14 additions and 51 deletions
@@ -35,11 +35,8 @@ import ghidra.app.plugin.core.navigation.NextPrevAddressPlugin;
import ghidra.app.services.ClipboardContentProviderService;
import ghidra.app.services.ProgramManager;
import ghidra.app.util.viewer.field.*;
import ghidra.framework.model.DomainFile;
import ghidra.framework.model.DomainFolder;
import ghidra.framework.plugintool.PluginTool;
import ghidra.program.database.ProgramBuilder;
import ghidra.program.database.ProgramDB;
import ghidra.program.model.address.Address;
import ghidra.program.model.address.AddressSet;
import ghidra.program.model.listing.*;
@@ -48,7 +45,6 @@ import ghidra.program.util.AddressFieldLocation;
import ghidra.program.util.ProgramSelection;
import ghidra.test.AbstractProgramBasedTest;
import ghidra.test.ToyProgramBuilder;
import ghidra.util.task.TaskMonitor;
/**
* Test the plugin that deals with cut/paste comments and labels
@@ -57,8 +53,8 @@ public class CopyPasteCommentsTest extends AbstractProgramBasedTest {
private PluginTool toolOne;
private PluginTool toolTwo;
private ProgramDB programOne;
private ProgramDB programTwo;
private Program programOne;
private Program programTwo;
private ProgramManager pmOne;
private ProgramManager pmTwo;
private CodeBrowserPlugin cb;
@@ -106,33 +102,21 @@ public class CopyPasteCommentsTest extends AbstractProgramBasedTest {
setupTool(toolTwo);
cb2 = getPlugin(toolTwo, CodeBrowserPlugin.class);
DomainFolder rootFolder = env.getProject().getProjectData().getRootFolder();
Program sdk = program;
final DomainFile df = rootFolder.createFile("sdk1", sdk, TaskMonitor.DUMMY);
programOne = (ProgramDB) df.getDomainObject(this, true, false, TaskMonitor.DUMMY);
env.release(sdk);
Program sdk2 = buildProgram("sdk2");
final DomainFile df2 = rootFolder.createFile("sdk2", sdk2, TaskMonitor.DUMMY);
programTwo = (ProgramDB) df2.getDomainObject(this, true, false, TaskMonitor.DUMMY);
env.release(sdk2);
programOne = program;
programTwo = buildProgram("sdk2");
setupProgramOne();
setupProgramTwo();
pmOne = toolOne.getService(ProgramManager.class);
runSwing(() -> {
pmOne.openProgram(df);
programOne = (ProgramDB) pmOne.getCurrentProgram();
pmOne.openProgram(programOne);
});
pmTwo = toolTwo.getService(ProgramManager.class);
runSwing(() -> {
pmTwo.openProgram(df2);
programTwo = (ProgramDB) pmTwo.getCurrentProgram();
pmTwo.openProgram(programTwo);
});
}
@Test
@@ -128,6 +128,8 @@ public class PersistentOpenCloseManagerTest extends AbstractGhidraHeadedIntegrat
assertTrue(openCloseMgr.isOpen(addr(0)));
assertFalse(openCloseMgr.isOpen(addr(100)));
assertFalse(openCloseMgr.isOpenByDefault());
program.release(this);
}
private Address addr(long offset) {
@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -27,9 +27,6 @@ import ghidra.program.model.listing.Program;
import ghidra.test.*;
import ghidra.util.task.TaskMonitor;
/**
* test for creating a new empty tool with the new front end
*/
public class CreateDomainObjectTest extends AbstractGhidraHeadedIntegrationTest {
private final static String PROJECT_NAME1 = "DomainObjTests";
@@ -38,14 +35,6 @@ public class CreateDomainObjectTest extends AbstractGhidraHeadedIntegrationTest
private Project project;
private String testDir;
/**
* Constructor
* @param arg0
*/
public CreateDomainObjectTest() {
super();
}
@Before
public void setUp() throws Exception {
@@ -65,10 +54,6 @@ public class CreateDomainObjectTest extends AbstractGhidraHeadedIntegrationTest
}
/**
* Test domain object.
* @throws Exception
*/
@Test
public void testDomainObject() throws Exception {
@@ -136,18 +121,14 @@ public class CreateDomainObjectTest extends AbstractGhidraHeadedIntegrationTest
project.close();
project = ProjectTestUtils.getProject(testDir, PROJECT_NAME1);
Program prog = getProgram(project, "Prog2", this);
if (prog != null) {
Assert.fail("deleteObject failed");
}
assertNull("deleteObject failed", prog);
// test 7 = test create folder
createFolder(project, "Data");
project.close();
project = ProjectTestUtils.getProject(testDir, PROJECT_NAME1);
DomainFolder folder = getFolder(project, "Data");
if (folder == null) {
Assert.fail("Cannot create folder");
}
assertNotNull("Cannot create folder", folder);
// test 8 - test cannot create folder in root
// this is currently ok
@@ -158,9 +139,7 @@ public class CreateDomainObjectTest extends AbstractGhidraHeadedIntegrationTest
project.close();
project = ProjectTestUtils.getProject(testDir, PROJECT_NAME1);
folder = getFolder(project, "Data");
if (folder != null) {
Assert.fail("Cannot delete folder");
}
assertNull("Cannot delete folder", folder);
// test 10 - rename folder
createFolder(project, "Data");
@@ -168,9 +147,7 @@ public class CreateDomainObjectTest extends AbstractGhidraHeadedIntegrationTest
project.close();
project = ProjectTestUtils.getProject(testDir, PROJECT_NAME1);
folder = getFolder(project, "Data2");
if (folder == null) {
Assert.fail("Cannot create folder");
}
assertNotNull("Cannot create folder", folder);
// test 11 - test readOnly flag
createProgramReadOnly(project, "Prog1");