g ddlZddlZddlmZejdddgZGddej ZGd d eZy) N)_BaseTestCaseContext_LoggingWatcherrecordsoutputc"eZdZdZdZdZdZy)_CapturingHandlerzM A logging handler capturing all (raw and formatted) logging output. cdtjj|tgg|_yN)loggingHandler__init__rwatcherselfs 4/opt/alt/python312/lib64/python3.12/unittest/_log.pyrz_CapturingHandler.__init__s"  &&r2. cyr rs rflushz_CapturingHandler.flushs rc|jjj||j|}|jjj|yr )rrappendformatr)rrecordmsgs remitz_CapturingHandler.emits@ ##F+kk&! ""3'rN)__name__ __module__ __qualname____doc__rrrrrrr r s/ (rr c&eZdZdZdZdZdZdZy)_AssertLogsContextz6A context manager for assertLogs() and assertNoLogs() z"%(levelname)s:%(name)s:%(message)sctj||||_|r&tjj |||_ntj|_d|_||_ yr ) rr logger_namer _nameToLevelgetlevelINFOrno_logs)r test_caser$r'r)s rrz_AssertLogsContext.__init__!sP%%dI6&  --11%?DJ DJ rc|t|jtjr|jx}|_n&tj |jx}|_tj |j}t}|j|j|j||j|_ |jdd|_|j|_|j |_|g|_ |j|jd|_|j$ry|jS)NF) isinstancer$r Loggerlogger getLogger FormatterLOGGING_FORMATr setLevelr' setFormatterrhandlers old_handlers old_level propagate old_propagater))rr. formatterhandlers r __enter__z_AssertLogsContext.__enter__+s d&& 7#'#3#3 3FT[#*#4#4T5E5E#F FFT[%%d&9&9: #%$Y' "OOA.#--") #  << rcr|j|j_|j|j_|jj |j |y|jrXt|jjdkDr5|jdj|jjyyt|jjdk(rS|jdjtj|j |jj"yy)NFrzUnexpected logs found: {!r}z-no logs of level {} or higher triggered on {})r5r.r4r8r7r2r6r)lenrr _raiseFailurerrr getLevelNamer'name)rexc_type exc_valuetbs r__exit__z_AssertLogsContext.__exit__?s#00  $ 2 2  T^^,   <<4<<''(1,""188 ++-4<<''(A-""CVG00N>NOQ.rN)rrrr r1rr;rDrrrr"r"s@9N(Qrr") r collectionscaser namedtuplerr r r"rrrrHsM&)+(():*3X)>@(($:Q-:Qr