a XC?h÷ ã @ sR d dl Z d dlZddlmZ e dddg¡ZG dd„ de jƒZG d d „ d eƒZdS )é Né )Ú_BaseTestCaseContextÚ_LoggingWatcherÚrecordsÚoutputc @ s( e Zd ZdZdd„ Zdd„ Zdd„ ZdS ) Ú_CapturingHandlerzM A logging handler capturing all (raw and formatted) logging output. c C s t j | ¡ tg g ƒ| _d S ©N)ÚloggingÚHandlerÚ__init__r Úwatcher©Úself© r ú2/opt/alt/python39/lib64/python3.9/unittest/_log.pyr s z_CapturingHandler.__init__c C s d S r r r r r r Úflush s z_CapturingHandler.flushc C s* | j j |¡ | |¡}| j j |¡ d S r )r r ÚappendÚformatr )r ÚrecordÚmsgr r r Úemit s z_CapturingHandler.emitN)Ú__name__Ú __module__Ú__qualname__Ú__doc__r r r r r r r r s r c @ s, e Zd ZdZdZdd„ Zdd„ Zdd„ Zd S ) Ú_AssertLogsContextz:A context manager used to implement TestCase.assertLogs().z"%(levelname)s:%(name)s:%(message)sc C s: t | |¡ || _|r(tj ||¡| _ntj| _d | _d S r ) r r Úlogger_namer Z_nameToLevelÚgetÚlevelÚINFOr )r Z test_caser r r r r r ! s z_AssertLogsContext.__init__c C s’ t | jtjƒr| j }| _nt | j¡ }| _t | j¡}tƒ }| |¡ |j | _ |jd d … | _|j | _|j| _|g|_| | j ¡ d|_|j S )NF)Ú isinstancer r ZLoggerÚloggerZ getLoggerZ FormatterÚLOGGING_FORMATr ZsetFormatterr ÚhandlersÚold_handlersr Ú old_levelÚ propagateÚ old_propagateÚsetLevel)r r! Z formatterZhandlerr r r Ú __enter__* s z_AssertLogsContext.__enter__c C s` | j | j_| j| j_| j | j¡ |d ur.dS t| jj ƒdkr\| d t | j¡| jj¡¡ d S )NFr z-no logs of level {} or higher triggered on {})r$ r! r# r' r&