From db9eb18c05f8ccbd44945df4cc6e0206419d88b6 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 24 Nov 2014 14:36:46 +0100 Subject: add tests directly on greenlet --- tests/test_greenlet.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests/test_greenlet.py 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() + -- cgit v1.2.1