o ?Og @sRddlZddlZddlmZedddgZGdddejZGd d d eZdS) N)_BaseTestCaseContext_LoggingWatcherrecordsoutputc@s(eZdZdZddZddZddZdS) _CapturingHandlerzM A logging handler capturing all (raw and formatted) logging output. cCstj|tgg|_dSN)loggingHandler__init__rwatcherselfr4/opt/alt/python310/lib64/python3.10/unittest/_log.pyr s z_CapturingHandler.__init__cCsdSrrr rrrflushsz_CapturingHandler.flushcCs*|jj|||}|jj|dSr)r rappendformatr)rrecordmsgrrremits z_CapturingHandler.emitN)__name__ __module__ __qualname____doc__r rrrrrrr s  rc@s,eZdZdZdZddZddZddZd S) _AssertLogsContextz6A context manager for assertLogs() and assertNoLogs() z"%(levelname)s:%(name)s:%(message)scCs@t||||_|rtj|||_ntj|_d|_||_ dSr) rr logger_namer Z _nameToLevelgetlevelINFOrno_logs)rZ test_caserrr rrrr !s  z_AssertLogsContext.__init__cCst|jtjr|j}|_n t|j}|_t|j}t}| |j | ||j |_ |j dd|_|j |_|j|_|g|_ | |j d|_|jrQdS|j S)NF) isinstancerr ZLoggerloggerZ getLoggerZ FormatterLOGGING_FORMATrsetLevelrZ setFormatterr handlers old_handlers old_level propagate old_propagater )rr"Z formatterZhandlerrrr __enter__+s"    z_AssertLogsContext.__enter__cCs|j|j_|j|j_|j|j|durdS|jr0t|j j dkr.| d |j j dSdSt|j j dkrI| d t|j|jjdSdS)NFrzUnexpected logs found: {!r}z-no logs of level {} or higher triggered on {})r&r"r%r)r(r$r'r lenr rZ _raiseFailurerrr Z getLevelNamername)rexc_type exc_valuetbrrr__exit__?s&   z_AssertLogsContext.__exit__N)rrrrr#r r*r0rrrrrs  r) r collectionscaser namedtuplerr rrrrrrs