pykd

Форк
0
/
synsymtest.py 
42 строки · 1.4 Кб
1
"""Synthetic symbols tests"""
2

3
import unittest
4
import target
5
import pykd
6

7
class SynSymTest(unittest.TestCase):
8
    """Unit tests of synthetic symbols"""
9

10
    def testAdd(self):
11
        """Add new synthetic symbol"""
12
        _addr = target.module.offset("FuncTestClass::staticMethod") - 1
13

14
        pykd.addSyntheticSymbol(_addr, 1, "synSym1")
15
        self.assertEqual(target.module.synSym1, _addr)
16

17
        self.assertRaises( pykd.DbgException, pykd.addSyntheticSymbol, _addr, 1, "synSym1" )
18

19
    def testDel(self):
20
        """Remove synthetic symbol"""
21
        _addr = target.module.offset("FuncTestClass::staticMethod") - 2
22

23
        _synsym = pykd.addSyntheticSymbol(_addr, 1, "synSym2")
24
        self.assertEqual(target.module.synSym2, _addr)
25

26
        pykd.removeSyntheticSymbol(_synsym)
27

28
        self.assertRaises( pykd.DbgException, target.module.offset, "synSym2" )
29

30
        self.assertRaises( pykd.DbgException, pykd.removeSyntheticSymbol, _synsym )
31

32
    def testModule(self):
33
        """Add and remove synthetic module"""
34
        base = 64 * 1024
35

36
        pykd.addSyntheticModule(base, 1024, "artificial_module1")
37
        pykd.addSyntheticModule(base + 1024, 1024, "artificial_module2", "artificial_module2_path")
38

39
        pykd.removeSyntheticSymbol( pykd.addSyntheticSymbol(base, 1, "artificial_symbol") )
40

41
        pykd.removeSyntheticModule(base + 1024)
42
        pykd.removeSyntheticModule(base)
43

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.