[0.2.x] + test case for workitem 11723

git-svn-id: https://pykd.svn.codeplex.com/svn@83440 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\EreTIk_cp 2013-04-22 15:53:28 +00:00 committed by Mikhail I. Izmestev
parent b4442b7383
commit 0aec1a092c
3 changed files with 35 additions and 1 deletions

28
test/scripts/mspdbtest.py Normal file
View File

@ -0,0 +1,28 @@
"""Public microsoft symbols tests"""
import unittest
import pykd
import os
class PeFileAsDumpLoader:
"""Load/unload PE-file from System as crash dump file"""
def __init__(self, fileName):
self._fileName = fileName
self._loaded = False
def __enter__(self):
pykd.loadDump(self._fileName)
self._loaded = True
def __exit__(self, exc_type, exc_value, exc_tb):
if self._loaded:
pykd.detachProcess()
self._loaded = False
class MsPdbTest(unittest.TestCase):
"""Public Microsoft symbols tests"""
def testFindMethodOffset(self):
"""Lookup method offset by name"""
with PeFileAsDumpLoader( os.environ["WINDIR"] + r"\System32\ole32.dll" ) as loadedDump:
self.assertNotEqual( 0, pykd.getOffset("ole32!CPackagerMoniker::AddRef") )

View File

@ -16,9 +16,10 @@ import target
import intbase import intbase
import memtest import memtest
import moduletest import moduletest
import typeinfo import typeinfo
import typedvar import typedvar
import regtest import regtest
import mspdbtest
import localstest import localstest
import customtypestest import customtypestest
import ehexcepttest import ehexcepttest
@ -53,6 +54,7 @@ def getTestSuite( singleName = "" ):
# ^^^ # ^^^
unittest.TestLoader().loadTestsFromTestCase( TerminateProcessTest ), unittest.TestLoader().loadTestsFromTestCase( TerminateProcessTest ),
unittest.TestLoader().loadTestsFromTestCase( mspdbtest.MsPdbTest ),
unittest.TestLoader().loadTestsFromTestCase( localstest.LocalVarsTest ), unittest.TestLoader().loadTestsFromTestCase( localstest.LocalVarsTest ),
unittest.TestLoader().loadTestsFromTestCase( ehexcepttest.EhExceptionTest ), unittest.TestLoader().loadTestsFromTestCase( ehexcepttest.EhExceptionTest ),
unittest.TestLoader().loadTestsFromTestCase( ehstatustest.EhStatusTest ), unittest.TestLoader().loadTestsFromTestCase( ehstatustest.EhStatusTest ),

View File

@ -609,6 +609,10 @@
RelativePath="..\scripts\moduletest.py" RelativePath="..\scripts\moduletest.py"
> >
</File> </File>
<File
RelativePath="..\scripts\mspdbtest.py"
>
</File>
<File <File
RelativePath="..\scripts\pykdtest.py" RelativePath="..\scripts\pykdtest.py"
> >