Merge remote-tracking branch 'origin/GP-5221_dwarf_debug_relative_paths--SQUASHED' into Ghidra_11.3

This commit is contained in:
Ryan Kurtz 2025-01-07 20:20:19 -05:00
commit 8e7f0034e5
5 changed files with 274 additions and 69 deletions

View file

@ -52,11 +52,48 @@ public class SourceFileTest extends AbstractSourceFileTest {
}
@Test
public void testPathNormalization() {
public void testPathNormalizationLinux() {
assertEquals("/src/dir1/dir2/file.c",
new SourceFile("/src/test/../dir1/test/../dir2/file.c").getPath());
}
@Test(expected = IllegalArgumentException.class)
public void testInteriorPathNormalizationLinux() {
new SourceFile("/src/../../../file.c");
}
@Test(expected = IllegalArgumentException.class)
public void testInteriorPathNormalizationLinuxUtilsMethod() {
SourceFileUtils.getSourceFileFromPathString("/src/../../../file.c");
}
@Test(expected = IllegalArgumentException.class)
public void testInteriorPathNormalizationWindows() {
new SourceFile("/c:/src/../../../file.c");
}
@Test
public void testFixDwarfRelativePath() {
String baseDirName = "root_dir";
assertEquals("/src/file.c",
SourceFileUtils.fixDwarfRelativePath("/src/file.c", baseDirName));
assertEquals("/file.c",
SourceFileUtils.fixDwarfRelativePath("/src/../file.c", baseDirName));
assertEquals("/root_dir/file.c",
SourceFileUtils.fixDwarfRelativePath("./file.c", baseDirName));
assertEquals("/root_dir_1/file.c",
SourceFileUtils.fixDwarfRelativePath("/../file.c", baseDirName));
assertEquals("/root_dir_2/file.c",
SourceFileUtils.fixDwarfRelativePath("/.././../file.c", baseDirName));
assertEquals("/root_dir_1/file.c",
SourceFileUtils.fixDwarfRelativePath("./../file.c", baseDirName));
}
@Test(expected = IllegalArgumentException.class)
public void testInteriorPathNormalizationWindowsUtilsMethod() {
SourceFileUtils.getSourceFileFromPathString("c:\\src\\..\\..\\..\\file.c");
}
@Test
public void testGetFilename() {
assertEquals("file.c", new SourceFile("/src/test/file.c").getFilename());