Exemple #1
0
    def test_get_section_header(self):
        sect = UnpreparedElfSection("test")
        self.assertEqual(hasattr(sect, "get_section_header"), False)
        sect = sect.prepare(0, 0, 0, 32, "<")

        sh = sect.get_section_header()
        self.assertEquals(sh.todata(), Elf32SectionHeader("<").todata())

        sect = UnpreparedElfSection("test")
        sect2 = UnpreparedElfSection("test")
        sect.link = sect2
        sect2 = sect2.prepare(0, 2, 0, 32, "<")
        sect = sect.prepare(0, 0, 0, 32, "<")
        sh = sect.get_section_header()
        self.assertEquals(sh.sh_link, 2)
Exemple #2
0
    def test_get_section_header(self):
        sect = UnpreparedElfSection("test")
        self.assertEqual(hasattr(sect, "get_section_header"), False)
        sect = sect.prepare(0, 0, 0, 32, '<')

        sh = sect.get_section_header()
        self.assertEquals(sh.todata(), Elf32SectionHeader('<').todata())

        sect = UnpreparedElfSection("test")
        sect2 = UnpreparedElfSection("test")
        sect.link = sect2
        sect2 = sect2.prepare(0, 2, 0, 32, '<')
        sect = sect.prepare(0, 0, 0, 32, '<')
        sh = sect.get_section_header()
        self.assertEquals(sh.sh_link, 2)
Exemple #3
0
 def test_set_name_offset(self):
     sect = UnpreparedElfSection("test")
     self.assertEqual(hasattr(sect, "name_offset"), False)
     sect = sect.prepare(0, 0, 5, 32, "<")
     self.assertEqual(sect.name_offset, 5)
     sect.name_offset = 25
     self.assertEqual(sect.name_offset, 25)
Exemple #4
0
 def test_set_name_offset(self):
     sect = UnpreparedElfSection("test")
     self.assertEqual(hasattr(sect, "name_offset"), False)
     sect = sect.prepare(0, 0, 5, 32, '<')
     self.assertEqual(sect.name_offset, 5)
     sect.name_offset = 25
     self.assertEqual(sect.name_offset, 25)
Exemple #5
0
 def test_data_append(self):
     data = ByteArray("pants")
     sect = UnpreparedElfSection("test", data=data)
     self.assertEquals(sect.get_data(), data)
     sect.data_append(ByteArray("foo"))
     self.assertEquals(sect.get_data(), ByteArray("pantsfoo"))
     sect = sect.prepare(0, 0, 0, 32, "<")
     self.assertEqual(hasattr(sect, "data_append"), False)
Exemple #6
0
 def test_data_append(self):
     data = ByteArray("pants")
     sect = UnpreparedElfSection("test", data=data)
     self.assertEquals(sect.get_data(), data)
     sect.data_append(ByteArray("foo"))
     self.assertEquals(sect.get_data(), ByteArray("pantsfoo"))
     sect = sect.prepare(0, 0, 0, 32, '<')
     self.assertEqual(hasattr(sect, "data_append"), False)
Exemple #7
0
    def test_set_size(self):
        sect = UnpreparedElfSection("test")
        sect.set_size(37)
        self.assertEqual(sect.get_size(), 37)

        sect = UnpreparedElfSection("test", SHT_NOBITS)
        sect.set_size(37)
        self.assertEqual(sect.get_size(), 37)

        sect = UnpreparedElfSection("test", data=ByteArray("pants"))
        sect.set_size(3)
        self.assertEqual(sect.get_size(), 3)

        sect = UnpreparedElfSection("test", data=ByteArray("pants"))
        sect.set_size(10)
        self.assertEqual(sect.get_size(), 10)

        sect = UnpreparedElfSection("test", data=ByteArray("pants"))
        sect = sect.prepare(0, 0, 0, 32, "<")
        sect.set_size(4)
        self.assertEqual(sect.get_size(), 4)

        sect = UnpreparedElfSection("test", data=ByteArray("pants"))
        sect = sect.prepare(0, 0, 0, 32, "<")
        self.assertRaises(InvalidArgument, sect.set_size, 14)

        sect = UnpreparedElfSection("test", SHT_NOBITS)
        sect.set_size(37)
        sect = sect.prepare(0, 0, 0, 32, "<")
        self.assertRaises(InvalidArgument, sect.set_size, 69)

        sect = UnpreparedElfSection("test", SHT_NOBITS)
        sect.set_size(37)
        sect = sect.prepare(0, 0, 0, 32, "<")
        sect.set_size(12)
        self.assertEqual(sect.get_size(), 12)
Exemple #8
0
    def test_set_size(self):
        sect = UnpreparedElfSection("test")
        sect.set_size(37)
        self.assertEqual(sect.get_size(), 37)

        sect = UnpreparedElfSection("test", SHT_NOBITS)
        sect.set_size(37)
        self.assertEqual(sect.get_size(), 37)

        sect = UnpreparedElfSection("test", data=ByteArray("pants"))
        sect.set_size(3)
        self.assertEqual(sect.get_size(), 3)

        sect = UnpreparedElfSection("test", data=ByteArray("pants"))
        sect.set_size(10)
        self.assertEqual(sect.get_size(), 10)

        sect = UnpreparedElfSection("test", data=ByteArray("pants"))
        sect = sect.prepare(0, 0, 0, 32, '<')
        sect.set_size(4)
        self.assertEqual(sect.get_size(), 4)

        sect = UnpreparedElfSection("test", data=ByteArray("pants"))
        sect = sect.prepare(0, 0, 0, 32, '<')
        self.assertRaises(InvalidArgument, sect.set_size, 14)

        sect = UnpreparedElfSection("test", SHT_NOBITS)
        sect.set_size(37)
        sect = sect.prepare(0, 0, 0, 32, '<')
        self.assertRaises(InvalidArgument, sect.set_size, 69)

        sect = UnpreparedElfSection("test", SHT_NOBITS)
        sect.set_size(37)
        sect = sect.prepare(0, 0, 0, 32, '<')
        sect.set_size(12)
        self.assertEqual(sect.get_size(), 12)
Exemple #9
0
 def test_get_index(self):
     sect = UnpreparedElfSection("test")
     self.assertEqual(hasattr(sect, "get_index"), False)
     sect = sect.prepare(0, 15, 0, 32, "<")
     self.assertEqual(sect.index, 15)
Exemple #10
0
 def test_get_offset(self):
     sect = UnpreparedElfSection("test")
     self.assertEqual(hasattr(sect, "get_offset"), False)
     sect = sect.prepare(15, 0, 0, 32, "<")
     self.assertEqual(sect.offset, 15)
Exemple #11
0
 def test_setname_prepared(self):
     sect = UnpreparedElfSection("test")
     self.assertEqual(sect.name, "test")
     sect = sect.prepare(0, 0, 0, 32, "<")
     self.assertEqual(hasattr(sect, "set_name"), False)
Exemple #12
0
 def test_get_index(self):
     sect = UnpreparedElfSection("test")
     self.assertEqual(hasattr(sect, "get_index"), False)
     sect = sect.prepare(0, 15, 0, 32, '<')
     self.assertEqual(sect.index, 15)
Exemple #13
0
 def test_get_offset(self):
     sect = UnpreparedElfSection("test")
     self.assertEqual(hasattr(sect, "get_offset"), False)
     sect = sect.prepare(15, 0, 0, 32, '<')
     self.assertEqual(sect.offset, 15)
Exemple #14
0
 def test_setname_prepared(self):
     sect = UnpreparedElfSection("test")
     self.assertEqual(sect.name, "test")
     sect = sect.prepare(0, 0, 0, 32, '<')
     self.assertEqual(hasattr(sect, "set_name"), False)