mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-19 11:03:23 +08:00
adopted exsisting tests for new kdlibcpp
This commit is contained in:
parent
20a3c5904a
commit
1adbbb5811
@ -6,7 +6,7 @@ import os
|
|||||||
class ARM64DumpTest(unittest.TestCase):
|
class ARM64DumpTest(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
dump_file = os.path.join( os.path.dirname(sys.argv[0]),
|
dump_file = os.path.join( os.path.dirname(sys.argv[0]),
|
||||||
r"..\..\kdlibcpp\kdlib\tests\dumps\win10_arm64_mem.cab" )
|
r"..\..\kdlibcpp\kdlib\tests\dumps\win10_arm64_mem\win10_arm64_mem.cab" )
|
||||||
self.dump_id = pykd.loadDump( dump_file )
|
self.dump_id = pykd.loadDump( dump_file )
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
@ -14,41 +14,41 @@ class ARM64DumpTest(unittest.TestCase):
|
|||||||
|
|
||||||
def testArm64(self):
|
def testArm64(self):
|
||||||
# dbgmem
|
# dbgmem
|
||||||
self.assertEqual( 0, pykd.addr64(0) )
|
self.assertEqual( 0, pykd.addr64(0) )
|
||||||
self.assertEqual( 0x80000000, pykd.addr64(0x80000000) )
|
self.assertEqual( 0x80000000, pykd.addr64(0x80000000) )
|
||||||
|
|
||||||
# dbgeng
|
# dbgeng
|
||||||
self.assertEqual( pykd.CPUType.ARM64, pykd.getCPUType() )
|
self.assertEqual( pykd.CPUType.ARM64, pykd.getCPUType() )
|
||||||
self.assertEqual( pykd.CPUType.ARM64, pykd.getCPUMode() )
|
self.assertEqual( pykd.CPUType.ARM64, pykd.getCPUMode() )
|
||||||
|
|
||||||
self.assertTrue( pykd.is64bitSystem() )
|
self.assertTrue( pykd.is64bitSystem() )
|
||||||
self.assertEqual( 8, pykd.ptrSize() )
|
self.assertEqual( 8, pykd.ptrSize() )
|
||||||
|
|
||||||
self.assertEqual( pykd.expr("@$retreg"), pykd.reg("x0") )
|
self.assertEqual( pykd.expr("@$retreg"), pykd.reg("x0") )
|
||||||
|
|
||||||
# typeinfo
|
# typeinfo
|
||||||
self.assertEqual( 8, pykd.typeInfo("nt!_IRP*").size() )
|
self.assertEqual( 8, pykd.typeInfo("nt!_IRP*").size() )
|
||||||
|
|
||||||
# symexport
|
# symexport
|
||||||
self.assertEqual( pykd.expr("clipsp!ClipSpInitialize"), pykd.module("clipsp").ClipSpInitialize )
|
self.assertEqual( pykd.expr("clipsp!ClipSpInitialize"), pykd.module("clipsp").ClipSpInitialize )
|
||||||
|
|
||||||
# cpu context
|
# cpu context
|
||||||
cpu = pykd.cpu()
|
cpu = pykd.cpu()
|
||||||
self.assertEqual( pykd.expr("@$ip"), cpu.ip )
|
self.assertEqual( pykd.expr("@$ip"), cpu.ip )
|
||||||
self.assertEqual( pykd.expr("@$csp"), cpu.sp )
|
self.assertEqual( pykd.expr("@$csp"), cpu.sp )
|
||||||
self.assertEqual( pykd.expr("@fp"), cpu.fp )
|
self.assertEqual( pykd.expr("@fp"), cpu.fp )
|
||||||
|
|
||||||
# stack
|
# stack
|
||||||
stack = pykd.getStack()
|
stack = pykd.getStack()
|
||||||
|
|
||||||
self.assertTrue( len(stack) > 11 )
|
self.assertTrue( len(stack) > 11 )
|
||||||
|
|
||||||
self.assertEqual( "nt!KeBugCheck2", pykd.findSymbol(stack[0].ip, False) )
|
self.assertEqual( "nt!KeBugCheck2", pykd.findSymbol(stack[0].ip, False) )
|
||||||
|
|
||||||
self.assertEqual( "Wdf01000!FxRequest::CompleteInternal", pykd.findSymbol(stack[11].ip, False) )
|
self.assertEqual( "Wdf01000!FxRequest::CompleteInternal", pykd.findSymbol(stack[11].ip, False) )
|
||||||
self.assertEqual( 0, stack[11].getParam("Status") )
|
self.assertEqual( 0, stack[11].getParam("Status") )
|
||||||
self.assertEqual( 0xffffc18eaa798940, stack[11].getLocal("irp").m_Irp )
|
self.assertEqual( 0xffffc18eaa798940, stack[11].getLocal("irp").m_Irp )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import os
|
|||||||
class ARMDumpTest(unittest.TestCase):
|
class ARMDumpTest(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
dump_file = os.path.join( os.path.dirname(sys.argv[0]),
|
dump_file = os.path.join( os.path.dirname(sys.argv[0]),
|
||||||
r"..\..\kdlibcpp\kdlib\tests\dumps\win10_arm_rpi3_mem.cab" )
|
r"..\..\kdlibcpp\kdlib\tests\dumps\win10_arm_rpi3_mem\win10_arm_rpi3_mem.cab" )
|
||||||
self.dump_id = pykd.loadDump( dump_file )
|
self.dump_id = pykd.loadDump( dump_file )
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
|
@ -6,7 +6,7 @@ import os
|
|||||||
class TaggedTest(unittest.TestCase):
|
class TaggedTest(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
dump_file = os.path.join( os.path.dirname(sys.argv[0]),
|
dump_file = os.path.join( os.path.dirname(sys.argv[0]),
|
||||||
r"..\..\kdlibcpp\kdlib\tests\dumps\win8_x64_mem.cab" )
|
r"..\..\kdlibcpp\kdlib\tests\dumps\win8_x64_mem\win8_x64_mem.cab" )
|
||||||
self.dump_id = pykd.loadDump( dump_file )
|
self.dump_id = pykd.loadDump( dump_file )
|
||||||
|
|
||||||
self._existing_id = "D03DC06F-D88E-44C5-BA2A-FAE035172D19"
|
self._existing_id = "D03DC06F-D88E-44C5-BA2A-FAE035172D19"
|
||||||
|
@ -356,7 +356,7 @@ class TypeInfoTest( unittest.TestCase ):
|
|||||||
typeProvider = pykd.getTypeInfoProviderFromPdb(pdb)
|
typeProvider = pykd.getTypeInfoProviderFromPdb(pdb)
|
||||||
self.assertEqual("structTest", typeProvider.getTypeByName("structTest").name())
|
self.assertEqual("structTest", typeProvider.getTypeByName("structTest").name())
|
||||||
self.assertEqual("structTest", typeProvider.structTest.name())
|
self.assertEqual("structTest", typeProvider.structTest.name())
|
||||||
self.assertEqual(22, len(list(typeProvider.typeIterator("*struct*"))))
|
self.assertEqual(13, len(list(typeProvider.typeIterator("*struct*"))))
|
||||||
|
|
||||||
def testScopeName(self):
|
def testScopeName(self):
|
||||||
self.assertEqual( target.module.name(), pykd.typeInfo( "structTest" ).scopeName() )
|
self.assertEqual( target.module.name(), pykd.typeInfo( "structTest" ).scopeName() )
|
||||||
|
Loading…
Reference in New Issue
Block a user