[0.2.x] ~ start/kill process as test

git-svn-id: https://pykd.svn.codeplex.com/svn@79356 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\EreTIk_cp 2012-09-04 12:02:00 +00:00 committed by Mikhail I. Izmestev
parent b0525b1802
commit 71b3f0df9e
3 changed files with 24 additions and 120 deletions

View File

@ -19,18 +19,33 @@ import moduletest
import typeinfo import typeinfo
import typedvar import typedvar
import regtest import regtest
class StartProcessWithoutParamsTest(unittest.TestCase):
def testStart(self):
target.processId = pykd.startProcess( target.appPath )
target.module = pykd.module( target.moduleName )
target.module.reload();
pykd.go()
class TerminateProcessTest(unittest.TestCase):
def testKill(self):
pykd.killProcess( target.processId )
def getTestSuite( singleName = "" ): def getTestSuite( singleName = "" ):
if singleName == "": if singleName == "":
return unittest.TestSuite( return unittest.TestSuite(
[ [
unittest.TestLoader().loadTestsFromTestCase( StartProcessWithoutParamsTest ),
unittest.TestLoader().loadTestsFromTestCase( target.TargetTest ), unittest.TestLoader().loadTestsFromTestCase( target.TargetTest ),
# *** Test without start/kill new processes
unittest.TestLoader().loadTestsFromTestCase( intbase.IntBaseTest ), unittest.TestLoader().loadTestsFromTestCase( intbase.IntBaseTest ),
unittest.TestLoader().loadTestsFromTestCase( moduletest.ModuleTest ), unittest.TestLoader().loadTestsFromTestCase( moduletest.ModuleTest ),
unittest.TestLoader().loadTestsFromTestCase( memtest.MemoryTest ), unittest.TestLoader().loadTestsFromTestCase( memtest.MemoryTest ),
unittest.TestLoader().loadTestsFromTestCase( typeinfo.TypeInfoTest ), unittest.TestLoader().loadTestsFromTestCase( typeinfo.TypeInfoTest ),
unittest.TestLoader().loadTestsFromTestCase( typedvar.TypedVarTest ), unittest.TestLoader().loadTestsFromTestCase( typedvar.TypedVarTest ),
unittest.TestLoader().loadTestsFromTestCase( regtest.CpuRegTest ), unittest.TestLoader().loadTestsFromTestCase( regtest.CpuRegTest ),
# ***
unittest.TestLoader().loadTestsFromTestCase( TerminateProcessTest ),
] ) ] )
else: else:
return unittest.TestSuite( unittest.TestLoader().loadTestsFromName( singleName ) ) return unittest.TestSuite( unittest.TestLoader().loadTestsFromName( singleName ) )
@ -43,120 +58,4 @@ if __name__ == "__main__":
target.moduleName = os.path.splitext(os.path.basename(target.appPath))[0] target.moduleName = os.path.splitext(os.path.basename(target.appPath))[0]
#print "Test module: %s" % target.appPath #print "Test module: %s" % target.appPath
processId = pykd.startProcess( target.appPath )
target.module = pykd.module( target.moduleName )
target.module.reload();
pykd.go()
unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( getTestSuite() ) unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( getTestSuite() )
pykd.killProcess( processId )
#import target
#import moduletest
#import basetest
#import typeinfo
#import regtest
#import moduletest
#import diatest
#import dbgcmd
#import clienttest
#import eventtest
#import typedvar
#import memtest
#import intbase
#import synsymtest
#import ehloadtest
#import thrdctxtest
#import localstest
#import ehexcepttest
#def getTestSuite( singleName = "" ):
# if singleName == "":
# return unittest.TestSuite(
# [
# unittest.TestLoader().loadTestsFromTestCase( target.TargetTest ),
# unittest.TestLoader().loadTestsFromTestCase( moduletest.ModuleTest ),
# unittest.TestLoader().loadTestsFromTestCase( basetest.BaseTest ),
# unittest.TestLoader().loadTestsFromTestCase( moduletest.ModuleTest ),
# unittest.TestLoader().loadTestsFromTestCase( diatest.DiaTest ),
# unittest.TestLoader().loadTestsFromTestCase( typeinfo.TypeInfoTest ),
# unittest.TestLoader().loadTestsFromTestCase( typedvar.TypedVarTest ),
# unittest.TestLoader().loadTestsFromTestCase( dbgcmd.DbgcmdTest ),
# unittest.TestLoader().loadTestsFromTestCase( clienttest.DbgClientTest ),
# unittest.TestLoader().loadTestsFromTestCase( eventtest.EventTest ),
# unittest.TestLoader().loadTestsFromTestCase( memtest.MemoryTest ),
# unittest.TestLoader().loadTestsFromTestCase( intbase.IntBaseTest ),
# unittest.TestLoader().loadTestsFromTestCase( synsymtest.SynSymTest ),
# unittest.TestLoader().loadTestsFromTestCase( thrdctxtest.ThreadContextTest ),
# unittest.TestLoader().loadTestsFromTestCase( regtest.CpuRegTest ),
# ] )
# else:
# return unittest.TestSuite( unittest.TestLoader().loadTestsFromName( singleName ) )
#def getNewProcessTestSuite():
# return unittest.TestSuite(
# [
# unittest.TestLoader().loadTestsFromTestCase( ehloadtest.EhLoadTest ),
# # unittest.TestLoader().loadTestsFromTestCase( localstest.LocalVarsTest ),
# # unittest.TestLoader().loadTestsFromTestCase( ehexcepttest.EhExceptionBreakpointTest ),
# ] )
#if __name__ == "__main__":
# print "\nTesting PyKd ver. " + pykd.version
# target.appPath = sys.argv[1]
# unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( getTestSuite() )
#target.appPath = sys.argv[1]
#target.moduleName = os.path.splitext(os.path.basename(target.appPath))[0]
#print "Test module: %s" % target.appPath
#pykd.startProcess( target.appPath )
#target.module = pykd.loadModule( target.moduleName )
#target.module.reload();
#pykd.go()
#print ""
#oneProcessTests = getTestSuite()
#oneProcessTests = getTestSuite( "diatest.DiaTest.testFind" )
#oneProcessTests = getTestSuite( "typedvar.TypedVarTest.testTypeVarArg" )
#oneProcessTests = getTestSuite( "typeinfo.TypeInfoTest.testCreateByName" )
#oneProcessTests = getTestSuite( "typedvar.TypedVarTest.testBitField" )
#unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( oneProcessTests )
#pykd.killProcess()
#unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( getNewProcessTestSuite() )
#raw_input("\npress return\n")

View File

@ -8,12 +8,13 @@ import pykd
appPath = None appPath = None
module = None module = None
moduleName = None moduleName = None
processId = None
class TargetTest( unittest.TestCase ): class TargetTest( unittest.TestCase ):
def testStartStop(self): def testStartStop(self):
processId = pykd.startProcess( appPath ) _locProcessId = pykd.startProcess( appPath )
pykd.killProcess( processId ) pykd.killProcess( _locProcessId )

View File

@ -1,10 +1,14 @@
<?xml version="1.0" encoding="windows-1251"?> <?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9,00" Version="9.00"
Name="targetapp" Name="targetapp"
ProjectGUID="{C6254E16-AB8E-41EE-887D-31458E93FC68}" ProjectGUID="{C6254E16-AB8E-41EE-887D-31458E93FC68}"
RootNamespace="targetapp" RootNamespace="targetapp"
SccProjectName="$/pykd/branch/0.2.x/test/targetapp"
SccAuxPath="https://tfs.codeplex.com/tfs/TFS08"
SccLocalPath="."
SccProvider="{4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}"
Keyword="Win32Proj" Keyword="Win32Proj"
TargetFrameworkVersion="131072" TargetFrameworkVersion="131072"
> >