def test_getLock(self): queue = WishboneQueue() queue.put("test") queue.getLock() try: queue.get() except QueueLocked: pass else: raise AssertionError ("Queue getLock does not seem to have the desired effect.")
def test_waitUntilFreePlace(self): from gevent import spawn, sleep def go(queue): queue.waitUntilFreePlace() queue = WishboneQueue(max_size=1) queue.put("test") instance=spawn(go, queue) sleep() assert not instance.ready() queue.get() sleep() assert instance.ready()
def test_stats(self): queue = WishboneQueue() for _ in xrange(10): queue.put("test") for _ in xrange(9): queue.get() stats = queue.stats() assert isinstance(stats, dict) assert stats["in_total"] == 10 assert stats["out_total"] == 9 assert stats["size"] == 1
def test_lock(self): queue = WishboneQueue() queue.put("test") queue.lock() try: queue.put("test") except QueueLocked: pass else: raise AssertionError("Queue lock() not having desired effect.") try: queue.get() except QueueLocked: pass else: raise AssertionError("Queue lock not having desired effect.") assert queue.isLocked() == (True, True)
def test_get(self): queue = WishboneQueue() queue.put("test") assert queue.get() == "test"
def test_rescue(self): queue = WishboneQueue() queue.lock() queue.rescue("test") queue.unlock() assert queue.get() == "test"