[pypy-svn] r35827 - pypy/dist/pypy/lib/app_test
arigo at codespeak.net
arigo at codespeak.net
Sat Dec 16 10:56:35 CET 2006
Author: arigo
Date: Sat Dec 16 10:56:32 2006
New Revision: 35827
Modified:
pypy/dist/pypy/lib/app_test/test_coroutine.py
Log:
Add tests for the strange "is_zombie" property.
Modified: pypy/dist/pypy/lib/app_test/test_coroutine.py
==============================================================================
--- pypy/dist/pypy/lib/app_test/test_coroutine.py (original)
+++ pypy/dist/pypy/lib/app_test/test_coroutine.py Sat Dec 16 10:56:32 2006
@@ -8,8 +8,31 @@
co = coroutine()
def f():
print 'in coro'
+ assert not co.is_zombie
co.bind(f)
assert not co.is_zombie
+ co.switch()
+ assert not co.is_zombie
+
+ def test_is_zombie_del(self):
+ import gc
+ res = []
+ class MyCoroutine(coroutine):
+ def __del__(self):
+ res.append(self.is_zombie)
+ def f():
+ print 'in coro'
+ co = MyCoroutine()
+ co.bind(f)
+ co.switch()
+ del co
+ for i in range(5):
+ gc.collect()
+ if res:
+ break
+ if not res:
+ skip("MyCoroutine object not garbage-collected yet?")
+ assert res[0], "is_zombie was False in __del__"
def test_raise_propagate(self):
co = coroutine()
@@ -46,6 +69,7 @@
co = coroutine()
def f():
pass
+ assert not co.is_alive
co.bind(f)
assert co.is_alive
co.kill()
More information about the Pypy-commit
mailing list