diff options
author | Denis Bilenko <denis@ag-projects.com> | 2008-12-10 16:05:19 +0600 |
---|---|---|
committer | Denis Bilenko <denis@ag-projects.com> | 2008-12-10 16:05:19 +0600 |
commit | 92877f8c01b9780c906358742370bf0892742b58 (patch) | |
tree | d6612ef3dacdf7082f30eb61f3e6ff6113c8793f /greentest | |
parent | 1248636fabf44974aec83648599aaa8f094d01f5 (diff) | |
download | eventlet-92877f8c01b9780c906358742370bf0892742b58.tar.gz |
renamed coros.async_result to coros.AsyncJob; added poll, kill_after, __nonzero__ methods; made it access greenlet via weakref
Diffstat (limited to 'greentest')
-rw-r--r-- | greentest/test__event.py | 40 |
1 files changed, 36 insertions, 4 deletions
diff --git a/greentest/test__event.py b/greentest/test__event.py index f05274d..c1f5eac 100644 --- a/greentest/test__event.py +++ b/greentest/test__event.py @@ -1,7 +1,7 @@ import unittest import sys from eventlet.coros import event, spawn_link -from eventlet.api import spawn, sleep, GreenletExit +from eventlet.api import spawn, sleep, GreenletExit, exc_after class TestEvent(unittest.TestCase): @@ -41,12 +41,14 @@ class TestSpawnLink(unittest.TestCase): sleep(0.1) return 101 res = spawn_link(func) + assert res if sync: res.kill() else: spawn(res.kill) wait_result = res.wait() - assert isinstance(wait_result, GreenletExit), `wait_result` + assert not res, repr(res) + assert isinstance(wait_result, GreenletExit), repr(wait_result) def test_kill_sync(self): return self._test_kill(True) @@ -54,9 +56,39 @@ class TestSpawnLink(unittest.TestCase): def test_kill_async(self): return self._test_kill(False) + def test_poll(self): + def func(): + sleep(0.1) + return 25 + job = spawn_link(func) + self.assertEqual(job.poll(), None) + assert job, repr(job) + self.assertEqual(job.wait(), 25) + self.assertEqual(job.poll(), 25) + assert not job, repr(job) -if __name__=='__main__': - unittest.main() + job = spawn_link(func) + self.assertEqual(job.poll(5), 5) + assert job, repr(job) + self.assertEqual(job.wait(), 25) + self.assertEqual(job.poll(5), 25) + assert not job, repr(job) + def test_kill_after(self): + def func(): + sleep(0.1) + return 25 + job = spawn_link(func) + job.kill_after(0.05) + result = job.wait() + assert isinstance(result, GreenletExit), repr(result) + + job = spawn_link(func) + job.kill_after(0.2) + self.assertEqual(job.wait(), 25) + sleep(0.2) + self.assertEqual(job.wait(), 25) +if __name__=='__main__': + unittest.main() |