Cleaned up tpool-related tests a bit.

This commit is contained in:
Ryan Williams
2010-09-29 23:07:01 -07:00
parent 023ac571a9
commit c52f37fd04
2 changed files with 9 additions and 8 deletions

View File

@@ -20,6 +20,7 @@ class Tpool(ProcessBase):
@skip_with_pyevent
def test_tpool_size(self):
expected = "40"
normal = "20"
new_mod = """from eventlet import tpool
import eventlet
import time
@@ -32,14 +33,16 @@ def count():
highwater[0] = current[0]
current[0] -= 1
expected = %s
normal = %s
p = eventlet.GreenPool()
for i in xrange(expected*5):
p.spawn(tpool.execute,count)
for i in xrange(expected*2):
p.spawn(tpool.execute, count)
p.waitall()
assert abs(expected - highwater[0]) < 2, "%%s <> %%s" %% (highwater[0], expected)"""
assert highwater[0] > 20, "Highwater %%s <= %%s" %% (highwater[0], normal)
"""
os.environ['EVENTLET_THREADPOOL_SIZE'] = expected
try:
self.write_to_tempfile("newmod", new_mod % expected)
self.write_to_tempfile("newmod", new_mod % (expected, normal))
output, lines = self.launch_subprocess('newmod.py')
self.assertEqual(len(lines), 1, lines)
finally:

View File

@@ -323,20 +323,18 @@ from eventlet.tpool import execute
tpool.killall()
def test_leakage_from_tracebacks(self):
def raiser():
raise RuntimeError()
tpool.execute(noop) # get it started
gc.collect()
initial_objs = len(gc.get_objects())
for i in xrange(10):
self.assertRaises(RuntimeError, tpool.execute, raiser)
self.assertRaises(RuntimeError, tpool.execute, raise_exception)
gc.collect()
middle_objs = len(gc.get_objects())
# some objects will inevitably be created by the previous loop
# now we test to ensure that running the loop an order of
# magnitude more doesn't generate additional objects
for i in xrange(100):
self.assertRaises(RuntimeError, tpool.execute, raiser)
self.assertRaises(RuntimeError, tpool.execute, raise_exception)
first_created = middle_objs - initial_objs
gc.collect()
second_created = len(gc.get_objects()) - middle_objs