You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2019/10/10 18:32:33 UTC
[qpid-dispatch] branch master updated: DISPATCH-1431: fix
additional multicast races in other tests
This is an automated email from the ASF dual-hosted git repository.
kgiusti pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git
The following commit(s) were added to refs/heads/master by this push:
new 68522a6 DISPATCH-1431: fix additional multicast races in other tests
68522a6 is described below
commit 68522a6164bebb5ab943fdf51376a6416a69d9af
Author: Kenneth Giusti <kg...@apache.org>
AuthorDate: Wed Oct 9 15:37:09 2019 -0400
DISPATCH-1431: fix additional multicast races in other tests
---
tests/system_tests_one_router.py | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/tests/system_tests_one_router.py b/tests/system_tests_one_router.py
index 0e833a3..da771f9 100644
--- a/tests/system_tests_one_router.py
+++ b/tests/system_tests_one_router.py
@@ -1235,18 +1235,21 @@ class MulticastUnsettled ( MessagingHandler ) :
def on_start ( self, event ):
- self.send_conn = event.container.connect ( self.addr )
self.recv_conn = event.container.connect ( self.addr )
-
- self.sender = event.container.create_sender ( self.send_conn, self.addr )
for i in range ( self.n_receivers ) :
rcvr = event.container.create_receiver ( self.recv_conn, self.addr, name = "receiver_" + str(i) )
- self.receivers.append ( rcvr )
rcvr.flow ( self.n_messages )
- self.n_received.append ( 0 )
self.test_timer = event.reactor.schedule ( 15, MultiTimeout(self, "test") )
+ def on_link_opened(self, event):
+ if event.receiver:
+ self.receivers.append(event.receiver)
+ self.n_received.append(0)
+ # start the sender once all receivers links are up
+ if len(self.receivers) == self.n_receivers:
+ self.send_conn = event.container.connect(self.addr)
+ self.sender = event.container.create_sender(self.send_conn, self.addr)
def on_sendable ( self, event ) :
while self.n_sent < self.n_messages :
@@ -1254,12 +1257,11 @@ class MulticastUnsettled ( MessagingHandler ) :
break
for i in range ( self.n_messages ) :
msg = Message ( body = i )
- # The sender does not settle, but the
+ # The sender does not settle, but the
# receivers will..
self.sender.send ( msg )
self.n_sent += 1
-
def on_message ( self, event ) :
if self.bailing :
return
@@ -2398,6 +2400,7 @@ class MulticastUnsettledTest(MessagingHandler):
self.n_sent = 0
self.n_received = 0
self.n_accepted = 0
+ self.n_receivers = 0
def check_if_done(self):
if self.n_received == self.count * 2 and self.n_accepted == self.count:
@@ -2411,8 +2414,6 @@ class MulticastUnsettledTest(MessagingHandler):
def on_start(self, event):
self.timer = event.reactor.schedule(TIMEOUT, Timeout(self))
self.conn = event.container.connect(self.address)
- self.sender = event.container.create_sender(self.conn, self.dest,
- options=AtLeastOnce())
self.receiver1 = event.container.create_receiver(self.conn, self.dest,
name="A",
options=AtLeastOnce())
@@ -2422,6 +2423,14 @@ class MulticastUnsettledTest(MessagingHandler):
self.receiver1.flow(self.count)
self.receiver2.flow(self.count)
+ def on_link_opened(self, event):
+ if event.receiver:
+ self.n_receivers += 1
+ # start the sender once all receivers links are up
+ if self.n_receivers == 2:
+ self.sender = event.container.create_sender(self.conn, self.dest,
+ options=AtLeastOnce())
+
def on_sendable(self, event):
for i in range(self.count - self.n_sent):
msg = Message(body=i)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org