This is an automated email from the ASF dual-hosted git repository.
chug pushed a commit to branch dev-protocol-adaptors-2
in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git
The following commit(s) were added to refs/heads/dev-protocol-adaptors-2 by this push:
new bf0672e DISPATCH-1877: TCP echo client test has connect/disconnect capability
bf0672e is described below
commit bf0672e7932fe14b77f49627a3ae64da8f836c7d
Author: Chuck Rolke <chug@apache.org>
AuthorDate: Tue Dec 8 15:16:16 2020 -0500
DISPATCH-1877: TCP echo client test has connect/disconnect capability
With '--size 0' or '--count 0' the test connects and disconnects quickly.
---
tests/TCP_echo_client.py | 74 +++++++++++++++++++++++++-----------------------
1 file changed, 39 insertions(+), 35 deletions(-)
diff --git a/tests/TCP_echo_client.py b/tests/TCP_echo_client.py
index e747896..87d0082 100755
--- a/tests/TCP_echo_client.py
+++ b/tests/TCP_echo_client.py
@@ -105,35 +105,39 @@ class TcpEchoClient:
total_sent = 0
total_rcvd = 0
- # outbound payload
- payload_out = []
- out_list_idx = 0 # current _out array being sent
- out_byte_idx = 0 # next-to-send in current array
- out_ready_to_send = True
- # Generate unique content for each message so you can tell where the message
- # or fragment belongs in the whole stream. Chunks look like:
- # b'[localhost:33333:6:0]ggggggggggggggggggggggggggggg'
- # host: localhost
- # port: 33333
- # index: 6
- # offset into message: 0
- CONTENT_CHUNK_SIZE = 50 # Content repeats after chunks this big - used by echo
server, too
- for idx in range(self.count):
- body_msg = ""
- padchar = "abcdefghijklmnopqrstuvwxyz@#$%"[idx % 30]
- while len(body_msg) < self.size:
- chunk = "[%s:%d:%d:%d]" % (self.host, self.port, idx, len(body_msg))
- padlen = CONTENT_CHUNK_SIZE - len(chunk)
- chunk += padchar * padlen
- body_msg += chunk
- if len(body_msg) > self.size:
- body_msg = body_msg[:self.size]
- payload_out.append(bytearray(body_msg.encode()))
- # incoming payloads
- payload_in = []
- in_list_idx = 0 # current _in array being received
- for i in range(self.count):
- payload_in.append(bytearray())
+ if self.count > 0 and self.size > 0:
+ # outbound payload only if count and size both greater than zero
+ payload_out = []
+ out_list_idx = 0 # current _out array being sent
+ out_byte_idx = 0 # next-to-send in current array
+ out_ready_to_send = True
+ # Generate unique content for each message so you can tell where the message
+ # or fragment belongs in the whole stream. Chunks look like:
+ # b'[localhost:33333:6:0]ggggggggggggggggggggggggggggg'
+ # host: localhost
+ # port: 33333
+ # index: 6
+ # offset into message: 0
+ CONTENT_CHUNK_SIZE = 50 # Content repeats after chunks this big - used by
echo server, too
+ for idx in range(self.count):
+ body_msg = ""
+ padchar = "abcdefghijklmnopqrstuvwxyz@#$%"[idx % 30]
+ while len(body_msg) < self.size:
+ chunk = "[%s:%d:%d:%d]" % (self.host, self.port, idx, len(body_msg))
+ padlen = CONTENT_CHUNK_SIZE - len(chunk)
+ chunk += padchar * padlen
+ body_msg += chunk
+ if len(body_msg) > self.size:
+ body_msg = body_msg[:self.size]
+ payload_out.append(bytearray(body_msg.encode()))
+ # incoming payloads
+ payload_in = []
+ in_list_idx = 0 # current _in array being received
+ for i in range(self.count):
+ payload_in.append(bytearray())
+ else:
+ # when count or size .LE. zero then just connect-disconnect
+ self.keep_running = False
# set up connection
host_address = (self.host, self.port)
@@ -231,9 +235,9 @@ def main(argv):
p.add_argument('--port', '-p', type=int,
help='Required target port number')
p.add_argument('--size', '-s', type=int, default=100, const=1, nargs='?',
- help='Size of payload in bytes')
+ help='Size of payload in bytes must be >= 0. Size of zero connects
and disconnects with no data traffic.')
p.add_argument('--count', '-c', type=int, default=1, const=1, nargs='?',
- help='Number of payloads to process')
+ help='Number of payloads to process must be >= 0. Count of zero connects
and disconnects with no data traffic.')
p.add_argument('--name',
help='Optional logger prefix')
p.add_argument('--timeout', '-t', type=float, default=0.0, const=1, nargs="?",
@@ -255,13 +259,13 @@ def main(argv):
port = args.port
# size
- if args.size <= 0:
- raise Exception("Size must be greater than zero")
+ if args.size < 0:
+ raise Exception("Size must be greater than or equal to zero")
size = args.size
# count
- if args.count <= 0:
- raise Exception("Count must be greater than zero")
+ if args.count < 0:
+ raise Exception("Count must be greater than or equal to zero")
count = args.count
# name / prefix
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
|