Removed deprecation warnings from tpool_test.py, more cleanup in killall and setup.

This commit is contained in:
Ryan Williams
2010-01-15 15:22:55 -08:00
parent 6a888299e6
commit 762ba917a0
3 changed files with 19 additions and 17 deletions

View File

@@ -294,10 +294,10 @@ class BaseHub(object):
# for debugging:
def get_readers(self):
return self.listeners[READ]
return self.listeners[READ].values()
def get_writers(self):
return self.listeners[WRITE]
return self.listeners[WRITE].values()
def get_timers_count(hub):
return max(len(x) for x in [hub.timers, hub.next_timers])

View File

@@ -50,7 +50,7 @@ def tpool_trampoline():
e.send(rv)
rv = None
except Empty:
pass
pass
def esend(meth,*args, **kwargs):
global _reqq, _rspq
@@ -222,6 +222,7 @@ def setup():
_threads[i].start()
_coro = greenthread.spawn_n(tpool_trampoline)
api.sleep(0) # fix a race condition when calling killall immediately
def killall():
global _setup_already, _reqq, _rspq, _rfile, _wfile
@@ -231,9 +232,9 @@ def killall():
_reqq.put(None)
for thr in _threads.values():
thr.join()
_threads.clear()
if _coro:
api.kill(_coro)
greenthread.sleep(0.01)
_rfile.close()
_wfile.close()
_rfile = None

View File

@@ -19,13 +19,15 @@ import time
import re
from tests import skipped, skip_with_pyevent, LimitedTestCase, main
from eventlet import coros, api, tpool, debug
from eventlet import api, tpool, debug
import eventlet
one = 1
two = 2
three = 3
class TestTpool(LimitedTestCase):
TEST_TIMEOUT=3
def setUp(self):
tpool.setup()
debug.hub_exceptions(True)
@@ -56,12 +58,12 @@ class TestTpool(LimitedTestCase):
self.assertEquals(token, rv)
api.sleep(random.random()/200.0)
pool = coros.CoroutinePool(max_size=10)
waiters = []
pile = eventlet.GreenPile(10)
for i in xrange(10):
waiters.append(pool.execute(sender_loop,i))
for waiter in waiters:
waiter.wait()
pile.spawn(sender_loop,i)
results = list(pile)
self.assertEquals(len(results), 10)
@skip_with_pyevent
def test_wrap_tuple(self):
@@ -169,13 +171,12 @@ class TestTpool(LimitedTestCase):
from tests import tpool_test
prox = tpool.Proxy(tpool_test)
pool = coros.CoroutinePool(max_size=4)
waiters = []
waiters.append(pool.execute(lambda: self.assertEquals(prox.one, 1)))
waiters.append(pool.execute(lambda: self.assertEquals(prox.two, 2)))
waiters.append(pool.execute(lambda: self.assertEquals(prox.three, 3)))
for waiter in waiters:
waiter.wait()
pile = eventlet.GreenPile(4)
pile.spawn(lambda: self.assertEquals(prox.one, 1))
pile.spawn(lambda: self.assertEquals(prox.two, 2))
pile.spawn(lambda: self.assertEquals(prox.three, 3))
results = list(pile)
self.assertEquals(len(results), 3)
@skip_with_pyevent
def test_timeout(self):