summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2011-02-10 17:52:44 +0000
committerGordon Sim <gsim@apache.org>2011-02-10 17:52:44 +0000
commit17ddafb52db2a62ec3e6eb47df71da180cf87df0 (patch)
tree6f1e17ac095ff7f2e748221693bcd95c93a046e5
parentcad8fc1cc5227fae25442667f0716100012a20b3 (diff)
downloadqpid-python-17ddafb52db2a62ec3e6eb47df71da180cf87df0.tar.gz
QPID-529: Adjust test to work on python 2.3 as well
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069497 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--tests/src/py/qpid_tests/broker_0_10/priority.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/tests/src/py/qpid_tests/broker_0_10/priority.py b/tests/src/py/qpid_tests/broker_0_10/priority.py
index 81b3873cda..ddfdd818c6 100644
--- a/tests/src/py/qpid_tests/broker_0_10/priority.py
+++ b/tests/src/py/qpid_tests/broker_0_10/priority.py
@@ -44,7 +44,7 @@ class PriorityTests (Base):
for m in msgs: snd.send(m)
rcv = self.ssn.receiver(snd.target)
- for expected in sorted(msgs, key=lambda m: priority_level(m.priority,levels), reverse=True):
+ for expected in sorted_(msgs, key=lambda m: priority_level(m.priority,levels), reverse=True):
msg = rcv.fetch(0)
#print "expected priority %s got %s" % (expected.priority, msg.priority)
assert msg.content == expected.content
@@ -68,7 +68,7 @@ class PriorityTests (Base):
limit_function = lambda x : limits.get(x, 0)
else:
limit_function = lambda x : default_limit
- for expected in fairshare(sorted(msgs, key=lambda m: priority_level(m.priority,levels), reverse=True),
+ for expected in fairshare(sorted_(msgs, key=lambda m: priority_level(m.priority,levels), reverse=True),
limit_function, levels):
msg = rcv.fetch(0)
#print "expected priority %s got %s" % (expected.priority, msg.priority)
@@ -123,7 +123,7 @@ class PriorityTests (Base):
expected = []
for m in msgs:
while len(expected) > 9:
- expected.sort(key=lambda x: priority_level(x.priority,10))
+ expected=sorted_(expected, key=lambda x: priority_level(x.priority,10))
expected.pop(0)
expected.append(m)
#print "sent %s; expected %s; got %s" % ([m.content for m in msgs], [m.content for m in expected], [m.content for m in received])
@@ -160,7 +160,7 @@ class PriorityTests (Base):
#now test delivery works as expected after that
rcv = self.ssn.receiver(snd.target)
- for expected in sorted(msgs, key=lambda m: priority_level(m.priority,10), reverse=True):
+ for expected in sorted_(msgs, key=lambda m: priority_level(m.priority,10), reverse=True):
msg = rcv.fetch(0)
#print "expected priority %s got %s" % (expected.priority, msg.priority)
assert msg.content == expected.content
@@ -219,3 +219,17 @@ def priority_level(value, levels):
"""
offset = 5-math.ceil(levels/2.0)
return min(max(value - offset, 0), levels-1)
+
+def sorted_(msgs, key=None, reverse=False):
+ """
+ Workaround lack of sorted builtin function in python 2.3
+ """
+ temp = msgs
+ temp.sort(cmp=key_to_cmp(key), reverse=reverse)
+ return temp
+
+def key_to_cmp(key):
+ if key:
+ return lambda a, b: cmp(key(a), key(b))
+ else:
+ return None