Issue #28613: Fix get_event_loop() to return the current loop

when called from coroutines or callbacks.
This commit is contained in:
Yury Selivanov 2016-11-04 14:29:28 -04:00
parent 1ea023e523
commit 600a349781
18 changed files with 126 additions and 2 deletions

View file

@ -75,6 +75,7 @@ class Dummy:
class TaskTests(test_utils.TestCase):
def setUp(self):
super().setUp()
self.loop = self.new_test_loop()
def test_other_loop_future(self):
@ -1933,6 +1934,7 @@ class TaskTests(test_utils.TestCase):
class GatherTestsBase:
def setUp(self):
super().setUp()
self.one_loop = self.new_test_loop()
self.other_loop = self.new_test_loop()
self.set_event_loop(self.one_loop, cleanup=False)
@ -2216,6 +2218,7 @@ class RunCoroutineThreadsafeTests(test_utils.TestCase):
"""Test case for asyncio.run_coroutine_threadsafe."""
def setUp(self):
super().setUp()
self.loop = asyncio.new_event_loop()
self.set_event_loop(self.loop) # Will cleanup properly
@ -2306,12 +2309,14 @@ class RunCoroutineThreadsafeTests(test_utils.TestCase):
class SleepTests(test_utils.TestCase):
def setUp(self):
super().setUp()
self.loop = asyncio.new_event_loop()
asyncio.set_event_loop(None)
def tearDown(self):
self.loop.close()
self.loop = None
super().tearDown()
def test_sleep_zero(self):
result = 0