Adding unit test for an ARM file with DW_FORM_indirect
diff --git a/test/test_arm_support.py b/test/test_arm_support.py
index 0d7bfcc..6493663 100644
--- a/test/test_arm_support.py
+++ b/test/test_arm_support.py
@@ -25,6 +25,20 @@
self.assertEqual(elf.num_sections(), 14)
self.assertEqual(elf.num_segments(), 2)
+ def test_DWARF_indirect_forms(self):
+ # This file uses a lot of DW_FORM_indirect, and is also an ARM ELF
+ # with non-trivial DWARF info.
+ # So this is a simple sanity check that we can successfully parse it
+ # and extract the expected amount of CUs.
+ with open(os.path.join('test', 'testfiles_for_unittests',
+ 'arm_with_form_indirect.elf'), 'rb') as f:
+ elffile = ELFFile(f)
+ self.assertTrue(elffile.has_dwarf_info())
+
+ dwarfinfo = elffile.get_dwarf_info()
+ all_CUs = list(dwarfinfo.iter_CUs())
+ self.assertEqual(len(all_CUs), 9)
+
if __name__ == '__main__':
unittest.main()
diff --git a/test/testfiles_for_unittests/arm_with_form_indirect.elf b/test/testfiles_for_unittests/arm_with_form_indirect.elf
new file mode 100644
index 0000000..ff0a3ba
--- /dev/null
+++ b/test/testfiles_for_unittests/arm_with_form_indirect.elf
Binary files differ