diff --git a/test/scripts/ehloadtest.py b/test/scripts/ehloadtest.py index 437cc86..a93da37 100644 --- a/test/scripts/ehloadtest.py +++ b/test/scripts/ehloadtest.py @@ -16,7 +16,7 @@ class ModuleLoadHandler(pykd.eventHandler): self.wasLoad = 0 self.wasUnload = False - def onLoadModule(self, module): + def onModuleLoad(self, module): """Load module handler""" if ( fnmatch.fnmatch(module.name().lower(), self.moduleMask) ): @@ -24,7 +24,7 @@ class ModuleLoadHandler(pykd.eventHandler): return pykd.DEBUG_STATUS_NO_CHANGE - def onUnloadModule(self, modBase): + def onModuleUnload(self, modBase): """Unload module handler""" if ( self.wasLoad and (self.wasLoad == modBase) ): @@ -37,15 +37,21 @@ class EhLoadTest(unittest.TestCase): def testLoadUnload(self): """Start new process and track loading and unloading modules""" - pykd.startProcess(target.appPath + " -testLoadUnload") + pykd.startProcess(target.appPath + " loadunloadmodule") with testutils.ContextCallIt( pykd.killProcess ) as contextCallIt: - modLoadHandler = ModuleLoadHandler( "*Iphlpapi*" ) - with testutils.ContextCallIt( getattr(modLoadHandler, "reset") ) as resetEventHandler: - try: - while True: - pykd.go() - except pykd.WaitEventException: - pass + + pykd.go() # skip initail break + + modLoadHandler = ModuleLoadHandler( "ws2_32*" ) + + pykd.go() + + #with testutils.ContextCallIt( getattr(modLoadHandler, "reset") ) as resetEventHandler: + # try: + # while True: + # pykd.go() + # except pykd.WaitEventException: + # pass self.assertTrue(modLoadHandler.wasLoad) self.assertTrue(modLoadHandler.wasUnload) diff --git a/test/scripts/pykdtest.py b/test/scripts/pykdtest.py index 54d3d82..a53d91e 100644 --- a/test/scripts/pykdtest.py +++ b/test/scripts/pykdtest.py @@ -9,6 +9,8 @@ import unittest # Dynamically append current pykd.pyd path to PYTHONPATH sys.path.insert(0, os.path.dirname(sys.argv[1])) +print os.path.abspath(os.curdir) + import pykd import target @@ -25,6 +27,7 @@ import customtypestest import mspdbtest import excepttest import targetprocess +import ehloadtest pykd.initialize() @@ -61,6 +64,7 @@ def getTestSuite( singleName = "" ): unittest.TestLoader().loadTestsFromTestCase( stacktest.StackTest ), unittest.TestLoader().loadTestsFromTestCase( mspdbtest.MsPdbTest ), unittest.TestLoader().loadTestsFromTestCase( targetprocess.ProcessTest ), + unittest.TestLoader().loadTestsFromTestCase( ehloadtest.EhLoadTest ), #unittest.TestLoader().loadTestsFromTestCase( excepttest.ExceptionTest ), ] ) @@ -74,12 +78,12 @@ def getTestSuite( singleName = "" ): if __name__ == "__main__": - print "\nTesting PyKd ver. " + pykd.__version__ + print "\nTesting PyKd ver.", pykd.__version__, "File:", os.path.dirname(pykd.__file__) target.appPath = sys.argv[1] target.moduleName = os.path.splitext(os.path.basename(target.appPath))[0] unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( getTestSuite() ) - # raw_input("Press <ENTER>...") + #raw_input("Press <ENTER>...")