changes to http2 test server

Not kill the server on disconnect
Spawn one server per test case
pull/9282/head
Makarand Dharmapurikar 8 years ago
parent 11ae5a77d6
commit 7fc6f3be56
  1. 1
      test/http2_test/http2_base_server.py
  2. 34
      test/http2_test/http2_test_server.py

@ -73,7 +73,6 @@ class H2ProtocolBaseServer(twisted.internet.protocol.Protocol):
def on_connection_lost(self, reason): def on_connection_lost(self, reason):
logging.info('Disconnected %s' % reason) logging.info('Disconnected %s' % reason)
twisted.internet.reactor.callFromThread(twisted.internet.reactor.stop)
def dataReceived(self, data): def dataReceived(self, data):
try: try:

@ -73,18 +73,32 @@ class H2Factory(twisted.internet.protocol.Factory):
else: else:
return t().get_base_server() return t().get_base_server()
def parse_arguments():
parser = argparse.ArgumentParser()
parser.add_argument('--base_port', type=int, default=8080,
help='base port to run the servers (default: 8080). One test server is '
'started on each incrementing port, beginning with base_port, in the '
'following order: goaway,max_streams,ping,rst_after_data,rst_after_header,'
'rst_during_data'
)
return parser.parse_args()
def start_test_servers(base_port):
""" Start one server per test case on incrementing port numbers
beginning with base_port """
index = 0
for test_case in sorted(_TEST_CASE_MAPPING.keys()):
portnum = base_port + index
logging.warning('serving on port %d : %s'%(portnum, test_case))
endpoint = twisted.internet.endpoints.TCP4ServerEndpoint(
twisted.internet.reactor, portnum, backlog=128)
endpoint.listen(H2Factory(test_case))
index += 1
if __name__ == '__main__': if __name__ == '__main__':
logging.basicConfig( logging.basicConfig(
format='%(levelname) -10s %(asctime)s %(module)s:%(lineno)s | %(message)s', format='%(levelname) -10s %(asctime)s %(module)s:%(lineno)s | %(message)s',
level=logging.INFO) level=logging.INFO)
parser = argparse.ArgumentParser() args = parse_arguments()
parser.add_argument('--test_case', choices=sorted(_TEST_CASE_MAPPING.keys()), start_test_servers(args.base_port)
help='test case to run', required=True)
parser.add_argument('--port', type=int, default=8080,
help='port to run the server (default: 8080)')
args = parser.parse_args()
logging.info('Running test case %s on port %d' % (args.test_case, args.port))
endpoint = twisted.internet.endpoints.TCP4ServerEndpoint(
twisted.internet.reactor, args.port, backlog=128)
endpoint.listen(H2Factory(args.test_case))
twisted.internet.reactor.run() twisted.internet.reactor.run()

Loading…
Cancel
Save