28 lines
751 B
Python
28 lines
751 B
Python
from eventlet import api, parallel
|
|
import unittest
|
|
|
|
class Spawn(unittest.TestCase):
|
|
def test_simple(self):
|
|
def f(a, b=None):
|
|
return (a,b)
|
|
|
|
coro = parallel.spawn(f, 1, b=2)
|
|
self.assertEquals(coro.wait(), (1,2))
|
|
|
|
def passthru(a):
|
|
api.sleep(0.01)
|
|
return a
|
|
|
|
class Parallel(unittest.TestCase):
|
|
def test_parallel(self):
|
|
p = parallel.Parallel(4)
|
|
for i in xrange(10):
|
|
p.spawn(passthru, i)
|
|
result_list = list(p.results())
|
|
self.assertEquals(result_list, range(10))
|
|
|
|
def test_spawn_all(self):
|
|
p = parallel.Parallel(4)
|
|
result_list = list(p.spawn_all(passthru, xrange(10)))
|
|
self.assertEquals(result_list, range(10))
|