summaryrefslogtreecommitdiff
path: root/python/qpid/tests/messaging/__init__.py
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2010-08-02 12:10:52 +0000
committerRafael H. Schloming <rhs@apache.org>2010-08-02 12:10:52 +0000
commit7ae7231562aab29a31aaaf0c4741d32f9a1e6f01 (patch)
treefd8b6a4a25c5cf440672069f7669225105c0f07d /python/qpid/tests/messaging/__init__.py
parent3105021bc9cc72152593c1bce615eabf6720995a (diff)
downloadqpid-python-7ae7231562aab29a31aaaf0c4741d32f9a1e6f01.tar.gz
fixed bug in flow control logic; added tests
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@981474 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/tests/messaging/__init__.py')
-rw-r--r--python/qpid/tests/messaging/__init__.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/python/qpid/tests/messaging/__init__.py b/python/qpid/tests/messaging/__init__.py
index a160f38531..ddacf77609 100644
--- a/python/qpid/tests/messaging/__init__.py
+++ b/python/qpid/tests/messaging/__init__.py
@@ -18,6 +18,7 @@
#
import time
+from math import ceil
from qpid.harness import Skipped
from qpid.messaging import *
from qpid.tests import Test
@@ -134,9 +135,23 @@ class Base(Test):
contents = self.drain(rcv)
assert len(contents) == 0, "%s is supposed to be empty: %s" % (rcv, contents)
- def assertAvailable(self, rcv, expected):
+ def assertAvailable(self, rcv, expected=None, lower=None, upper=None):
+ if expected is not None:
+ if lower is not None or upper is not None:
+ raise ValueError("cannot specify lower or upper when specifying expected")
+ lower = expected
+ upper = expected
+ else:
+ if lower is None:
+ lower = int(ceil(rcv.threshold*rcv.capacity))
+ if upper is None:
+ upper = rcv.capacity
+
p = rcv.available()
- assert p == expected, "expected %s, got %s" % (expected, p)
+ if upper == lower:
+ assert p == lower, "expected %s, got %s" % (lower, p)
+ else:
+ assert lower <= p <= upper, "expected %s to be in range [%s, %s]" % (p, lower, upper)
def sleep(self):
time.sleep(self.delay())