# # # import sys import os import unittest # Dynamically append current pykd.pyd path to PYTHONPATH sys.path.insert(0, os.path.dirname(sys.argv[1])) import pykd import target import basetest import typeinfo import regtest import moduletest import diatest import dbgcmd import clienttest import eventtest import typedvar import memtest import intbase def getTestSuite( singleName = "" ): if singleName == "": return unittest.TestSuite( [ 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 ), ] ) else: return unittest.TestSuite( unittest.TestLoader().loadTestsFromName( singleName ) ) if __name__ == "__main__": targetAppPath = sys.argv[1] target.moduleName = os.path.splitext(os.path.basename(targetAppPath))[0] print "\nTest module: %s" % targetAppPath pykd.startProcess( targetAppPath ) target.module = pykd.loadModule( target.moduleName ) target.module.reload(); suite = getTestSuite() #suite = getTestSuite( "intbase.IntBaseTest.testLongConvert" ) #suite = getTestSuite( "typedvar.TypedVarTest.testStruct" ) unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run( suite ) #a = raw_input("\npress return\n")