def testFactory(factory, data, clients=100): '''Tests the given factory with the given data packets.''' from base import Server port = process.randomPort() print 'Starting', factory, 'with', factory.protocol, 'on port', port server = Server(('', port), factory) server.serve() jobs = [] for c in range(0, clients): jobs.append(gevent.spawn(testSendData, data, port)) gevent.joinall(jobs, timeout=15) vals = [(1 if job.value else 0) for job in jobs] print sum(vals), '/', len(vals), 'succeeded' return sum(vals) * 1.0 / len(vals)