File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -272,10 +272,10 @@ def shutdown(self, immediate=False):
272272 self ._unfinished_tasks -= 1
273273 if self ._unfinished_tasks <= 0 :
274274 self ._finished .set ()
275- while self ._getters :
276- getter = self ._getters .popleft ()
277- if not getter .done ():
278- getter .set_result (None )
275+ while self ._getters :
276+ getter = self ._getters .popleft ()
277+ if not getter .done ():
278+ getter .set_result (None )
279279 while self ._putters :
280280 putter = self ._putters .popleft ()
281281 if not putter .done ():
Original file line number Diff line number Diff line change @@ -551,10 +551,12 @@ async def test_format(self):
551551 async def test_shutdown_empty (self ):
552552 # Test shutting down an empty queue
553553
554- # Setup empty queue and join() task
554+ # Setup empty queue, and join() and get() tasks
555555 q = self .q_class ()
556556 loop = asyncio .get_running_loop ()
557557 join_task = loop .create_task (q .join ())
558+ get_task = loop .create_task (q .get ())
559+ await self ._ensure_started (get_task ) # want pending before shutdown
558560
559561 # Perform shut-down
560562 q .shutdown (immediate = False ) # unfinished tasks: 0 -> 0
@@ -566,6 +568,11 @@ async def test_shutdown_empty(self):
566568 self .assertTrue (join_task .done ())
567569 await join_task
568570
571+ # Ensure get() task is finished, and raised ShutDown
572+ self .assertTrue (get_task .done ())
573+ with self .assertRaisesShutdown ():
574+ await get_task
575+
569576 # Ensure put() and get() raise ShutDown
570577 with self .assertRaisesShutdown ():
571578 await q .put ("data" )
You can’t perform that action at this time.
0 commit comments