@@ -267,16 +267,15 @@ def test_shutdown_immediate(self):
267267 def test_shutdown_allowed_transitions (self ):
268268 # allowed transitions would be from alive via shutdown to immediate
269269 q = self .type2test ()
270- self .assertEqual ( "alive" , q . shutdown_state )
270+ self .assertFalse ( q . is_shutdown )
271271
272272 q .shutdown ()
273- self .assertEqual ( "shutdown" , q . shutdown_state )
273+ self .assertTrue ( q . is_shutdown )
274274
275275 q .shutdown (immediate = True )
276- self .assertEqual ( "shutdown-immediate" , q . shutdown_state )
276+ self .assertTrue ( q . is_shutdown )
277277
278278 q .shutdown (immediate = False )
279- self .assertNotEqual ("shutdown" , q .shutdown_state )
280279
281280 def _shutdown_all_methods_in_one_thread (self , immediate ):
282281 q = self .type2test (2 )
@@ -293,10 +292,9 @@ def _shutdown_all_methods_in_one_thread(self, immediate):
293292 q .get ()
294293 with self .assertRaises (self .queue .ShutDown ):
295294 q .get_nowait ()
296- with self .assertRaises (self . queue . ShutDown ):
295+ with self .assertRaises (ValueError ):
297296 q .task_done ()
298- with self .assertRaises (self .queue .ShutDown ):
299- q .join ()
297+ q .join ()
300298 else :
301299 self .assertIn (q .get (), "LO" )
302300 q .task_done ()
@@ -333,10 +331,7 @@ def _write_msg_thread(self, q, n, results, delay,
333331 event_end .set ()
334332 time .sleep (delay )
335333 # end of all puts
336- try :
337- q .join ()
338- except self .queue .ShutDown :
339- pass
334+ q .join ()
340335
341336 def _read_msg_thread (self , q , nb , results , delay , event_start ):
342337 event_start .wait ()
@@ -355,26 +350,17 @@ def _read_msg_thread(self, q, nb, results, delay, event_start):
355350 nb -= 1
356351 except self .queue .Empty :
357352 pass
358- try :
359- q .join ()
360- except self .queue .ShutDown :
361- pass
353+ q .join ()
362354
363355 def _shutdown_thread (self , q , event_end , immediate ):
364356 event_end .wait ()
365357 q .shutdown (immediate )
366- try :
367- q .join ()
368- except self .queue .ShutDown :
369- pass
358+ q .join ()
370359
371360 def _join_thread (self , q , delay , event_start ):
372361 event_start .wait ()
373362 time .sleep (delay )
374- try :
375- q .join ()
376- except self .queue .ShutDown :
377- pass
363+ q .join ()
378364
379365 def _shutdown_all_methods_in_many_threads (self , immediate ):
380366 q = self .type2test ()
@@ -413,6 +399,9 @@ def _shutdown_all_methods_in_many_threads(self, immediate):
413399 assert (len (res_gets ) <= len (res_puts ))
414400 assert (res_gets .count (True ) <= res_puts .count (True ))
415401
402+ for thread in ps [1 :]:
403+ thread .join ()
404+
416405 def test_shutdown_all_methods_in_many_threads (self ):
417406 return self ._shutdown_all_methods_in_many_threads (False )
418407
@@ -544,15 +533,9 @@ def _shutdown_join(self, immediate):
544533 go = threading .Event ()
545534 nb = q .qsize ()
546535
547- if immediate :
548- thrds = (
549- (self ._join_shutdown , (q , results )),
550- (self ._join_shutdown , (q , results )),
551- )
552- else :
553- thrds = (
554- (self ._join , (q , results )),
555- (self ._join , (q , results )),
536+ thrds = (
537+ (self ._join , (q , results )),
538+ (self ._join , (q , results )),
556539 )
557540 threads = []
558541 for func , params in thrds :
@@ -584,21 +567,15 @@ def _shutdown_put_join(self, immediate):
584567 nb = q .qsize ()
585568 # queue not fulled
586569
587- if immediate :
588- thrds = (
589- (self ._put_shutdown , (q , "E" , go , results )),
590- (self ._join_shutdown , (q , results )),
591- )
592- else :
593- thrds = (
594- (self ._put_shutdown , (q , "E" , go , results )),
595- (self ._join , (q , results )),
596- )
570+ thrds = (
571+ (self ._put_shutdown , (q , "E" , go , results )),
572+ (self ._join , (q , results )),
573+ )
597574 threads = []
598575 for func , params in thrds :
599576 threads .append (threading .Thread (target = func , args = params ))
600577 threads [- 1 ].start ()
601- if not immediate :
578+ if not immediate or immediate : # TODO: dedent (minimising Git diff)
602579 self .assertEqual (q .unfinished_tasks , nb )
603580 for i in range (nb ):
604581 t = threading .Thread (target = q .task_done )
0 commit comments