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)
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)
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)
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)
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>")
def test_getoffset(self): seg = ElfSegment(None) self.assertRaises(Unprepared, seg.get_offset) seg.prepare(10) self.assertEquals(seg.offset, 10)
def test_setflags(self): seg = ElfSegment(None) self.assertEquals(seg.flags, 0) seg.flags = 37 self.assertEquals(seg.flags, 37)
def test_setalign(self): seg = ElfSegment(None) self.assertEquals(seg.align, 0) seg.align = 37 self.assertEquals(seg.align, 37)
def test_setpaddr(self): seg = ElfSegment(None) self.assertEquals(seg.paddr, 0) seg.paddr = 37 self.assertEquals(seg.paddr, 37)
def test_getvaddr(self): seg = ElfSegment(None) self.assertEquals(seg.vaddr, 0) seg = ElfSegment(None, vaddr = 37) self.assertEquals(seg.vaddr, 37)
def test_getflags(self): seg = ElfSegment() self.assertEquals(seg.flags, 0) seg = ElfSegment(flags=37) self.assertEquals(seg.flags, 37)
def test_getalign(self): seg = ElfSegment() self.assertEquals(seg.align, 0) seg = ElfSegment(align=37) self.assertEquals(seg.align, 37)
def test_getpaddr(self): seg = ElfSegment() self.assertEquals(seg.paddr, 0) seg = ElfSegment(paddr=37) self.assertEquals(seg.paddr, 37)
def test_setvaddr(self): seg = ElfSegment() self.assertEquals(seg.vaddr, 0) seg.vaddr = 37 self.assertEquals(seg.vaddr, 37)
def test_settype(self): seg = ElfSegment() self.assertEquals(seg.type, PT_NULL) seg.type = PT_LOAD self.assertEquals(seg.type, PT_LOAD)