def setUp(self): super().setUp() self.exit_stack = contextlib.ExitStack() self.k = kernels.Kernel(sanity_check_frequency=1) self.exit_stack.callback(self.k.close) r, w = os.pipe() os.set_blocking(r, False) os.set_blocking(w, False) self.r = os.fdopen(r, 'rb') self.w = os.fdopen(w, 'wb') self.exit_stack.callback(self.r.close) self.exit_stack.callback(self.w.close) self.k.notify_open(r) self.k.notify_open(w)
def test_disallow_across_kernel(self): async def f(): pass async def join(): await traps.join(test_task) with kernels.Kernel(sanity_check_frequency=1) as k: test_task = k.spawn(f) with self.assertRaisesRegex(AssertionError, r'expect.*Kernel'): self.k.run(join()) with self.assertRaisesRegex(AssertionError, r'expect.*Kernel'): self.k.cancel(test_task) with self.assertRaisesRegex(AssertionError, r'expect.*Kernel'): self.k.timeout_after(test_task, 0)
def test_get_task(self): async def func(): return tasks.get_current_task() self.assertEqual(tasks.get_all_tasks(), []) self.assertIsNone(tasks.get_current_task()) k = kernels.Kernel() token = contexts.set_kernel(k) try: task = k.spawn(func) self.assertEqual(tasks.get_all_tasks(), [task]) k.run(timeout=1) self.assertEqual(tasks.get_all_tasks(), []) self.assertIs(task, task.get_result_nonblocking()) finally: contexts.KERNEL.reset(token) k.close() self.assertEqual(tasks.get_all_tasks(), []) self.assertIsNone(tasks.get_current_task())
def setUp(self): self.k = kernels.Kernel() self.token = contexts.set_kernel(self.k)
def setUp(self): self.k = kernels.Kernel() self.token = contexts.set_kernel(self.k) s0, s1 = socket.socketpair() self.s0 = adapters.SocketAdapter(s0) self.s1 = adapters.SocketAdapter(s1)
def setUp(self): self.k = kernels.Kernel() self.token = contexts.set_kernel(self.k) r, w = os.pipe() self.r = adapters.FileAdapter(os.fdopen(r, 'rb')) self.w = adapters.FileAdapter(os.fdopen(w, 'wb'))
def setUp(self): self.s = streams.BytesStream() self.k = kernels.Kernel() self.token = contexts.set_kernel(self.k)