You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2006/10/30 20:28:41 UTC
svn commit: r469243 - in /incubator/qpid/trunk/qpid/python: cpp_failing.txt
tests/tx.py
Author: gsim
Date: Mon Oct 30 11:28:40 2006
New Revision: 469243
URL: http://svn.apache.org/viewvc?view=rev&rev=469243
Log:
c++ broker now passes the basic tx tests
Modified:
incubator/qpid/trunk/qpid/python/cpp_failing.txt
incubator/qpid/trunk/qpid/python/tests/tx.py
Modified: incubator/qpid/trunk/qpid/python/cpp_failing.txt
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/python/cpp_failing.txt?view=diff&rev=469243&r1=469242&r2=469243
==============================================================================
--- incubator/qpid/trunk/qpid/python/cpp_failing.txt (original)
+++ incubator/qpid/trunk/qpid/python/cpp_failing.txt Mon Oct 30 11:28:40 2006
@@ -1,2 +0,0 @@
-tests.tx.TxTests.test_commit
-tests.tx.TxTests.test_rollback
Modified: incubator/qpid/trunk/qpid/python/tests/tx.py
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/python/tests/tx.py?view=diff&rev=469243&r1=469242&r2=469243
==============================================================================
--- incubator/qpid/trunk/qpid/python/tests/tx.py (original)
+++ incubator/qpid/trunk/qpid/python/tests/tx.py Mon Oct 30 11:28:40 2006
@@ -110,9 +110,8 @@
channel.basic_publish(routing_key=key, exchange="amq.direct", content=Content("Message 6"))
channel.basic_publish(routing_key=topic, exchange="amq.topic", content=Content("Message 7"))
-
channel.tx_select()
-
+
#consume and ack messages
sub_a = channel.basic_consume(queue=name_a, no_ack=False)
queue_a = self.client.queue(sub_a.consumer_tag)
@@ -141,3 +140,31 @@
channel.basic_publish(routing_key=name_a, content=Content("TxMessage 7"))
return queue_a, queue_b, queue_c
+
+ def test_commit_overlapping_acks(self):
+ """
+ Test that logically 'overlapping' acks do not cause errors on commit
+ """
+ channel = self.channel
+ channel.queue_declare(queue="commit-overlapping", exclusive=True)
+ for i in range(1, 10):
+ channel.basic_publish(routing_key="commit-overlapping", content=Content("Message %d" % i))
+
+
+ channel.tx_select()
+
+ sub = channel.basic_consume(queue="commit-overlapping", no_ack=False)
+ queue = self.client.queue(sub.consumer_tag)
+ for i in range(1, 10):
+ msg = queue.get(timeout=1)
+ self.assertEqual("Message %d" % i, msg.content.body)
+ if i in [3, 6, 10]:
+ channel.basic_ack(delivery_tag=msg.delivery_tag)
+
+ channel.tx_commit()
+
+ #check all have been acked:
+ try:
+ extra = queue.get(timeout=1)
+ self.fail("Got unexpected message: " + extra.content.body)
+ except Empty: None