Beispiel #1
0
 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())
Beispiel #2
0
    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())
Beispiel #3
0
    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'))
Beispiel #4
0
    def test_none_return_value(self):
        def thread():
            return None

        ch = c.thread(thread)
        self.assertIsNone(ch.b_get())
Beispiel #5
0
 async def main():
     src_ch, tap_ch = chan(), chan()
     c.thread(lambda: thread(src_ch, tap_ch))
     self.assertIsNone(await tap_ch.get())
Beispiel #6
0
 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)
Beispiel #7
0
 async def main():
     src, dest1, dest2, complete = chan(), chan(), chan(), chan()
     c.thread(lambda: thread(src, dest1, dest2, complete))
     self.assertIsNone(await complete.get())
Beispiel #8
0
 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()
Beispiel #9
0
 async def main():
     src, dest = chan(), chan()
     c.thread(lambda: thread(src, dest))
     self.assertEqual(await dest.get(), 'success')
     src.close()
Beispiel #10
0
 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')
Beispiel #11
0
 async def main():
     c.thread(thread).b_get()