Example #1
0
 def test_throw_GreenletExit_not_started(self):
     import greenlet
     def f():
         never_executed
     g = greenlet.greenlet(f)
     e = greenlet.GreenletExit()
     x = g.throw(e)
     assert x is e
Example #2
0
 def test_throw_GreenletExit_already_finished(self):
     import greenlet
     def f():
         pass
     g = greenlet.greenlet(f)
     g.switch()
     e = greenlet.GreenletExit()
     x = g.throw(e)
     assert x is e
Example #3
0
 def test_throw_GreenletExit_result(self):
     from greenlet import greenlet
     gmain = greenlet.getcurrent()
     l = [0]
     #
     def func():
         l[0] += 1
         gmain.switch()
         l[0] += 1
     #
     g = greenlet(func)
     g.switch()
     assert l[0] == 1
     ge1 = greenlet.GreenletExit(1, 2, 3)
     ge2 = g.throw(ge1)
     assert l[0] == 1
     assert ge1 is ge2