4 from elftools
.elf
.elffile
import ELFFile
9 class TestRangeLists(unittest
.TestCase
):
10 def test_arange_absent(self
):
11 with
open(os
.path
.join('test', 'testfiles_for_unittests', 'aranges_absent.elf'), 'rb') as f
:
13 self
.assertTrue(elffile
.has_dwarf_info())
14 aranges
= elffile
.get_dwarf_info().get_aranges()
15 self
.assertIsNone(aranges
)
17 def test_arange_partial(self
):
18 with
open(os
.path
.join('test', 'testfiles_for_unittests', 'aranges_partial.elf'), 'rb') as f
:
20 self
.assertTrue(elffile
.has_dwarf_info())
21 aranges
= elffile
.get_dwarf_info().get_aranges()
22 self
.assertIsNotNone(aranges
)
23 self
.assertIsNone(aranges
.cu_offset_at_addr(address_a
))
24 self
.assertIsNotNone(aranges
.cu_offset_at_addr(address_b
))
26 def test_arange_complete(self
):
27 with
open(os
.path
.join('test', 'testfiles_for_unittests', 'aranges_complete.elf'), 'rb') as f
:
29 self
.assertTrue(elffile
.has_dwarf_info())
30 aranges
= elffile
.get_dwarf_info().get_aranges()
31 self
.assertIsNotNone(aranges
)
32 self
.assertIsNotNone(aranges
.cu_offset_at_addr(address_a
))
33 self
.assertIsNotNone(aranges
.cu_offset_at_addr(address_b
))
35 if __name__
== '__main__':