Skip to content
Snippets Groups Projects
Commit 2f390676 authored by makdharma's avatar makdharma Committed by GitHub
Browse files

Merge pull request #9282 from makdharma/http2_interop

changes to http2 test server
parents 2c4a364e 7fc6f3be
No related branches found
No related tags found
No related merge requests found
...@@ -73,7 +73,6 @@ class H2ProtocolBaseServer(twisted.internet.protocol.Protocol): ...@@ -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): ...@@ -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()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment