2011-08-15 01:52:03 +08:00
|
|
|
#
|
|
|
|
#
|
|
|
|
#
|
2011-07-27 19:07:14 +08:00
|
|
|
|
2011-06-07 00:48:10 +08:00
|
|
|
import sys
|
|
|
|
import os
|
|
|
|
import unittest
|
2011-08-15 01:52:03 +08:00
|
|
|
|
|
|
|
# Dynamically append current pykd.pyd path to PYTHONPATH
|
2011-09-22 00:25:06 +08:00
|
|
|
sys.path.insert(0, os.path.dirname(sys.argv[1]))
|
2012-07-27 18:28:50 +08:00
|
|
|
|
2011-07-27 19:07:14 +08:00
|
|
|
import pykd
|
2011-08-15 01:52:03 +08:00
|
|
|
|
2011-07-27 19:07:14 +08:00
|
|
|
import target
|
2012-07-31 21:40:05 +08:00
|
|
|
|
2011-11-25 15:18:38 +08:00
|
|
|
import intbase
|
2012-07-31 21:40:05 +08:00
|
|
|
import memtest
|
|
|
|
import moduletest
|
2012-08-02 17:14:03 +08:00
|
|
|
import typeinfo
|
2012-08-07 00:14:56 +08:00
|
|
|
import typedvar
|
2012-08-07 19:15:23 +08:00
|
|
|
import regtest
|
2012-07-27 18:28:50 +08:00
|
|
|
|
2011-08-25 16:04:04 +08:00
|
|
|
def getTestSuite( singleName = "" ):
|
|
|
|
if singleName == "":
|
|
|
|
return unittest.TestSuite(
|
2012-07-27 18:28:50 +08:00
|
|
|
[
|
|
|
|
unittest.TestLoader().loadTestsFromTestCase( target.TargetTest ),
|
|
|
|
unittest.TestLoader().loadTestsFromTestCase( intbase.IntBaseTest ),
|
2012-07-31 21:40:05 +08:00
|
|
|
unittest.TestLoader().loadTestsFromTestCase( moduletest.ModuleTest ),
|
2012-08-02 17:14:03 +08:00
|
|
|
unittest.TestLoader().loadTestsFromTestCase( memtest.MemoryTest ),
|
|
|
|
unittest.TestLoader().loadTestsFromTestCase( typeinfo.TypeInfoTest ),
|
2012-08-07 00:14:56 +08:00
|
|
|
unittest.TestLoader().loadTestsFromTestCase( typedvar.TypedVarTest ),
|
2012-08-07 19:15:23 +08:00
|
|
|
unittest.TestLoader().loadTestsFromTestCase( regtest.CpuRegTest ),
|
2012-07-27 18:28:50 +08:00
|
|
|
] )
|
2011-08-25 16:04:04 +08:00
|
|
|
else:
|
|
|
|
return unittest.TestSuite( unittest.TestLoader().loadTestsFromName( singleName ) )
|
2011-07-27 19:07:14 +08:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
2012-01-16 23:19:41 +08:00
|
|
|
print "\nTesting PyKd ver. " + pykd.version
|
2012-07-27 18:28:50 +08:00
|
|
|
|
2011-12-06 17:26:58 +08:00
|
|
|
target.appPath = sys.argv[1]
|
|
|
|
target.moduleName = os.path.splitext(os.path.basename(target.appPath))[0]
|
2012-07-27 18:28:50 +08:00
|
|
|
#print "Test module: %s" % target.appPath
|
2011-07-27 19:07:14 +08:00
|
|
|
|
2012-07-27 18:28:50 +08:00
|
|
|
processId = pykd.startProcess( target.appPath )
|
|
|
|
target.module = pykd.module( target.moduleName )
|
2011-09-21 23:53:02 +08:00
|
|
|
target.module.reload();
|
2012-07-27 18:28:50 +08:00
|
|
|
|
2011-12-15 18:34:03 +08:00
|
|
|
pykd.go()
|
2012-08-13 19:34:26 +08:00
|
|
|
|
2012-07-27 18:28:50 +08:00
|
|
|
unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( getTestSuite() )
|
|
|
|
|
|
|
|
pykd.killProcess( processId )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-01 00:47:26 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 18:28:50 +08:00
|
|
|
#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()
|
|
|
|
|
2012-07-22 23:23:18 +08:00
|
|
|
#oneProcessTests = getTestSuite( "diatest.DiaTest.testFind" )
|
|
|
|
#oneProcessTests = getTestSuite( "typedvar.TypedVarTest.testTypeVarArg" )
|
|
|
|
#oneProcessTests = getTestSuite( "typeinfo.TypeInfoTest.testCreateByName" )
|
|
|
|
#oneProcessTests = getTestSuite( "typedvar.TypedVarTest.testBitField" )
|
|
|
|
|
2012-07-27 18:28:50 +08:00
|
|
|
#unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( oneProcessTests )
|
2012-07-22 23:23:18 +08:00
|
|
|
|
2012-07-27 18:28:50 +08:00
|
|
|
#pykd.killProcess()
|
2012-01-12 06:23:29 +08:00
|
|
|
|
2012-07-27 18:28:50 +08:00
|
|
|
#unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( getNewProcessTestSuite() )
|
2011-12-01 02:40:57 +08:00
|
|
|
|
2012-07-27 18:28:50 +08:00
|
|
|
#raw_input("\npress return\n")
|