fix pools_test

This commit is contained in:
Denis Bilenko
2009-06-22 15:57:54 +07:00
parent b7e1f263c8
commit 18a45148df

View File

@@ -124,21 +124,24 @@ class TestIntPool(TestCase):
def test_putting_to_queue(self): def test_putting_to_queue(self):
timer = api.exc_after(0.1, api.TimeoutError) timer = api.exc_after(0.1, api.TimeoutError)
size = 2 try:
self.pool = IntPool(min_size=0, max_size=size) size = 2
queue = coros.queue() self.pool = IntPool(min_size=0, max_size=size)
results = [] queue = coros.queue()
def just_put(pool_item, index): results = []
self.pool.put(pool_item) def just_put(pool_item, index):
queue.send(index) self.pool.put(pool_item)
for index in xrange(size + 1): queue.send(index)
pool_item = self.pool.get() for index in xrange(size + 1):
api.spawn(just_put, pool_item, index) pool_item = self.pool.get()
api.spawn(just_put, pool_item, index)
while results != range(size + 1): for _ in range(size+1):
x = queue.wait() x = queue.wait()
results.append(x) results.append(x)
timer.cancel() self.assertEqual(sorted(results), range(size + 1))
finally:
timer.cancel()
class TestAbstract(TestCase): class TestAbstract(TestCase):