[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 typedvar
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 = "" ):
if singleName == "":
return unittest.TestSuite(
[
unittest.TestLoader().loadTestsFromTestCase( StartProcessWithoutParamsTest ),
unittest.TestLoader().loadTestsFromTestCase( target.TargetTest ),
# *** Test without start/kill new processes
unittest.TestLoader().loadTestsFromTestCase( intbase.IntBaseTest ),
unittest.TestLoader().loadTestsFromTestCase( moduletest.ModuleTest ),
unittest.TestLoader().loadTestsFromTestCase( memtest.MemoryTest ),
unittest.TestLoader().loadTestsFromTestCase( typeinfo.TypeInfoTest ),
unittest.TestLoader().loadTestsFromTestCase( typedvar.TypedVarTest ),
unittest.TestLoader().loadTestsFromTestCase( regtest.CpuRegTest ),
# ***
unittest.TestLoader().loadTestsFromTestCase( TerminateProcessTest ),
] )
else:
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]
#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() )
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
module = None
moduleName = None
processId = None
class TargetTest( unittest.TestCase ):
def testStartStop(self):
processId = pykd.startProcess( appPath )
pykd.killProcess( processId )
_locProcessId = pykd.startProcess( appPath )
pykd.killProcess( _locProcessId )

View File

@ -1,10 +1,14 @@
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Version="9.00"
Name="targetapp"
ProjectGUID="{C6254E16-AB8E-41EE-887D-31458E93FC68}"
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"
TargetFrameworkVersion="131072"
>