fix pools_test
This commit is contained in:
@@ -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):
|
||||||
|
Reference in New Issue
Block a user