bpo-31457: Don't omit inner ``process()`` calls with nested LogAdapte… · python/cpython@ce9e625

@@ -3904,7 +3904,6 @@ def test_critical(self):

390439043905390539063906

class LoggerAdapterTest(unittest.TestCase):

3907-39083907

def setUp(self):

39093908

super(LoggerAdapterTest, self).setUp()

39103909

old_handler_list = logging._handlerList[:]

@@ -3979,27 +3978,36 @@ def test_has_handlers(self):

39793978

self.assertFalse(self.adapter.hasHandlers())

3980397939813980

def test_nested(self):

3981+

class Adapter(logging.LoggerAdapter):

3982+

prefix = 'Adapter'

3983+3984+

def process(self, msg, kwargs):

3985+

return f"{self.prefix} {msg}", kwargs

3986+39823987

msg = 'Adapters can be nested, yo.'

3983-

adapter_adapter = logging.LoggerAdapter(logger=self.adapter, extra=None)

3988+

adapter = Adapter(logger=self.logger, extra=None)

3989+

adapter_adapter = Adapter(logger=adapter, extra=None)

3990+

adapter_adapter.prefix = 'AdapterAdapter'

3991+

self.assertEqual(repr(adapter), repr(adapter_adapter))

39843992

adapter_adapter.log(logging.CRITICAL, msg, self.recording)

39853993

self.assertEqual(len(self.recording.records), 1)

39863994

record = self.recording.records[0]

39873995

self.assertEqual(record.levelno, logging.CRITICAL)

3988-

self.assertEqual(record.msg, msg)

3996+

self.assertEqual(record.msg, f"Adapter AdapterAdapter {msg}")

39893997

self.assertEqual(record.args, (self.recording,))

39903998

orig_manager = adapter_adapter.manager

3991-

self.assertIs(self.adapter.manager, orig_manager)

3999+

self.assertIs(adapter.manager, orig_manager)

39924000

self.assertIs(self.logger.manager, orig_manager)

39934001

temp_manager = object()

39944002

try:

39954003

adapter_adapter.manager = temp_manager

39964004

self.assertIs(adapter_adapter.manager, temp_manager)

3997-

self.assertIs(self.adapter.manager, temp_manager)

4005+

self.assertIs(adapter.manager, temp_manager)

39984006

self.assertIs(self.logger.manager, temp_manager)

39994007

finally:

40004008

adapter_adapter.manager = orig_manager

40014009

self.assertIs(adapter_adapter.manager, orig_manager)

4002-

self.assertIs(self.adapter.manager, orig_manager)

4010+

self.assertIs(adapter.manager, orig_manager)

40034011

self.assertIs(self.logger.manager, orig_manager)

4004401240054013