async def main(): src, dest1, dest2 = chan(), chan(), chan() c.thread(lambda: thread(src, dest1, dest2)) await asyncio.sleep(0.1) self.assertIs(await src.put('dropMe'), True) await asyncio.sleep(0.1) self.assertIsNone(dest1.poll()) self.assertIsNone(dest2.poll())
def test_non_none_return_value(self): def thread(): return 'success' ch = c.thread(thread) self.assertEqual(ch.b_get(), 'success') self.assertIsNone(ch.b_get())
def test_executor(self): def thread(): time.sleep(0.1) return threading.current_thread().name executor = ThreadPoolExecutor(max_workers=1, thread_name_prefix='executor') thread_name = c.thread(thread, executor).b_get() self.assertTrue(thread_name.startswith('executor'))
def test_none_return_value(self): def thread(): return None ch = c.thread(thread) self.assertIsNone(ch.b_get())
async def main(): src_ch, tap_ch = chan(), chan() c.thread(lambda: thread(src_ch, tap_ch)) self.assertIsNone(await tap_ch.get())
async def main(): src, close_dest, open_dest = chan(), chan(1), chan(1) c.thread(lambda: thread(src, close_dest, open_dest)) await asyncio.sleep(0.1) self.assertIs(await close_dest.put('closed'), False) self.assertIs(await open_dest.put('not closed'), True)
async def main(): src, dest1, dest2, complete = chan(), chan(), chan(), chan() c.thread(lambda: thread(src, dest1, dest2, complete)) self.assertIsNone(await complete.get())
async def main(): src, dest1, dest2 = chan(), chan(), chan() c.thread(lambda: thread(src, dest1, dest2)) await asyncio.sleep(0.1) self.assertIsNone(dest2.poll()) src.close()
async def main(): src, dest = chan(), chan() c.thread(lambda: thread(src, dest)) self.assertEqual(await dest.get(), 'success') src.close()
async def main(): ch = chan() thread_result_ch = c.thread(lambda: getter_thread(ch)) self.assertIs(await ch.put('success'), True) self.assertEqual(await thread_result_ch.get(), 'success')
async def main(): c.thread(thread).b_get()