summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/dotest_channels.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/dotest_channels.py b/lldb/packages/Python/lldbsuite/test/dotest_channels.py
index a09cbff4983..7c182291871 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest_channels.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest_channels.py
@@ -27,6 +27,7 @@ from six.moves import cPickle
# LLDB modules
+
class UnpicklingForwardingReaderChannel(asyncore.dispatcher):
"""Provides an unpickling, forwarding asyncore dispatch channel reader.
@@ -71,7 +72,7 @@ class UnpicklingForwardingReaderChannel(asyncore.dispatcher):
full_header_len = 4
- assert(len(self.header_contents) < full_header_len)
+ assert len(self.header_contents) < full_header_len
bytes_avail = len(data)
bytes_needed = full_header_len - len(self.header_contents)
@@ -80,7 +81,8 @@ class UnpicklingForwardingReaderChannel(asyncore.dispatcher):
if len(self.header_contents) == full_header_len:
import struct
# End of header.
- self.packet_bytes_remaining = struct.unpack("!I", self.header_contents)[0]
+ self.packet_bytes_remaining = struct.unpack(
+ "!I", self.header_contents)[0]
self.header_contents = b""
self.reading_header = False
return data[header_bytes_avail:]
@@ -130,9 +132,23 @@ class UnpicklingForwardingReaderChannel(asyncore.dispatcher):
return data
def handle_read(self):
- data = self.recv(8192)
- # print('driver socket READ: %d bytes' % len(data))
-
+ # Read some data from the socket.
+ try:
+ data = self.recv(8192)
+ # print('driver socket READ: %d bytes' % len(data))
+ except socket.error as socket_error:
+ print(
+ "\nINFO: received socket error when reading data "
+ "from test inferior:\n{}".format(socket_error))
+ # Should be good to return here.
+ return
+ except Exception as general_exception:
+ print(
+ "\nERROR: received non-socket error when reading data "
+ "from the test inferior:\n{}".format(general_exception))
+ return
+
+ # Consume the message content.
while data and (len(data) > 0):
# If we're reading the header, gather header bytes.
if self.reading_header:
OpenPOWER on IntegriCloud