mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-20 03:23:23 +08:00
140 lines
6.8 KiB
Python
140 lines
6.8 KiB
Python
#
|
|
#
|
|
#
|
|
|
|
import unittest
|
|
import target
|
|
import pykd
|
|
|
|
class BaseTest( unittest.TestCase ):
|
|
|
|
def testOldSupportedRoutines( self ):
|
|
""" Branch test: old API 0.0.x what must be available """
|
|
|
|
self.assertTrue( hasattr(pykd, 'addSynSymbol') )
|
|
self.assertTrue( hasattr(pykd, 'attachKernel') )
|
|
self.assertTrue( hasattr(pykd, 'attachProcess') )
|
|
self.assertTrue( hasattr(pykd, 'addr64') )
|
|
self.assertTrue( hasattr(pykd, 'breakin') )
|
|
self.assertTrue( hasattr(pykd, 'compareMemory') )
|
|
self.assertTrue( hasattr(pykd, 'containingRecord') )
|
|
self.assertTrue( hasattr(pykd, 'dbgCommand') )
|
|
self.assertTrue( hasattr(pykd, 'dprint') )
|
|
self.assertTrue( hasattr(pykd, 'dprintln') )
|
|
self.assertTrue( hasattr(pykd, 'debuggerPath') )
|
|
self.assertTrue( hasattr(pykd, 'delAllSynSymbols') )
|
|
self.assertTrue( hasattr(pykd, 'delSynSymbol') )
|
|
self.assertTrue( hasattr(pykd, 'delSynSymbolsMask') )
|
|
self.assertTrue( hasattr(pykd, 'expr') )
|
|
self.assertTrue( hasattr(pykd, 'findSymbol') )
|
|
self.assertTrue( hasattr(pykd, 'getCurrentProcess') )
|
|
self.assertTrue( hasattr(pykd, 'getCurrentStack') )
|
|
self.assertTrue( hasattr(pykd, 'getImplicitThread') )
|
|
self.assertTrue( hasattr(pykd, 'getOffset') )
|
|
self.assertTrue( hasattr(pykd, 'getPdbFile') )
|
|
self.assertTrue( hasattr(pykd, 'getProcessorMode') )
|
|
self.assertTrue( hasattr(pykd, 'getProcessorType') )
|
|
self.assertTrue( hasattr(pykd, 'getThreadList') )
|
|
self.assertTrue( hasattr(pykd, 'go') )
|
|
self.assertTrue( hasattr(pykd, 'is64bitSystem') )
|
|
self.assertTrue( hasattr(pykd, 'isDumpAnalyzing') )
|
|
self.assertTrue( hasattr(pykd, 'isKernelDebugging') )
|
|
self.assertTrue( hasattr(pykd, 'isValid') )
|
|
self.assertTrue( hasattr(pykd, 'isWindbgExt') )
|
|
self.assertTrue( hasattr(pykd, 'loadAnsiString') )
|
|
self.assertTrue( hasattr(pykd, 'loadBytes') )
|
|
self.assertTrue( hasattr(pykd, 'loadCStr') )
|
|
self.assertTrue( hasattr(pykd, 'loadChars') )
|
|
self.assertTrue( hasattr(pykd, 'loadDWords') )
|
|
self.assertTrue( hasattr(pykd, 'loadDump') )
|
|
self.assertTrue( hasattr(pykd, 'loadModule') )
|
|
self.assertTrue( hasattr(pykd, 'loadQWords') )
|
|
self.assertTrue( hasattr(pykd, 'loadPtrs') )
|
|
self.assertTrue( hasattr(pykd, 'loadSignBytes') )
|
|
self.assertTrue( hasattr(pykd, 'loadSignDWords') )
|
|
self.assertTrue( hasattr(pykd, 'loadSignQWords') )
|
|
self.assertTrue( hasattr(pykd, 'loadSignWords') )
|
|
self.assertTrue( hasattr(pykd, 'loadUnicodeString') )
|
|
self.assertTrue( hasattr(pykd, 'loadWChars') )
|
|
self.assertTrue( hasattr(pykd, 'loadWStr') )
|
|
self.assertTrue( hasattr(pykd, 'loadWords') )
|
|
self.assertTrue( hasattr(pykd, 'ptrByte') )
|
|
self.assertTrue( hasattr(pykd, 'ptrDWord') )
|
|
self.assertTrue( hasattr(pykd, 'ptrMWord') )
|
|
self.assertTrue( hasattr(pykd, 'ptrPtr') )
|
|
self.assertTrue( hasattr(pykd, 'ptrQWord') )
|
|
self.assertTrue( hasattr(pykd, 'ptrSignByte') )
|
|
self.assertTrue( hasattr(pykd, 'ptrSignDWord') )
|
|
self.assertTrue( hasattr(pykd, 'ptrSignMWord') )
|
|
self.assertTrue( hasattr(pykd, 'ptrSignQWord') )
|
|
self.assertTrue( hasattr(pykd, 'ptrSignWord') )
|
|
self.assertTrue( hasattr(pykd, 'ptrSize') )
|
|
self.assertTrue( hasattr(pykd, 'ptrWord') )
|
|
self.assertTrue( hasattr(pykd, 'rdmsr') )
|
|
self.assertTrue( hasattr(pykd, 'reg') )
|
|
self.assertTrue( hasattr(pykd, 'setCurrentProcess') )
|
|
self.assertTrue( hasattr(pykd, 'setImplicitThread') )
|
|
self.assertTrue( hasattr(pykd, 'setProcessorMode') )
|
|
self.assertTrue( hasattr(pykd, 'startProcess') )
|
|
self.assertTrue( hasattr(pykd, 'step') )
|
|
self.assertTrue( hasattr(pykd, 'symbolsPath') )
|
|
self.assertTrue( hasattr(pykd, 'typedVarArray') )
|
|
self.assertTrue( hasattr(pykd, 'typedVarList') )
|
|
self.assertTrue( hasattr(pykd, 'trace') )
|
|
self.assertTrue( hasattr(pykd, 'wrmsr') )
|
|
|
|
|
|
def testOldSupportedClass( self ):
|
|
""" Branch test: old API 0.0.x class must be available """
|
|
self.assertTrue( hasattr(pykd, 'BaseException') )
|
|
self.assertTrue( hasattr(pykd, 'MemoryException') )
|
|
self.assertTrue( hasattr(pykd, 'TypeException') )
|
|
self.assertTrue( hasattr(pykd, 'WaitEventException') )
|
|
self.assertTrue( hasattr(pykd, 'cpuReg') )
|
|
self.assertTrue( hasattr(pykd, 'disasm') )
|
|
self.assertTrue( hasattr(pykd, 'ext') )
|
|
self.assertTrue( hasattr(pykd, 'intBase') )
|
|
self.assertTrue( hasattr(pykd, 'typeInfo') )
|
|
self.assertTrue( hasattr(pykd, 'typedVar') )
|
|
|
|
def testOldRemovedApi( self ):
|
|
""" Branch test: old API 0.0.x what should be removed """
|
|
self.assertFalse( hasattr(pykd, 'dbgModuleClass') )
|
|
self.assertFalse( hasattr(pykd, 'dbgStackFrameClass') )
|
|
self.assertFalse( hasattr(pykd, 'debugEvent') )
|
|
self.assertFalse( hasattr(pykd, 'findModule') )
|
|
self.assertFalse( hasattr(pykd, 'loadLinkedList') )
|
|
self.assertFalse( hasattr(pykd, 'reloadModule') )
|
|
self.assertFalse( hasattr(pykd, 'sizeof') )
|
|
self.assertFalse( hasattr(pykd, 'windbgIn') )
|
|
self.assertFalse( hasattr(pykd, 'windbgOut') )
|
|
self.assertFalse( hasattr(pykd, 'bp') )
|
|
|
|
def testNewAddededApi( self ):
|
|
""" Branch test: new API 0.1.x what must be available """
|
|
self.assertTrue( hasattr(pykd, 'createDbgClient') )
|
|
self.assertTrue( hasattr(pykd, 'detachProcess') )
|
|
self.assertTrue( hasattr(pykd, 'diaLoadPdb') )
|
|
self.assertTrue( hasattr(pykd, 'getDebuggeeType' ) )
|
|
self.assertTrue( hasattr(pykd, 'getLocals' ) )
|
|
self.assertTrue( hasattr(pykd, 'getExecutionStatus' ) )
|
|
self.assertTrue( hasattr(pykd, 'killProcess') )
|
|
self.assertTrue( hasattr(pykd, 'loadExt') )
|
|
self.assertTrue( hasattr(pykd, 'loadPtrList') )
|
|
self.assertTrue( hasattr(pykd, 'setExecutionStatus') )
|
|
self.assertTrue( hasattr(pykd, 'waitForEvent') )
|
|
|
|
self.assertTrue( hasattr(pykd, 'setBp') )
|
|
self.assertTrue( hasattr(pykd, 'getAllBp') )
|
|
self.assertTrue( hasattr(pykd, 'removeBp') )
|
|
|
|
self.assertTrue( hasattr(pykd, 'DiaException') )
|
|
self.assertTrue( hasattr(pykd, 'DiaScope') )
|
|
self.assertTrue( hasattr(pykd, 'DiaSymbol') )
|
|
self.assertTrue( hasattr(pykd, 'dbgClient') )
|
|
self.assertTrue( hasattr(pykd, 'din') )
|
|
self.assertTrue( hasattr(pykd, 'dout') )
|
|
self.assertTrue( hasattr(pykd, 'eventHandler' ) )
|
|
self.assertTrue( hasattr(pykd, 'module') )
|
|
self.assertTrue( hasattr(pykd, 'stackFrame') )
|