a ÕDOg÷ã@sRddlZddlZddlmZe dddg¡ZGdd„dejƒZGd d „d eƒZdS) éNé)Ú_BaseTestCaseContextÚ_LoggingWatcherÚrecordsÚoutputc@s(eZdZdZdd„Zdd„Zdd„ZdS) Ú_CapturingHandlerzM A logging handler capturing all (raw and formatted) logging output. cCstj |¡tggƒ|_dS©N)ÚloggingÚHandlerÚ__init__rÚwatcher©Úself©rú2/opt/alt/python39/lib64/python3.9/unittest/_log.pyr s z_CapturingHandler.__init__cCsdSrrr rrrÚflushsz_CapturingHandler.flushcCs*|jj |¡| |¡}|jj |¡dSr)r rÚappendÚformatr)rÚrecordÚmsgrrrÚemits z_CapturingHandler.emitN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r rrrrrrr src@s,eZdZdZdZdd„Zdd„Zdd„Zd S) Ú_AssertLogsContextz:A context manager used to implement TestCase.assertLogs().z"%(levelname)s:%(name)s:%(message)scCs:t ||¡||_|r(tj ||¡|_ntj|_d|_dSr) rr Ú logger_namer Z _nameToLevelÚgetÚlevelÚINFOr)rZ test_caserrrrrr !s  z_AssertLogsContext.__init__cCs’t|jtjƒr|j}|_nt |j¡}|_t |j¡}tƒ}|  |¡|j |_ |j dd…|_ |j |_|j|_|g|_ | |j ¡d|_|j S)NF)Ú isinstancerr ZLoggerÚloggerZ getLoggerZ FormatterÚLOGGING_FORMATrZ setFormatterr ÚhandlersÚ old_handlersrÚ old_levelÚ propagateÚ old_propagateÚsetLevel)rr!Z formatterZhandlerrrrÚ __enter__*s   z_AssertLogsContext.__enter__cCs`|j|j_|j|j_|j |j¡|dur.dSt|jj ƒdkr\|  d  t   |j¡|jj¡¡dS)NFrz-no logs of level {} or higher triggered on {})r$r!r#r'r&r(r%Úlenr rZ _raiseFailurerr Z getLevelNamerÚname)rÚexc_typeÚ exc_valueÚtbrrrÚ__exit__;s  ÿÿz_AssertLogsContext.__exit__N)rrrrr"r r)r/rrrrrs  r) r Ú collectionsZcaserÚ namedtuplerr rrrrrrÚs ÿ