pykd/test/scripts/moduletest.py
2017-11-08 17:27:51 +04:00

66 lines
2.3 KiB
Python

#
#
#
import unittest
import target
import pykd
class ModuleTest( unittest.TestCase ):
def testCtor( self ):
self.assertEqual( target.module.name(), pykd.module(target.module.begin() ).name() )
self.assertEqual( target.module.name(), pykd.module(target.module.name() ).name() )
def testName( self ):
self.assertEqual( target.moduleName, target.module.name() )
def testSize( self ):
self.assertNotEqual( 0, target.module.size() )
def testBegin( self ):
self.assertNotEqual( 0, target.module.begin() )
self.assertEqual( target.module.begin(), target.module )
self.assertEqual( target.module.begin() + 100, target.module + 100 )
def testEnd( self ):
self.assertEqual( target.module.size(), target.module.end() - target.module.begin() )
def testPdb( self ):
self.assertNotEqual( "", target.module.pdb() )
def testImage( self ):
self.assertEqual( target.module.name() + ".exe", target.module.image() )
def testFindModule( self ):
try:
pykd.loadModule( target.module.begin() - 0x10 )
self.assertTrue( False )
except pykd.BaseException:
self.assertTrue( True )
self.assertNotEqual( None, pykd.loadModule( target.module.begin() ) )
self.assertNotEqual( None, pykd.loadModule( target.module.begin() + 0x10) )
try:
pykd.loadModule( target.module.end() )
self.assertTrue( False )
except pykd.BaseException:
self.assertTrue( True )
try:
pykd.loadModule( target.module.end() + 0x10 )
self.assertTrue( False )
except pykd.BaseException:
self.assertTrue( True )
def testSymbol( self ):
self.assertEqual( target.module.rva("FuncWithName0"), target.module.offset("FuncWithName0") - target.module.begin() )
self.assertEqual( target.module.rva("FuncWithName0"), target.module.FuncWithName0 - target.module.begin() )
def testType( self ):
self.assertEqual( "structTest", target.module.type("structTest").name() );
self.assertEqual( "structTest", target.module.type("g_structTest").name() );