aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/http2_test
diff options
context:
space:
mode:
authorGravatar Makarand Dharmapurikar <makarandd@google.com>2017-01-09 10:55:51 -0800
committerGravatar Makarand Dharmapurikar <makarandd@google.com>2017-01-09 10:55:51 -0800
commit7fc6f3be56a285bea98c9c2e980fa2720edf87b9 (patch)
treec9825a98c991e98ce4495dfd3d892c153de32fc0 /test/http2_test
parent11ae5a77d6b2a059ef3fe4742ff2cc8b03b17139 (diff)
changes to http2 test server
Not kill the server on disconnect Spawn one server per test case
Diffstat (limited to 'test/http2_test')
-rw-r--r--test/http2_test/http2_base_server.py1
-rw-r--r--test/http2_test/http2_test_server.py34
2 files changed, 24 insertions, 11 deletions
diff --git a/test/http2_test/http2_base_server.py b/test/http2_test/http2_base_server.py
index ee7719b1a8..8de028ceb1 100644
--- a/test/http2_test/http2_base_server.py
+++ b/test/http2_test/http2_base_server.py
@@ -73,7 +73,6 @@ class H2ProtocolBaseServer(twisted.internet.protocol.Protocol):
def on_connection_lost(self, reason):
logging.info('Disconnected %s' % reason)
- twisted.internet.reactor.callFromThread(twisted.internet.reactor.stop)
def dataReceived(self, data):
try:
diff --git a/test/http2_test/http2_test_server.py b/test/http2_test/http2_test_server.py
index 44e36d34b6..abde3433ad 100644
--- a/test/http2_test/http2_test_server.py
+++ b/test/http2_test/http2_test_server.py
@@ -73,18 +73,32 @@ class H2Factory(twisted.internet.protocol.Factory):
else:
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__':
logging.basicConfig(
format='%(levelname) -10s %(asctime)s %(module)s:%(lineno)s | %(message)s',
level=logging.INFO)
- parser = argparse.ArgumentParser()
- parser.add_argument('--test_case', choices=sorted(_TEST_CASE_MAPPING.keys()),
- 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))
+ args = parse_arguments()
+ start_test_servers(args.base_port)
twisted.internet.reactor.run()