summaryrefslogtreecommitdiff
path: root/tests/test_weakref.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_weakref.py')
-rw-r--r--tests/test_weakref.py34
1 files changed, 0 insertions, 34 deletions
diff --git a/tests/test_weakref.py b/tests/test_weakref.py
deleted file mode 100644
index 6a2ff06..0000000
--- a/tests/test_weakref.py
+++ /dev/null
@@ -1,34 +0,0 @@
-import gc
-import greenlet
-import weakref
-import unittest
-
-
-class WeakRefTests(unittest.TestCase):
- def test_dead_weakref(self):
- def _dead_greenlet():
- g = greenlet.greenlet(lambda: None)
- g.switch()
- return g
- o = weakref.ref(_dead_greenlet())
- gc.collect()
- self.assertEqual(o(), None)
-
- def test_inactive_weakref(self):
- o = weakref.ref(greenlet.greenlet())
- gc.collect()
- self.assertEqual(o(), None)
-
- def test_dealloc_weakref(self):
- seen = []
- def worker():
- try:
- greenlet.getcurrent().parent.switch()
- finally:
- seen.append(g())
- g = greenlet.greenlet(worker)
- g.switch()
- g2 = greenlet.greenlet(lambda: None, g)
- g = weakref.ref(g2)
- g2 = None
- self.assertEqual(seen, [None])