summaryrefslogtreecommitdiff
path: root/cpp/src/tests/cluster_tests.py
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-11-10 20:57:30 +0000
committerAlan Conway <aconway@apache.org>2009-11-10 20:57:30 +0000
commit03e7b94f1e12cf90e08196327d56aeabbee6cbdf (patch)
treeab8fd04812a0c7d9a063c02db3eb52176238ea7b /cpp/src/tests/cluster_tests.py
parente048998526e4beceda8ba1d732197bf945114ef3 (diff)
downloadqpid-python-03e7b94f1e12cf90e08196327d56aeabbee6cbdf.tar.gz
Fixed test_failover, added ErrorGenerator with test.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@834662 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/cluster_tests.py')
-rwxr-xr-xcpp/src/tests/cluster_tests.py34
1 files changed, 24 insertions, 10 deletions
diff --git a/cpp/src/tests/cluster_tests.py b/cpp/src/tests/cluster_tests.py
index 682e25fbd3..07050c922f 100755
--- a/cpp/src/tests/cluster_tests.py
+++ b/cpp/src/tests/cluster_tests.py
@@ -53,28 +53,42 @@ class ClusterTests(BrokerTest):
s2.connection.close()
def test_failover(self):
- """Test fail-over during continuous send-receive"""
- # FIXME aconway 2009-11-09: this test is failing, showing lost messages.
- # Enable when fixed
+ """Test fail-over during continuous send-receive with errors"""
# Original cluster will all be killed so expect exit with failure
cluster = self.cluster(3, expect=EXPECT_EXIT_FAIL)
+
# Start sender and receiver threads
cluster[0].declare_queue("test-queue")
- self.receiver = Receiver(cluster[1])
- self.receiver.start()
- self.sender = Sender(cluster[2])
- self.sender.start()
+ receiver = NumberedReceiver(cluster[1])
+ receiver.start()
+ sender = NumberedSender(cluster[2])
+ sender.start()
# Kill original brokers, start new ones.
for i in range(3):
cluster[i].kill()
- cluster.start()
+ b = cluster.start()
time.sleep(1)
- self.sender.stop()
- self.receiver.stop(self.sender.sent)
+ sender.stop()
+ receiver.stop(sender.sent)
+
+ def send_receive_verify(self, b1, b2, queue, msgs):
+ b1.send_messages(queue, msgs)
+ self.assertEqual(msgs, [ m.content for m in b2.get_messages(queue,len(msgs))])
+
+ def test_error_storm(self):
+ """Verify cluster behaves with clients generating a lot of errors."""
+ cluster = self.cluster(3)
+ errgen = [ ErrorGenerator(b) for b in cluster ]
+ msgs = [ str(i) for i in range(10) ]
+ self.send_receive_verify(cluster[0], cluster[1], "q", msgs)
+ self.send_receive_verify(cluster[1], cluster[2], "q", msgs)
+ for i in range(3):
+ cluster.start()
+ self.send_receive_verify(cluster[1], cluster[2], "q", msgs)
class ClusterStoreTests(BrokerTest):