pykd

Форк
0
/
pykdtest.py 
104 строки · 4.2 Кб
1
#
2
#
3
#
4

5
import sys
6
import os
7
import unittest
8

9
# Dynamically append current pykd.pyd path to PYTHONPATH
10
sys.path.insert(0, os.path.abspath(os.curdir) )
11

12
import pykd
13

14
import target
15

16
#import intbase
17
import memtest
18
import moduletest
19
import typeinfo
20
import typedvar
21
import breakpoint
22
import regtest
23
import stacktest
24
import customtypestest
25
import mspdbtest
26
import excepttest
27
import targetprocess
28
import ehloadtest
29
import synsymtest
30
import taggedtest
31
import arm64dumptest
32
import armdumptest
33
import eventtest
34

35
pykd.initialize()
36

37
class StartProcessWithoutParamsTest(unittest.TestCase):
38
    def testStart(self):
39
       target.processId = pykd.startProcess( target.appPath )
40
       target.module = pykd.module( target.moduleName )
41
       target.module.reload();
42
      #  print "\n" + str( pykd.getSystemVersion() )
43
       pykd.go()
44

45
class TerminateProcessTest(unittest.TestCase):
46
    def testKill(self):
47
        pykd.killProcess( target.processId )
48

49
def getTestSuite( singleName = "" ):
50
    if singleName == "":
51
        return unittest.TestSuite(
52
           [
53
                #unittest.TestLoader().loadTestsFromTestCase( intbase.IntBaseTest ),
54

55
                unittest.TestLoader().loadTestsFromTestCase( StartProcessWithoutParamsTest ),
56
                # *** Test without start/kill new processes
57
                #unittest.TestLoader().loadTestsFromTestCase( moduletest.ModuleTest ),
58
                unittest.TestLoader().loadTestsFromTestCase( memtest.MemoryTest ),
59
                unittest.TestLoader().loadTestsFromTestCase( typeinfo.TypeInfoTest ),
60
                unittest.TestLoader().loadTestsFromTestCase( typedvar.TypedVarTest ),
61
                unittest.TestLoader().loadTestsFromTestCase( regtest.CpuRegTest ),
62
                unittest.TestLoader().loadTestsFromTestCase( customtypestest.CustomTypesTest ),
63
                unittest.TestLoader().loadTestsFromTestCase( synsymtest.SynSymTest ),
64
                # ^^^
65
                unittest.TestLoader().loadTestsFromTestCase( TerminateProcessTest ),
66

67
                unittest.TestLoader().loadTestsFromTestCase( breakpoint.BreakpointTest ),
68
                unittest.TestLoader().loadTestsFromTestCase( stacktest.StackTest ),
69
                unittest.TestLoader().loadTestsFromTestCase( stacktest.InlineStackTest ),
70
                unittest.TestLoader().loadTestsFromTestCase( stacktest.DiaRegToRegRelativeI386Test ),
71
                unittest.TestLoader().loadTestsFromTestCase( stacktest.DiaRegToRegRelativeAmd64Test ),
72
                unittest.TestLoader().loadTestsFromTestCase( mspdbtest.MsPdbTest ),
73
                unittest.TestLoader().loadTestsFromTestCase( targetprocess.ProcessTest ),
74
                unittest.TestLoader().loadTestsFromTestCase( ehloadtest.EhLoadTest ),
75
                unittest.TestLoader().loadTestsFromTestCase( taggedtest.TaggedTest ),
76
                unittest.TestLoader().loadTestsFromTestCase( arm64dumptest.ARM64DumpTest ),
77
                unittest.TestLoader().loadTestsFromTestCase( armdumptest.ARMDumpTest ),
78
                unittest.TestLoader().loadTestsFromTestCase( eventtest.OutputHandlerTest ),
79
               
80
                #unittest.TestLoader().loadTestsFromTestCase( excepttest.ExceptionTest ),
81
            ] ) 
82
    else:
83
       return unittest.TestSuite(
84
          [
85
                unittest.TestLoader().loadTestsFromTestCase( StartProcessWithoutParamsTest ),
86
                unittest.TestLoader().loadTestsFromName( singleName ),
87
                unittest.TestLoader().loadTestsFromTestCase( TerminateProcessTest )
88
          ] )
89
          
90
if __name__ == "__main__":
91

92
    print( "\nTesting PyKd ver. %s" % pykd.__version__ )
93
    print( "Directory: %s" % os.path.dirname(pykd.__file__) )
94

95
    target.appPath = os.path.join( os.path.dirname(pykd.__file__), "targetapp.exe" )
96
    target.moduleName = os.path.splitext(os.path.basename(target.appPath))[0]
97

98
    unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( getTestSuite() )
99
    #unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( getTestSuite("typedvar.TypedVarTest.testEvalExprScopeLong") )
100

101
    try: input = raw_input
102
    except NameError: pass
103
    
104
    input("Press <ENTER>...")
105

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

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

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

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