(self, x)
| 1065 | yield self.inner(x) |
| 1066 | |
| 1067 | async def inner(self, x): |
| 1068 | self.assertEqual(ctx_var.get(), x) |
| 1069 | await self.gen_inner(x) |
| 1070 | self.assertEqual(ctx_var.get(), x) |
| 1071 | |
| 1072 | # IOLoop.run_in_executor doesn't automatically copy context |
| 1073 | ctx = contextvars.copy_context() |
| 1074 | await self.io_loop.run_in_executor(None, lambda: ctx.run(self.thread_inner, x)) |
| 1075 | self.assertEqual(ctx_var.get(), x) |
| 1076 | |
| 1077 | # Neither does asyncio's run_in_executor. |
| 1078 | await asyncio.get_event_loop().run_in_executor( |
| 1079 | None, lambda: ctx.run(self.thread_inner, x) |
| 1080 | ) |
| 1081 | self.assertEqual(ctx_var.get(), x) |
| 1082 | |
| 1083 | @gen.coroutine |
| 1084 | def gen_inner(self, x): |
no test coverage detected