Esempio n. 1
0
 def test_init(self):
     ElfSegment()
     ElfSegment(PT_LOAD)
     ElfSegment(program_header_type=PT_LOAD)
     sections = [UnpreparedElfSection("foo")]
     self.assertRaises(TypeError,
                       ElfSegment,
                       data=ByteArray("pants"),
                       sections=sections)
Esempio n. 2
0
 def test_base_class(self):
     seg = ElfSegment(None)
     self.assertRaises(NotImplementedError, seg.remove_nobits)
     self.assertRaises(NotImplementedError, seg.get_memsz)
     self.assertRaises(NotImplementedError, seg.get_filesz)
     self.assertRaises(NotImplementedError, seg.has_sections)
     self.assertRaises(NotImplementedError, seg.copy_into, None)
Esempio n. 3
0
 def test_base_class(self):
     seg = ElfSegment()
     self.assertRaises(NotImplementedError, seg.set_data, None)
     self.assertRaises(NotImplementedError, seg.remove_nobits)
     self.assertRaises(NotImplementedError, seg.get_memsz)
     self.assertRaises(NotImplementedError, seg.get_filesz)
     self.assertRaises(NotImplementedError, seg.get_file_data)
     self.assertRaises(NotImplementedError, seg.remove_section, None)
     self.assertRaises(NotImplementedError, seg.has_sections)
     self.assertRaises(NotImplementedError, seg.get_sections)
     self.assertRaises(NotImplementedError, seg.add_section, None)
     self.assertRaises(NotImplementedError, seg.copy)
Esempio n. 4
0
    def test_init(self):
        ElfSegment(None)
        ElfSegment(None, PT_LOAD)
        ElfSegment(None, program_header_type = PT_LOAD)
        sections = [UnpreparedElfSection(None, "foo")]
        self.assertRaises(TypeError, ElfSegment,
                          data = ByteArray("pants"), sections = sections)
        seg = ElfSegment(None, program_header_type=PT_LOAD, vaddr=None, paddr=None)
        self.assertEquals(seg.vaddr, 0)
        self.assertEquals(seg.paddr, 0)

        prog_header = ElfProgramHeader("<")
        prog_header.p_type = PT_LOAD
        prog_header.p_vaddr = 0x1000
        prog_header.p_paddr = 0x10000
        prog_header.p_flags = 0x100
        prog_header.p_align = 0x4000
        seg = ElfSegment(None, prog_header=prog_header)
        self.assertEquals(prog_header.p_type, seg.type)
        self.assertEquals(prog_header.p_vaddr, seg.vaddr)
        self.assertEquals(prog_header.p_paddr, seg.paddr)
        self.assertEquals(prog_header.p_flags, seg.flags)
        self.assertEquals(prog_header.p_align, seg.align)
Esempio n. 5
0
 def test___str__(self):
     seg = ElfSegment(None)
     self.assertEqual(str(seg), "<ElfSegment NULL>")
     seg = ElfSegment(None, program_header_type = PT_LOAD)
     self.assertEqual(str(seg), "<ElfSegment LOAD>")
Esempio n. 6
0
    def test_getoffset(self):

        seg = ElfSegment(None)
        self.assertRaises(Unprepared, seg.get_offset)
        seg.prepare(10)
        self.assertEquals(seg.offset, 10)
Esempio n. 7
0
 def test_setflags(self):
     seg = ElfSegment(None)
     self.assertEquals(seg.flags, 0)
     seg.flags = 37
     self.assertEquals(seg.flags, 37)
Esempio n. 8
0
 def test_settype(self):
     seg = ElfSegment()
     self.assertEquals(seg.type, PT_NULL)
     seg.type = PT_LOAD
     self.assertEquals(seg.type, PT_LOAD)
Esempio n. 9
0
 def test_setflags(self):
     seg = ElfSegment()
     self.assertEquals(seg.flags, 0)
     seg.flags = 37
     self.assertEquals(seg.flags, 37)
Esempio n. 10
0
 def test_setpaddr(self):
     seg = ElfSegment()
     self.assertEquals(seg.paddr, 0)
     seg.paddr = 37
     self.assertEquals(seg.paddr, 37)
Esempio n. 11
0
 def test_getvaddr(self):
     seg = ElfSegment(None)
     self.assertEquals(seg.vaddr, 0)
     seg = ElfSegment(None, vaddr = 37)
     self.assertEquals(seg.vaddr, 37)
Esempio n. 12
0
 def test_getflags(self):
     seg = ElfSegment()
     self.assertEquals(seg.flags, 0)
     seg = ElfSegment(flags=37)
     self.assertEquals(seg.flags, 37)
Esempio n. 13
0
 def test_getalign(self):
     seg = ElfSegment()
     self.assertEquals(seg.align, 0)
     seg = ElfSegment(align=37)
     self.assertEquals(seg.align, 37)
Esempio n. 14
0
 def test_getpaddr(self):
     seg = ElfSegment()
     self.assertEquals(seg.paddr, 0)
     seg = ElfSegment(paddr=37)
     self.assertEquals(seg.paddr, 37)
Esempio n. 15
0
 def test_setvaddr(self):
     seg = ElfSegment()
     self.assertEquals(seg.vaddr, 0)
     seg.vaddr = 37
     self.assertEquals(seg.vaddr, 37)
Esempio n. 16
0
 def test_settype(self):
     seg = ElfSegment()
     self.assertEquals(seg.type, PT_NULL)
     seg.type = PT_LOAD
     self.assertEquals(seg.type, PT_LOAD)
Esempio n. 17
0
 def test_setvaddr(self):
     seg = ElfSegment(None)
     self.assertEquals(seg.vaddr, 0)
     seg.vaddr = 37
     self.assertEquals(seg.vaddr, 37)
Esempio n. 18
0
 def test_setalign(self):
     seg = ElfSegment()
     self.assertEquals(seg.align, 0)
     seg.align = 37
     self.assertEquals(seg.align, 37)
Esempio n. 19
0
 def test_setpaddr(self):
     seg = ElfSegment(None)
     self.assertEquals(seg.paddr, 0)
     seg.paddr = 37
     self.assertEquals(seg.paddr, 37)
Esempio n. 20
0
 def test_getoffset(self):
     seg = ElfSegment()
     self.assertRaises(Unprepared, seg.get_offset)
     seg.prepare(10)
     self.assertEquals(seg.offset, 10)
Esempio n. 21
0
 def test_setalign(self):
     seg = ElfSegment(None)
     self.assertEquals(seg.align, 0)
     seg.align = 37
     self.assertEquals(seg.align, 37)