""" Client faking load tester """ import sys from twisted.internet import defer, reactor from twisted.internet.defer import inlineCallbacks from mv3d.test.test_clientfaker import ClientFaker server = dict(login="https://login.mv3d.com:8080/service/", service="pb://mike:pass@alpha.mv3d.com:1999/Player") realm = 0 startpc = 15 endpc = startpc + int(sys.argv[1]) moves = [(1, "Jump", [], {}), (1, "Wave", [], {}), (1, "Kick", [], {}), (1, "Turn", [1], {}), (1, "Turn", [0], {}),] clients = [] @inlineCallbacks def startClient(pcid): """ Connect a client to the server and this pcid """ clients.append(ClientFaker("https")) c = clients[-1] c.moveQueue = moves ca = server.copy() ca["pcid"] = pcid print pcid try: yield c.connect(**ca) except: import traceback traceback.print_exc() print "CONNECT FAILED!", pcid # reactor.stop() try: yield c.startQueue() except: import traceback traceback.print_exc() print "QUEUE Failed!", pcid def error(e): # reactor.stop() e.raiseException() ClientFaker().monkeyPatch() dd = [] for pcid in range(startpc, endpc): dd.append(startClient((realm, pcid)).addErrback(error)) reactor.run()