Cleaned up tpool-related tests a bit.
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user