[pypy-svn] r74359 - pypy/trunk/pypy/module/cpyext/test

afa at codespeak.net afa at codespeak.net
Tue May 4 14:39:35 CEST 2010


Author: afa
Date: Tue May  4 14:39:34 2010
New Revision: 74359

Modified:
   pypy/trunk/pypy/module/cpyext/test/test_weakref.py
Log:
test weakref on a collected object.


Modified: pypy/trunk/pypy/module/cpyext/test/test_weakref.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/test/test_weakref.py	(original)
+++ pypy/trunk/pypy/module/cpyext/test/test_weakref.py	Tue May  4 14:39:34 2010
@@ -13,3 +13,17 @@
         assert api.PyWeakref_NewRef(w_obj, space.w_None) is None
         assert api.PyErr_Occurred() is space.w_TypeError
         api.PyErr_Clear()
+
+    def test_weakref_lockobject(self, space, api):
+        # some new weakrefable object
+        w_obj = space.call_function(space.w_type, space.wrap("newtype"),
+                                    space.newtuple([]), space.newdict())
+        assert w_obj is not None
+
+        w_ref = api.PyWeakref_NewRef(w_obj, space.w_None)
+        assert w_obj is not None
+
+        assert space.is_w(api.PyWeakref_LockObject(w_ref), w_obj)
+        del w_obj
+        import gc; gc.collect()
+        assert space.is_w(api.PyWeakref_LockObject(w_ref), space.w_None)



More information about the Pypy-commit mailing list