Exemplo n.º 1
0
 def test_wait_transfer_stack_context(self):
     # Wait should not pick up contexts from where callback was invoked,
     # even if that function improperly fails to wrap its callback.
     cb = yield gen.Callback('k1')
     self.function_with_stack_context(cb)
     self.assertEqual(self.named_contexts, [])
     yield gen.Wait('k1')
     self.assertEqual(self.named_contexts, [])
Exemplo n.º 2
0
 def f2():
     (yield gen.Callback(1))()
     yield gen.Wait(1)
     self.io_loop.add_callback(lambda: 1 / 0)
     try:
         yield gen.Task(self.io_loop.add_timeout,
                        self.io_loop.time() + 10)
     except ZeroDivisionError:
         raise gen.Return(42)
Exemplo n.º 3
0
 def f():
     try:
         yield gen.Wait("k1")
         raise Exception("did not get expected exception")
     except gen.UnknownKeyError:
         pass
     (yield gen.Callback("k2"))("v2")
     self.assertEqual((yield gen.Wait("k2")), "v2")
     self.stop()
Exemplo n.º 4
0
    def test_async_await_mixed_multi_native_yieldpoint(self):
        namespace = exec_test(globals(), locals(), """
        async def f1():
            await gen.Task(self.io_loop.add_callback)
            return 42
        """)

        @gen.coroutine
        def f2():
            yield gen.Task(self.io_loop.add_callback)
            raise gen.Return(43)

        f2(callback=(yield gen.Callback('cb')))
        results = yield [namespace['f1'](), gen.Wait('cb')]
        self.assertEqual(results, [42, 43])
        self.finished = True
Exemplo n.º 5
0
 def f():
     self.io_loop.add_callback((yield gen.Callback("k1")))
     yield gen.Wait("k1")
     1 / 0
Exemplo n.º 6
0
 def f():
     (yield gen.Callback("k1"))()
     res = yield gen.Wait("k1")
     self.assertTrue(res is None)
     self.stop()
Exemplo n.º 7
0
 def f():
     (yield gen.Callback("k1"))("v1")
     (yield gen.Callback("k2"))("v2")
     results = yield dict(foo=gen.Wait("k1"), bar=gen.Wait("k2"))
     self.assertEqual(results, dict(foo="v1", bar="v2"))
     self.stop()
Exemplo n.º 8
0
 def f():
     (yield gen.Callback((1, 2)))((3, 4))
     res = yield gen.Wait((1, 2))
     self.assertEqual((3, 4), res)
     self.stop()
Exemplo n.º 9
0
 def f():
     self.orphaned_callback = yield gen.Callback(1)
Exemplo n.º 10
0
 def f():
     yield gen.Callback((1, 2))
     self.stop()
Exemplo n.º 11
0
 def f():
     self.io_loop.add_callback((yield gen.Callback(0)))
     yield gen.Wait(0)
     self.stop()
Exemplo n.º 12
0
 def f():
     yield gen.Callback("k1")
     self.stop()
Exemplo n.º 13
0
 def f():
     yield gen.Callback((1, 2))
     yield gen.Wait((2, 3))
     self.stop()
Exemplo n.º 14
0
 def f():
     yield gen.Callback("k1")
     yield gen.Wait("k2")
     self.stop()
Exemplo n.º 15
0
 def test_yield_outside_with(self):
     # This pattern avoids the problem in the previous test.
     cb = yield gen.Callback('k1')
     with StackContext(functools.partial(self.context, 'c1')):
         self.io_loop.add_callback(cb)
     yield gen.Wait('k1')
Exemplo n.º 16
0
 def f():
     (yield gen.Callback("k1"))("v1")
     (yield gen.Callback("k2"))("v2")
     results = yield [gen.Wait("k1"), gen.Wait("k2")]
     self.assertEqual(results, ["v1", "v2"])
     self.stop()
Exemplo n.º 17
0
 def test_yield_outside_with_exception_stack_context(self):
     cb = yield gen.Callback('k1')
     with ExceptionStackContext(lambda t, v, tb: False):
         self.io_loop.add_callback(cb)
     yield gen.Wait('k1')
Exemplo n.º 18
0
 def f():
     (yield gen.Callback("k1"))(42)
     res = yield gen.Wait("k1")
     self.assertEqual(42, res)
     self.stop()