[3.12] gh-119819: Fix regression to allow logging configuration with multipr… (GH-120030) by miss-islington · Pull Request #120034 · python/cpython
@unittest.skipIf(support.is_wasi, "WASI does not have multiprocessing.") def test_multiprocessing_queues(self): # See gh-119819 cd = copy.deepcopy(self.config_queue_handler) from multiprocessing import Queue as MQ, Manager as MM q1 = MQ() # this can't be pickled q2 = MM().Queue() # a proxy queue for use when pickling is needed for qspec in (q1, q2): fn = make_temp_file('.log', 'test_logging-cmpqh-') cd['handlers']['h1']['filename'] = fn cd['handlers']['ah']['queue'] = qspec qh = None try: self.apply_config(cd) qh = logging.getHandlerByName('ah') self.assertEqual(sorted(logging.getHandlerNames()), ['ah', 'h1']) self.assertIsNotNone(qh.listener) self.assertIs(qh.queue, qspec) self.assertIs(qh.listener.queue, qspec) finally: h = logging.getHandlerByName('h1') if h: self.addCleanup(closeFileHandler, h, fn) else: self.addCleanup(os.remove, fn)
def test_90195(self): # See gh-90195 config = {