mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-21 04:13:22 +08:00
[test] added : regtest.py
git-svn-id: https://pykd.svn.codeplex.com/svn@69094 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
2234c675e9
commit
d01c8d0436
@ -13,6 +13,7 @@ import pykd
|
|||||||
import target
|
import target
|
||||||
import basetest
|
import basetest
|
||||||
import typeinfo
|
import typeinfo
|
||||||
|
import regtest
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
@ -30,6 +31,7 @@ if __name__ == "__main__":
|
|||||||
suite = unittest.TestSuite( [
|
suite = unittest.TestSuite( [
|
||||||
unittest.TestLoader().loadTestsFromTestCase( basetest.BaseTest ),
|
unittest.TestLoader().loadTestsFromTestCase( basetest.BaseTest ),
|
||||||
unittest.TestLoader().loadTestsFromTestCase( typeinfo.TypeInfoTest ),
|
unittest.TestLoader().loadTestsFromTestCase( typeinfo.TypeInfoTest ),
|
||||||
|
unittest.TestLoader().loadTestsFromTestCase( regtest.CpuRegTest )
|
||||||
] )
|
] )
|
||||||
|
|
||||||
unittest.TextTestRunner().run( suite )
|
unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( suite )
|
||||||
|
34
test/scripts/regtest.py
Normal file
34
test/scripts/regtest.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
import unittest
|
||||||
|
import pykd
|
||||||
|
import target
|
||||||
|
|
||||||
|
class CpuRegTest( unittest.TestCase ):
|
||||||
|
|
||||||
|
def testBasic(self):
|
||||||
|
try:
|
||||||
|
reg = pykd.cpuReg(0)
|
||||||
|
self.assertTrue(True)
|
||||||
|
except pykd.BaseException:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def testGPR(self):
|
||||||
|
|
||||||
|
if pykd.is64bitSystem():
|
||||||
|
|
||||||
|
rax = pykd.cpuReg("rax")
|
||||||
|
self.assertEqual( rax, pykd.reg("rax") )
|
||||||
|
|
||||||
|
rip = pykd.cpuReg("rip")
|
||||||
|
self.assertEqual( rip, pykd.reg("rip") )
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
eax = pykd.cpuReg("eax")
|
||||||
|
self.assertEqual( eax, pykd.reg("eax") )
|
||||||
|
|
||||||
|
eip = pykd.cpuReg("eip")
|
||||||
|
self.assertEqual( eip, pykd.reg("eip") )
|
||||||
|
|
||||||
|
|
@ -10,14 +10,12 @@ import target
|
|||||||
class TypeInfoTest( unittest.TestCase ):
|
class TypeInfoTest( unittest.TestCase ):
|
||||||
|
|
||||||
def testBasicTypes(self):
|
def testBasicTypes(self):
|
||||||
print "Testing basic types"
|
|
||||||
self.assertEqual( pykd.char_t.name(), "char" )
|
self.assertEqual( pykd.char_t.name(), "char" )
|
||||||
self.assertEqual( pykd.char_t.size(), 1 )
|
self.assertEqual( pykd.char_t.size(), 1 )
|
||||||
self.assertEqual( pykd.uchar_t.name(), "unsigned char" )
|
self.assertEqual( pykd.uchar_t.name(), "unsigned char" )
|
||||||
self.assertEqual( pykd.uchar_t.size(), 1 )
|
self.assertEqual( pykd.uchar_t.size(), 1 )
|
||||||
|
|
||||||
def testSimpleStruct(self):
|
def testSimpleStruct(self):
|
||||||
print "Testing simple struct"
|
|
||||||
ti = pykd.typeInfo( target.moduleName, "Type1" )
|
ti = pykd.typeInfo( target.moduleName, "Type1" )
|
||||||
self.assertEqual( hasattr( ti, "field1" ), True )
|
self.assertEqual( hasattr( ti, "field1" ), True )
|
||||||
self.assertEqual( hasattr( ti, "field2" ), True )
|
self.assertEqual( hasattr( ti, "field2" ), True )
|
||||||
@ -29,7 +27,6 @@ class TypeInfoTest( unittest.TestCase ):
|
|||||||
# self.assertLess( tv.field3 - 1.0095, 0.0001 )
|
# self.assertLess( tv.field3 - 1.0095, 0.0001 )
|
||||||
|
|
||||||
def testEnumField(self):
|
def testEnumField(self):
|
||||||
print "Testing enum field"
|
|
||||||
ti = pykd.typeInfo( target.moduleName, "Type2" )
|
ti = pykd.typeInfo( target.moduleName, "Type2" )
|
||||||
self.assertEqual( hasattr( ti, "field1" ), True )
|
self.assertEqual( hasattr( ti, "field1" ), True )
|
||||||
|
|
||||||
@ -37,7 +34,6 @@ class TypeInfoTest( unittest.TestCase ):
|
|||||||
self.assertEqual( tv.field1, 100 )
|
self.assertEqual( tv.field1, 100 )
|
||||||
|
|
||||||
def testNamespace(self):
|
def testNamespace(self):
|
||||||
print "Testing namespace"
|
|
||||||
ti1 = pykd.typeInfo( target.moduleName, "Namespace1::Class1" )
|
ti1 = pykd.typeInfo( target.moduleName, "Namespace1::Class1" )
|
||||||
ti2 = pykd.typeInfo( target.moduleName, "Namespace1::Namespace2::Class2" )
|
ti2 = pykd.typeInfo( target.moduleName, "Namespace1::Namespace2::Class2" )
|
||||||
var3 = pykd.typedVar( ti1, pykd.getOffset( target.moduleName, "Namespace1::var3" ) )
|
var3 = pykd.typedVar( ti1, pykd.getOffset( target.moduleName, "Namespace1::var3" ) )
|
||||||
@ -45,7 +41,6 @@ class TypeInfoTest( unittest.TestCase ):
|
|||||||
self.assertEqual( var3.m_field1, 50 )
|
self.assertEqual( var3.m_field1, 50 )
|
||||||
|
|
||||||
def testTemplates(self):
|
def testTemplates(self):
|
||||||
print "Testing templates"
|
|
||||||
ti3 = pykd.typeInfo( target.moduleName, "Namespace3::Class3<int>" )
|
ti3 = pykd.typeInfo( target.moduleName, "Namespace3::Class3<int>" )
|
||||||
var5 = pykd.typedVar( ti3, pykd.getOffset( target.moduleName, "Namespace3::var5" ) )
|
var5 = pykd.typedVar( ti3, pykd.getOffset( target.moduleName, "Namespace3::var5" ) )
|
||||||
self.assertEqual( var5.m_field1, 5 )
|
self.assertEqual( var5.m_field1, 5 )
|
||||||
|
Loading…
Reference in New Issue
Block a user