diff options
author | Gordon Sim <gsim@apache.org> | 2011-02-10 17:52:44 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2011-02-10 17:52:44 +0000 |
commit | 17ddafb52db2a62ec3e6eb47df71da180cf87df0 (patch) | |
tree | 6f1e17ac095ff7f2e748221693bcd95c93a046e5 | |
parent | cad8fc1cc5227fae25442667f0716100012a20b3 (diff) | |
download | qpid-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.py | 22 |
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 |