Tests: added notification on "read_timeout" expiration.

This commit is contained in:
Andrei Zeliankou
2020-04-03 01:46:59 +01:00
parent 2bb8b3d88a
commit d7aa514d6a
2 changed files with 30 additions and 4 deletions

View File

@@ -52,7 +52,11 @@ class TestApplicationWebsocket(TestApplicationProto):
)
resp = ''
while select.select([sock], [], [], 60)[0]:
while True:
rlist = select.select([sock], [], [], 60)[0]
if not rlist:
self.fail('Can\'t read response from server.')
resp += sock.recv(4096).decode()
if (
@@ -73,7 +77,15 @@ class TestApplicationWebsocket(TestApplicationProto):
def frame_read(self, sock, read_timeout=60):
def recv_bytes(sock, bytes):
data = b''
while select.select([sock], [], [], read_timeout)[0]:
while True:
rlist = select.select([sock], [], [], read_timeout)[0]
if not rlist:
# For all current cases if the "read_timeout" was changed
# than test do not expect to get a response from server.
if read_timeout == 60:
self.fail('Can\'t read response from server.')
break
data += sock.recv(bytes - len(data))
if len(data) == bytes:

View File

@@ -173,11 +173,25 @@ class TestHTTP(TestUnit):
return self.http('PUT', **kwargs)
def recvall(self, sock, **kwargs):
timeout = 60 if 'read_timeout' not in kwargs else kwargs['read_timeout']
timeout_default = 60
timeout = (
timeout_default
if 'read_timeout' not in kwargs
else kwargs['read_timeout']
)
buff_size = 4096 if 'buff_size' not in kwargs else kwargs['buff_size']
data = b''
while select.select([sock], [], [], timeout)[0]:
while True:
rlist = select.select([sock], [], [], timeout)[0]
if not rlist:
# For all current cases if the "read_timeout" was changed
# than test do not expect to get a response from server.
if timeout == timeout_default:
self.fail('Can\'t read response from server.')
break
try:
part = sock.recv(buff_size)
except: