def test_wrap_greenlet_exc(self): def func(): raise ValueError(7) gl = greenlet.greenlet(func) fut = aiogevent.wrap_greenlet(gl) gl.switch() self.assertRaises(ValueError, self.loop.run_until_complete, fut)
def test_wrap_greenlet(self): def func(value): return value * 3 gl = greenlet.greenlet(func) fut = aiogevent.wrap_greenlet(gl) gl.switch(5) result = self.loop.run_until_complete(fut) self.assertEqual(result, 15)
def test_wrap_greenlet_exc(self): self.loop.set_debug(True) def func(): raise ValueError(7) gt = gevent.spawn_raw(func) fut = aiogevent.wrap_greenlet(gt) self.assertRaises(ValueError, self.loop.run_until_complete, fut)
def func(): try: gt = gevent.getcurrent() fut = aiogevent.wrap_greenlet(gt) except Exception as exc: result.append((True, exc)) else: result.append((False, fut)) event.set()
def test_wrap_greenlet(self): def func(): gevent.sleep(0.010) return "ok" gt = gevent.spawn_raw(func) fut = aiogevent.wrap_greenlet(gt) result = self.loop.run_until_complete(fut) self.assertEqual(result, "ok")
def coro_wrap_greenlet(): result = [] gt = gevent.spawn(gevent_slow_append, result, 1, 0.020) value = yield From(aiogevent.wrap_greenlet(gt)) result.append(value) gt = gevent.spawn(gevent_slow_append, result, 2, 0.010) value = yield From(aiogevent.wrap_greenlet(gt)) result.append(value) gt = gevent.spawn(gevent_slow_error) try: yield From(aiogevent.wrap_greenlet(gt)) except ValueError as exc: result.append(str(exc)) result.append(4) raise Return(result)
def test_wrap_greenlet_exc(self): self.loop.set_debug(True) def func(): raise ValueError(7) # FIXME: the unit test must fail!? with tests.mock.patch('traceback.print_exception') as print_exception: gt = gevent.spawn(func) fut = aiogevent.wrap_greenlet(gt) self.assertRaises(ValueError, self.loop.run_until_complete, fut) # the exception must not be logger by traceback: the caller must # consume the exception from the future object self.assertFalse(print_exception.called)
def func(value): gl = greenlet.getcurrent() return aiogevent.wrap_greenlet(gl)
def func(): return aiogevent.wrap_greenlet(gt)
load_module("wait") load_module("logging") #load_module("on_event") load_module("net") load_module("data") load_module("block") load_module("qbroker") load_module("state") load_module("errors") #load_module("trigger") load_module("help") k = spawn(run, "qbroker", input) j = spawn(gtester) f = aiogevent.wrap_greenlet(j, loop=qbroker.loop) #qbroker.loop.run_until_complete(f) aiogevent.yield_future(f) assert seen try: k.kill() finally: k.join() try: j.kill() finally: j.join() import sys sys.exit(0)
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License (included; see the file LICENSE) ## for more details. ## ## This header is auto-generated and may self-destruct at any time, ## courtesy of "make update". The original is in ‘scripts/_boilerplate.py’. ## Thus, do not remove the next line, or insert any blank lines above. ##BP from moat import patch; patch() from qbroker import setup; setup(gevent=True) import os import sys import gevent import qbroker import aiogevent ### this import must not happen before settings are completely loaded from hamlish_jinja import Hamlish Hamlish._self_closing_jinja_tags.add('csrf_token') import django django.setup() if __name__ == "__main__": from django.core.management import execute_from_command_line g = gevent.spawn(execute_from_command_line,sys.argv) t = aiogevent.wrap_greenlet(g,loop=qbroker.loop) qbroker.loop.run_until_complete(t)
def _async_stop_mainloop(): j = gevent.spawn(_stop_mainloop) yield from aiogevent.wrap_greenlet(j)