aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/http2_test
diff options
context:
space:
mode:
authorGravatar Makarand Dharmapurikar <makarandd@google.com>2016-12-01 15:22:50 -0800
committerGravatar Makarand Dharmapurikar <makarandd@google.com>2016-12-01 15:22:50 -0800
commitecc32885f097ece2c46187166c496e3dd2d70229 (patch)
tree9d4a65b78a43f417c16a01468b9d36f430787ca4 /test/http2_test
parent4350e748e470be92abab9bb1f72ad8eb1ede5486 (diff)
WIP
Diffstat (limited to 'test/http2_test')
-rw-r--r--test/http2_test/http2_base_server.py11
-rw-r--r--test/http2_test/http2_test_server.py1
-rw-r--r--test/http2_test/test_goaway.py4
3 files changed, 10 insertions, 6 deletions
diff --git a/test/http2_test/http2_base_server.py b/test/http2_test/http2_base_server.py
index 44fb575c0f..cbc26b11b1 100644
--- a/test/http2_test/http2_base_server.py
+++ b/test/http2_test/http2_base_server.py
@@ -113,9 +113,6 @@ class H2ProtocolBaseServer(Protocol):
return
while self._send_remaining[stream_id] > 0:
- if self._stream_status[stream_id] is False:
- logging.info('Stream %d is closed.'%stream_id)
- break
lfcw = self._conn.local_flow_control_window(stream_id)
if lfcw == 0:
break
@@ -125,7 +122,11 @@ class H2ProtocolBaseServer(Protocol):
(lfcw, self._send_offset, self._send_offset + bytes_to_send,
stream_id))
data = self._data_to_send[self._send_offset : self._send_offset + bytes_to_send]
- self._conn.send_data(stream_id, data, False)
+ try:
+ self._conn.send_data(stream_id, data, False)
+ except ProtocolError:
+ logging.info('Stream %d is closed'%stream_id)
+ break
self._send_remaining[stream_id] -= bytes_to_send
self._send_offset += bytes_to_send
if self._send_remaining[stream_id] == 0:
@@ -163,7 +164,7 @@ class H2ProtocolBaseServer(Protocol):
asked in request """
grpc_msg_size = struct.unpack('i',recv_buffer[1:5][::-1])[0]
if len(recv_buffer) != GRPC_HEADER_SIZE + grpc_msg_size:
- logging.error('not enough data to decode req proto. size = %d, needed %s'%(len(recv_buffer), 5+grpc_msg_size))
+ #logging.error('not enough data to decode req proto. size = %d, needed %s'%(len(recv_buffer), 5+grpc_msg_size))
return None
req_proto_str = recv_buffer[5:5+grpc_msg_size]
sr = messages_pb2.SimpleRequest()
diff --git a/test/http2_test/http2_test_server.py b/test/http2_test/http2_test_server.py
index 7ec781d2aa..35308c4787 100644
--- a/test/http2_test/http2_test_server.py
+++ b/test/http2_test/http2_test_server.py
@@ -21,6 +21,7 @@ class H2Factory(Factory):
def buildProtocol(self, addr):
self._num_streams += 1
+ logging.info('New Connection: %d'%self._num_streams)
if self._testcase == 'rst_after_header':
t = test_rst_after_header.TestcaseRstStreamAfterHeader()
elif self._testcase == 'rst_after_data':
diff --git a/test/http2_test/test_goaway.py b/test/http2_test/test_goaway.py
index 7dd7cb7948..4c46cab8f9 100644
--- a/test/http2_test/test_goaway.py
+++ b/test/http2_test/test_goaway.py
@@ -1,4 +1,5 @@
import logging
+import time
import http2_base_server
class TestcaseGoaway(object):
@@ -23,11 +24,12 @@ class TestcaseGoaway(object):
def on_connection_lost(self, reason):
logging.info('Disconnect received. Count %d'%self._iteration)
# _iteration == 2 => Two different connections have been used.
- if self._iteration == 2:
+ if self._iteration == 200:
self._base_server.on_connection_lost(reason)
def on_send_done(self, stream_id):
self._base_server.on_send_done_default(stream_id)
+ time.sleep(1)
logging.info('Sending GOAWAY for stream %d:'%stream_id)
self._base_server._conn.close_connection(error_code=0, additional_data=None, last_stream_id=stream_id)
self._base_server._stream_status[stream_id] = False