summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-11-24 14:36:46 +0100
committerVictor Stinner <victor.stinner@gmail.com>2014-11-24 14:36:46 +0100
commitdb9eb18c05f8ccbd44945df4cc6e0206419d88b6 (patch)
treef94d8cddf518245d2cf9456d004c1c242b0be0e2
parent097a7f598b5725e9e8229c68a05e0106d54ac84a (diff)
downloadaioeventlet-db9eb18c05f8ccbd44945df4cc6e0206419d88b6.tar.gz
add tests directly on greenlet
-rw-r--r--tests/test_greenlet.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/test_greenlet.py b/tests/test_greenlet.py
new file mode 100644
index 0000000..67cde61
--- /dev/null
+++ b/tests/test_greenlet.py
@@ -0,0 +1,37 @@
+import aiogreen
+import greenlet
+import tests
+
+
+class WrapGreenletTests(tests.TestCase):
+ def test_wrap_greenlet(self):
+ def func(value):
+ return value * 3
+
+ gl = greenlet.greenlet(func)
+ fut = aiogreen.wrap_greenthread(gl)
+ gl.switch(5)
+ result = self.loop.run_until_complete(fut)
+ self.assertEqual(result, 15)
+
+ def test_wrap_greenlet_running(self):
+ def func(value):
+ gl = greenlet.getcurrent()
+ return aiogreen.wrap_greenthread(gl)
+
+ gl = greenlet.greenlet(func)
+ self.assertRaises(RuntimeError, gl.switch, 5)
+
+ def test_wrap_greenlet_dead(self):
+ def func(value):
+ return value * 3
+
+ gl = greenlet.greenlet(func)
+ gl.switch(5)
+ self.assertRaises(RuntimeError, aiogreen.wrap_greenthread, gl)
+
+
+if __name__ == '__main__':
+ import unittest
+ unittest.main()
+