l܂_߫vSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK r SSK r SSK r SSK r SSK r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJrJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJ r SS KJ!r! SS KJ"r" SS K#J$r$ SSK%r%SSK&r&SSK'r'SSK(r(SSK)r)SSK*r*SSK+r+SS K,J-r-J.r. SS K/J0r0 SSK1J2r2J3r3 SSK4J5r5J6r6J7r7J8r8 SSK9r9SSK:r:SSK;r;SSK=r=\)R|"\R~S5r@\)R|"\R"SS9S5rB"SS\)R5rD"SS\D5rE"SS\D5rFSrGSrHSrISrJSrKSrLS rMS!rNS"rOS#rP\Q"\P\GS$-5rR\GS%\HS&\IS'\JS(\KS)\LS*\MS+\NS,\OS-\PS.0 rS"S/S0\R5rU"S1S2\R5rV"S3S4\D5rWS5rX"S6S7\D5rY"S8S9\Z5r["S:S;\R5r]"S<S=\Z5r^"S>S?\D5r_"S@SA\"R5ra"SBSC\Z5rb"SDSE\b\-5rc"SFSG\b\75rd"SHSI\b\55re\f"\SJ5(a"SKSL\d5rg"SMSN\e5rh\R"5\R"5"SOSP\D555rk"SQSR\D5rl"SSST\R5rnSUro"SVSW\D5rp\R"5\R"5"SXSY\D555rq\)R"\f"\SJ5SZ5"S[S\\q55rs\R"5\R"5"S]S^\D555rt\)R"\f"\SJ5SZ5"S_S`\t55ru\R"5\R"5"SaSb\D555rv\)R"\f"\SJ5SZ5"ScSd\v55rw\)R"\RSe5"SfSg\v55ry\R"5\R"5"ShSi\D555rz"SjSk\D5r{"SlSm\D5r|"SnSo\D5r}SSpjr~"SqSr5rSsr"StSu\R5r"SvSw\GRGR5r"SxSy\GR 5r"SzS{5r"S|S}\5r"S~S\5r"SS5rSrSSjr"SS\D5r"SS\D5r"SS\D5r"SS\GR 5r"SS\D5r\R"5"SS\D55r\f"\GRS5(a.SSKrSS K/J0r0 \B\R"5"SS\D555r\GR,"S5r"SS\GR05r\"5r"SS5r"SS\)R\5r"SS\GR:5r"SS\)R5r"SS\D5r"SS\D5r"SS5r"SS\GRF5r"SS\D5r"SS\D5r"SS\D5r"SS\)R5r"SS\)R5r"SS\GRT5r"SS5r"SS\GRT5r"SS\D\5r"SS\D5r"SS\5r"SS\5r"SS\5rSrSSSSSS\"SSS944H8urrSH,r\\\4SjrS\-r\S$:a\S- r\\l\"\\\5 M. M: \)R"\9S5"SS\D55r"SS\)R5rSr\S:Xa\)GR|"5 gg!\<a S=r9=r:r;GNf=f!\<a GNf=f)N)assert_python_okassert_python_failure)support) import_helper) os_helper) socket_helper)threading_helper)warnings_helper)asyncore)smtpd) TestHandler) HTTPServerBaseHTTPRequestHandler)patch)urlparseparse_qs)ThreadingUDPServerDatagramRequestHandlerThreadingTCPServerStreamRequestHandlerz?libasan has a pthread_create() dead lock related to thread+forkT)threadz'TSAN doesn't support threads after forkc<\rSrSrSrSrSrSrSrS Sjr S r S r g) BaseTestYz&%(name)s -> %(levelname)s: %(message)sz^([\w.]+) -> (\w+): (\d+)$rc[R"5Ul[R"5R R n[R [RR5Ul [RSSUl UR5=Ul n[RR5Ul[R R5Ul0=UlnUHn['X$SS5X4'M SSS5 [R"S5Ul[R"S5Ul[R"S5UlUR,R/5Ul[2R4"5UlUR,R9[R:5 [R<"UR65Ul[R@"URB5Ul"UR>RGURD5 UR(RI5(a;UR(RJUR,RJ-n[MSU-5eUR*RI5(a;UR*RJUR,RJ-n[MSU-5eUR,ROUR>5 URQUR(RI55 URQUR*RI55 g!,(df  GN]=f)Ndisabledu«×»uĿÖGzUnexpected handlers: %s))r threading_setup_threading_keylogging getLoggermanager loggerDict_lock _handlerscopysaved_handlers _handlerListsaved_handler_list saved_loggers _nameToLevelsaved_name_to_level _levelToNamesaved_level_to_name logger_statesgetattrlogger1logger2 root_loggergetEffectiveLeveloriginal_logging_levelioStringIOstreamsetLevelDEBUG StreamHandler root_hdlr Formatter log_formatroot_formatter setFormatter hasHandlershandlersAssertionError addHandler assertTrue)self logger_dictr*r/namehlists 8/opt/alt/python313/lib64/python3.13/test/test_logging.pysetUpBaseTest.setUpasm/>>@'')11<< ]]")"3"3"8"8":D &-&:&:1&=D #1<1A1A1C CD '.';';'@'@'BD $'.';';'@'@'BD $13 3D %&-m.A.8$'@ #&((8 (()=> ",,R0&*&6&6&H&H&J#kkm  !!'--0 ..t{{;%//@ ##D$7$78 << # # % %LL))D,<,<,E,EEE !:U!BC C << # # % %LL))D,<,<,E,EEE !:U!BC C ##DNN3  0023  0023?]s B2H = !C KKM II@1D E cJU=RS- slSUR-$)Nz%d) message_numrFs rJ next_messageBaseTest.next_messages& Ad&&&&ro)rr1r2r/r5r?r<r3r)r'r.r*r,r8NN) __name__ __module__ __qualname____firstlineno__r>r[rrrKrVrmrt__static_attributes__rorJrrYs+:J4K%4NA>F$'rorc>\rSrSrSrSrSrSrSrSr Sr S r g ) BuiltinLevelsTestcURn[R"S5nUR[R5 [R "[R"S505nUR[R 5 [R"S5nUR[R5 UR[RU"55 URU"55 UR[RU"55 URU"55 URU"55 URU"55 UR[RU"55 URU"55 URU"55 URU"55 URU"55 URU"55 URU"55 URU"55 URU"55 UR/SQ5 g)NERRINFDEB) )rCRITICAL1)rERROR2)rr3)rr4)rWARNING5)rINFO6)rr7)rr8)rr9)rr10)rr:11)rtr r!r9r LoggerAdapterrr:logrerrorwarninginfodebugrm)rFmrrrs rJ test_flatBuiltinLevelsTest.test_flatsr   & W]]###G$5$5e$   & W\\"$$Y/'%%k2 ))/: !!'*  g&&,!#qs'**AC0AC  ac"13AC    rocHURn[R"S5n[R"S5n[R"S5nUR[R5 UR [R U"55 URU"55 UR [R U"55 URU"55 URU"55 URU"55 UR/SQ5 g)NrINF.BADPARENT.UNDEF INF.BADPARENT))rrr)rrr)rrr)rrr) rtr r!r9rrFATALrrrm)rFrr GRANDCHILDCHILDs rJtest_nested_with_virtual_parent1BuiltinLevelsTest.test_nested_with_virtual_parent,s   &&&'<= !!/2 W\\" w}}ac* '--% 13  AC   rocUR[R"S5[R5 UR[R"[R5S5 g)Nr)r^r getLevelNamerrss rJtest_regression_22386'BuiltinLevelsTest.test_regression_22386Fs@ --f5w||D --gll;VDrocp[R"S5nURU[R5 g)Nr)r rr^r)rFfatals rJtest_issue27935!BuiltinLevelsTest.test_issue27935Ks&$$W-  .roc[R"[RS5 UR[R[RS5 UR [R "[R5S5 UR [R "[R 5S5 UR [R "S5[R 5 g)NrrNOTSET)r addLevelNamer addCleanupr^rrrss rJtest_regression_29220'BuiltinLevelsTest.test_regression_29220OsW\\2. ,,gllFC --gll;R@ --gnn=xH --h7Hror|N) rwrxryrzrrrrrrrr{r|rorJr~r~s)- ^ .! F 4E /Iror~c&\rSrSrSrSrSrSrg)BasicFilterTestiWc[R"S5nURRSnUR U5 [R "S5n[R "S5n[R "S5n[R "S5nUR UR55 UR UR55 UR UR55 UR UR55 URSS/5 URU5 g!URU5 f=f)N spam.eggsrspamspam.eggs.fishspam.bakedbeansrrrrrr) r Filterr3rB addFilterr!rrtrm removeFilter)rFfilter_handlerr spam_eggsspam_eggs_fishspam_bakedbeanss rJ test_filterBasicFilterTest.test_filter[s ..-""++A. *   g &$$V,D))+6I$../?@N%//0ABO IId'') * NN4,,. /    1 1 3 4  !2!2!4 5  ! !*/#    )G  )s C8D;;Ec|SnURRSnURU5 [R"S5n[R"S5n[R"S5n[R"S5nUR UR 55 UR UR 55 UR UR 55 UR UR 55 URSS/5 URU5 g!URU5 f=f) NcjURRS5nSRUSS5nUS:H$)N.r)rHsplitjoin)recordpartsprefixs rJ filterfunc8BasicFilterTest.test_callable_filter..filterfuncws5KK%%c*EXXeBQi(F[( (rorrrrrrr) r3rBrr r!rrtrmr)rFrrrrrrs rJtest_callable_filter$BasicFilterTest.test_callable_filterss ) ""++A. -   j )$$V,D))+6I$../?@N%//0ABO IId'') * NN4,,. /    1 1 3 4  !2!2!4 5  ! !*/#    ,G  ,s C8D((D;c[R"5n[R"SS05nURUR U55 g)NrHr)r r makeLogRecordrEfilter)rFfrs rJtest_empty_filter!BasicFilterTest.test_empty_filters7 NN   ! !6;"7 8  $ror|N)rwrxryrzrrrr{r|rorJrrWs*0-:%rorxwvutsrqporqSilentTaciturnTerseEffusiveSociableVerbose Talkative Garrulous ChatterboxBoringc\rSrSrSrSrg)GarrulousFilteric(UR[:g$N)levelno GARRULOUSrFrs rJrGarrulousFilter.filters~~**ror|Nrwrxryrzrr{r|rorJrrs+rorc\rSrSrSrSrg)VerySpecificFilteric4UR[[4;$r)rSOCIABLETACITURNrs rJrVerySpecificFilter.filters~~h%999ror|Nrr|rorJrrs:rorcB\rSrSrSrSrSrSrSrSr Sr S r S r g ) CustomLevelsAndFiltersTesti^[\w.]+ -> (\w+): (\d+)$c[RU5 [R5Hup[R "X5 M gr)rrKmy_logging_levelsitemsr r)rFkvs rJrK CustomLevelsAndFiltersTest.setUps1t%++-DA   &.roc\[H"nURX R55 M$ gr) LEVEL_RANGErrt)rFloggerlvls rJlog_at_all_levels,CustomLevelsAndFiltersTest.log_at_all_levelss!C JJs--/ 0roczS[R4Sjn[R"S5n[R"S5n[R"5n[R"5n[R "U5n[R "U5nUR U5 URU5 URU5 URS5 UR5 UR5 URUR5S5 URUR5S5 g)Nrc@[R"U5nSUlU$)Nz new message!)r&msg)rs rJreplace_messageWCustomLevelsAndFiltersTest.test_handler_filter_replaces_record..replace_messagesYYv&F'FJMroparentz parent.childzoriginal messagezoriginal message z new message! ) r LogRecordr!r6r7r;rrDrflushr^r\)rFrrchildstream_1stream_2 handler_1 handler_2s rJ#test_handler_filter_replaces_record>CustomLevelsAndFiltersTest.test_handler_filter_replaces_records G$5$5 ""8,!!.1;;=;;=))(3 ))(3 O,)$ # %& **,.BC **,.>?rocl^[5m"U4SjS[R5n[R"S5nUR [R 5 UR U"55 UR U"55 URS5 URS[T55 g)Nc>>\rSrSrS\R 4U4SjjrSrg)WCustomLevelsAndFiltersTest.test_logging_filter_replaces_record..RecordingFilterircd>TR[U55 [R"U5$r)addidr&)rFrrecordss rJr^CustomLevelsAndFiltersTest.test_logging_filter_replaces_record..RecordingFilter.filters" BvJ'yy((ror|N)rwrxryrzr rrr{r.srJRecordingFilterr*s )W%6%6 ) )ror1rrr) setr rr!r9rrrr^r_)rFr1rr.s @rJ#test_logging_filter_replaces_record>CustomLevelsAndFiltersTest.test_logging_filter_replaces_records~% )gnn ) ""8, %*+*+ E CL)rocURR[5 URUR5 UR /SQ5 g)N)rrrrrrrrrrrr)r3r9VERBOSErrmrss rJtest_logger_filter-CustomLevelsAndFiltersTest.test_logger_filters= !!'* t//0   rocURRSR[5 UR UR5 UR /SQ5 URRSR[ R5 g!URRSR[ R5 f=f)Nr)r7r8r9r:r;)r3rBr9rrrmr rrss rJtest_handler_filter.CustomLevelsAndFiltersTest.test_handler_filters !!!$--h7 B  " "4#3#3 4  ! !#     % %a ( 1 1'.. AD   % %a ( 1 1'.. As .B8C cTURRSnSn[5nURU5 UR UR5 /SQnUR U5 [ 5nURRU5 UR UR5 UR U/SQ-5 U(aURRU5 URU5 g!U(aURRU5 URU5 f=f)Nr) )rr)rr)rrr6r7r8r9r:r;))rr)r12)r14)r15)r17)r18)r20)r3rBrrrrmrr)rFrspecific_filtergarr first_liness rJtest_specific_filters0CustomLevelsAndFiltersTest.test_specific_filters%s""++A. $! '  " "4#3#3 4 K  ! !+ .02O    & & 7  " "4#3#3 4  ! !+ 1 #   --o>   &  --o>   &s BC225D'r|N) rwrxryrzr[rKrr&r3r=r@rLr{r|rorJr r s/ 3' 1@8*"  B ('ror cb[R"U0UD6up#[R"U5 U$r)tempfilemkstemposrN)argskwargsfdfns rJmake_temp_filerVPs)   t .v .FBHHRL Irocn\rSrSrSrSrSr\R"\ RS:HS5\R"\ RS5\ R"5\ R"S5S 5555r\ R""5\ R"5\\S 5555rS rg ) HandlerTestiVc[R"5nSUlURURS5 SUlURURS5 UR [ UR S5 g)Ngenericanothergeneric)r HandlerrHr^ assertRaisesNotImplementedErroremitrFrUs rJ test_nameHandlerTest.test_nameWs\ OO  +! !12 -qvvtAHHQKIIbM$$RWW^^B%78HHQKOOBGGNN2$67$$QUUB/$$QUUB/ 8IIbM-*.||x',% $$228<  QZZ8 - -F!!*g.>.>.J.J"-vv?$$00ffM -    - -a 0  ! !" %  a()     - -a 0 q)*    sA0M00 M>=M>cH[5n[R"U5 [R"U5n[ R US44[ RRUS44[ RRUS444n[RS;a"U[ RRUS444- nUHaupEU"USS06nUR[RRU55 UR!5 [R"U5 Mc g)NwarUrdrjrh)rVrQrtrFakePathr FileHandlerrBRotatingFileHandlerTimedRotatingFileHandlerrrrsrurErzr{rN)rFrUpfncasesclsrRrUs rJtest_pathlike_objects!HandlerTest.test_pathlike_objectss   "   $((3*5%%99C:F%%>>c K <<9 9 w''::S#JGI IEICT,G,A OOBGGNN2. / GGI IIbM rontz/WatchedFileHandler not appropriate for Windows.z'Emscripten cannot fstat unlinked files.walltimec  ^U4SjnSnSnSTlSTlSGHMn[SS5n[R"XU4S9nSUlUR 5 [RRUSUS 9n[R"S 5nURU5 [U5H]n [R"S 5 [R"S S 05n [R"5TlUR!U 5 M_ UR'5 UR)5 [*R,R/U5(a[*R0"U5 GMMGMP g!["a) [%STR<STR<35 ef=f!UR'5 UR)5 [*R,R/U5(a[*R0"U5 ff=f)Nc>[U5Hbn[R"U5 [R"5Tl[R "S[R"SS5-5 Md g![ a N?f=f)NgMbp?r) rangerQrttime deletion_timersleeprandomrandint)fnametries_rFs rJ remove_loop*HandlerTest.test_race..remove_loopsb5\IIe$)-D& 56>>!Q#778 "s0A44 BBFT.logztest_logging-3-targetrRTrhriz'%(asctime)s: %(levelname)s: %(message)s{Gzt?rtestingz Deleted at z , opened at ) handle_timerrV threadingThreaddaemonstartr rBrur=r@rrrrrx ExceptionprintrrNrQrzr{rt) rFr del_count log_countrkrUremoverrUrrrs ` rJ test_raceHandlerTest.test_races 9  !"E(9:B&&kYPG!GN MMO  33BPU3VA!!"KLA NN1  "y)AJJu%--ui.ABA+/99;( *  77>>"%%IIbM&/#%040B0B040@0@BC    77>>"%%IIbM&s% ._OurHandlericf>[TU]5 [R"[ SSSS9S9Ulg)Nz /dev/nullwtrhrjr8)super__init__r r;open sub_handlerrF __class__s rJrJHandlerTest.test_post_fork_child_no_deadlock.._OurHandler.__init__s. "#*#8#8 TGD$F rocURR URRU5 SSS5 g!,(df  g=fr)rlockr_rs rJr_FHandlerTest.test_post_fork_child_no_deadlock.._OurHandler.emits1%%**$$))&1+**s < A )rrwrxryrzrr_r{ __classcell__rs@rJ _OurHandlerrs F  2 2rorrz*because we need at least one for this testrq test_post_fork_child_no_deadlockc>[R TR TR5 TR S5 SSS5 SSS5 g!,(df  N=f!,(df  g=f)N?)r r$rr2wait)+fork_happened__release_locks_and_end_threadlocks_held__ready_to_forkrefed_hsrJlock_holder_thread_fnKHandlerTest.test_post_fork_child_no_deadlock..lock_holder_thread_fns? )--/<@@E!- s" A#"AA# A A## A1z,test_post_fork_child_no_deadlock lock holder)rrHz#Child process did not deadlock. \o/z&Parent process returned from fork. \o/)exitcode)r r\r^r_r%rrr8rNrH assertGreater_at_fork_reinit_lock_weaksetr!rDr9r:rEventrrrrQforkr_exitr2rr wait_process) rFr test_loggerrlock_holder_threadpidrrrs @@@rJr,HandlerTest.test_post_fork_child_no_deadlocks  2'// 2 W../3- ++22889C  3w00115 3wCCDaH''(JK w'W]]+$-OO$5!6?oo6G3 F$'--,CE   "!&&(ggi !8   !GH    F G 7 ; ; =  # # %  q 1 s H H%)rrN)rwrxryrzrarrunittestskipIfrQrHr is_emscriptenr requires_working_threadingrequires_resourcer requires_forkskip_if_asan_forkskip_if_tsan_forkrr{r|rorJrXrXVs=3j,__RWW_&WX __H002 z*)"+3Y )"^ 002>23>2rorXc\rSrSrSrSrg) BadStreami$c[S5e)Ndeliberate mistake) RuntimeError)rFdatas rJwriteBadStream.write%s/00ror|N)rwrxryrzrr{r|rorJrr$s1rorc\rSrSrSrSrg)TestStreamHandleri(cXlgr error_recordrs rJ handleErrorTestStreamHandler.handleError)s"rorN)rwrxryrzrr{r|rorJrr(s#rorc0\rSrSr\R rSrSrg)StreamWithIntNamei,rr|N) rwrxryrzr rlevelrHr{r|rorJrr,s NNE Drorc&\rSrSrSrSrSrSrg)StreamHandlerTesti0c[[55n[R"05n[RnUR U5 UR URU5 [R"[55n[R"5nUR U5 SnURXTR55 SSS5 S[l[R"5nUR U5 URSUR55 SSS5 U[lg!,(df  Nt=f!,(df  N+=f!U[lf=f)Nz" RuntimeError: deliberate mistake Fr)rrr rraiseExceptionsrxassertIsrr;rcaptured_stderrassertInr\r^)rFrUr old_raisestderrrs rJtest_error_handling%StreamHandlerTest.test_error_handling1s ik *  ! !" %++  0 HHQK MM!..! ,%%ik2A((*f < c??#45+ ',G #((*f   V__%67+'0G #+* +*'0G #s<A E3D<(E62E (E< E E EE E+cB[R"5n[R"5nUR U5nUR U[ R5 UR U5nUR XB5 UR U5nURU5 gr) r r;r6r7 setStreamrrrr assertIsNone)rFrUr8oldris rJtest_stream_setting%StreamHandlerTest.test_stream_settingGss  ! ! #kk&! c3::&S! f%S! &!rocv[R"[55nUR[ U5S5 g)Nz)r r;rr^reprr`s rJ'test_can_represent_stream_with_int_name9StreamHandlerTest.test_can_represent_stream_with_int_nameUs+  ! !"3"5 6 a">?ror|N)rwrxryrzrr rr{r|rorJrr0s0, "@rorc2\rSrSrSrSrSrSrSrSr g) TestSMTPServeri\c[RRXSUSS9 URR 5SUlX lSUlSUlX0l g)NT)map decode_datarqF) r SMTPServerrsocket getsocknameport_handler_thread_quit poll_interval)rFaddrrrsockmaps rJrTestSMTPServer.__init__qsV !!$d.2 " 4KK++-a0    *roc(URXX45 gr)r)rFpeermailfromrcpttosrs rJprocess_messageTestSMTPServer.process_messagezs dg4roc[R"URUR4S9=UlnSUlUR 5 gNrTrr serve_foreverrrrrrFts rJrTestSMTPServer.startC%++43E3E262D2D1FH H q  rocUR(d3[R"XRSS9 UR(dM2gg)Nrq)rcount)rr loop_map)rFrs rJr*TestSMTPServer.serve_forevers(** MM-YYa @***rocSUl[R"UR5 SUlUR 5 [ R "URSS9 g)NT)r ignore_all)rr join_threadrrNr close_allr2rss rJstopTestSMTPServer.stopsA  $$T\\2  tyyT:ro)rrrrrN) rwrxryrzrr%rr*r8r{r|rorJrr\s*+ 5 A ;rorc:^\rSrSrSrSrU4SjrSrSrU=r $) ControlMixinic^SUlX lXl[R"5Ulgr)rrrrrready)rFrrs rJrControlMixin.__init__s" * __& roc[R"URUR4S9=UlnSUlUR 5 gr(r)r+s rJrControlMixin.startr.roc`>URR5 [[U]U5 gr)r=r2rr;r*)rFrrs rJr*ControlMixin.serve_forevers"  lD/ >rocUR5 URb'[R"UR5 SUlUR 5 UR R 5 gr)shutdownrr r6 server_closer=rPrss rJr8ControlMixin.stopsL  << #  ( ( 6DL  ro)rrrr=) rwrxryrzrrr*r8r{rrs@rJr;r;s ' ?  ror;c(\rSrSrSSjrSrSrg)TestHTTPServeriNc^^"UU4SjS[5m[R"XT5 [RXU5 XPlg)Nc>>^\rSrSrSSjrSrUUU4SjrSrU=r$)=TestHTTPServer.__init__..DelegatingHTTPRequestHandleric\URS5(a UR$[U5e)Ndo_) startswithprocess_requestAttributeError)rFrHdefaults rJ __getattr__ITestHTTPServer.__init__..DelegatingHTTPRequestHandler.__getattr__s(??5))///$T**roc:URRU5 grserverrrss rJrOMTestHTTPServer.__init__..DelegatingHTTPRequestHandler.process_request $$T*roc:>T(a[TU]"U/UQ76 ggr)r log_message)rFformatrRDelegatingHTTPRequestHandlerrrs rJrZITestHTTPServer.__init__..DelegatingHTTPRequestHandler.log_messages16, +,,2;59;ror|r) rwrxryrzrRrOrZr{r)rr\rs@rJr\rKs +  + ; ;ror\)rrrr;sslctx)rFrrrrr^r\s ` @rJrTestHTTPServer.__init__s= ; ;+A ; D(DEd]; rocURR5upUR(aURRUSS9nX4$![a(n[ R RSU-5 eSnAff=f)NT) server_sidezGot an error: %s )racceptr^ wrap_socketrrrrr)rFsockres rJ get_requestTestHTTPServer.get_requestsr ++-JD{{{{..t.F z   JJ  2Q6 7  sAA A>#A99A>r^)rFN)rwrxryrzrrfr{r|rorJrHrHs58#'& rorHc:^\rSrSrSrSSjrU4SjrSrU=r$) TestTCPServeriTc~"SS[5n[R"XUU5 [RXU5 g)Nc\rSrSrSrSrg);TestTCPServer.__init__..DelegatingTCPRequestHandleric:URRU5 grrUrss rJrxBTestTCPServer.__init__..DelegatingTCPRequestHandler.handlerXror|N)rwrxryrzrxr{r|rorJDelegatingTCPRequestHandlerrms +rorp)rrrr;)rFrrrbind_and_activaterps rJrTestTCPServer.__init__s7 +*> + ##D0K$5 7d];rocn>[[U] 5 URR 5SUlgNrq)rrj server_bindrrrrs rJruTestTCPServer.server_bind) mT.0KK++-a0 ro)rrT) rwrxryrzallow_reuse_addressrrur{rrs@rJrjrjs 47#'<11rorjcB^\rSrSrSSjrU4SjrU4SjrSrU=r$) TestUDPServeri c^"U4SjS[5m[R"XTU5 [RXU5 SUlg)Nc2>^\rSrSrSrUU4SjrSrU=r$);TestUDPServer.__init__..DelegatingUDPRequestHandleri3c:URRU5 grrUrss rJrxBTestUDPServer.__init__..DelegatingUDPRequestHandler.handle5rXroc>URR5nU(a[TU]5 gg![a UR R (degf=fr)wfiler\rfinishrrV_closed)rFrDelegatingUDPRequestHandlerrs rJrBTestUDPServer.__init__..DelegatingUDPRequestHandler.finish8sVzz**,"94GI#"#{{22! 3"s4&AAr|)rwrxryrzrxrr{r)rrs@rJrr~3s + " "rorF)rrrr;r)rFrrrrqrs @rJrTestUDPServer.__init__1sA "*@ " ##D$?$5 7 d]; rocn>[[U] 5 URR 5SUlgrt)rr{rurrrrs rJruTestUDPServer.server_bindGrwroc8>[[U] 5 SUlg)NT)rr{rErrs rJrETestUDPServer.server_closeKs mT/1 ro)rrrx) rwrxryrzrrurEr{rrs@rJr{r{ s"58#',1ror{AF_UNIXc,\rSrSr\R rSrg)TestUnixStreamServeriPr|Nrwrxryrzrraddress_familyr{r|rorJrrP rorc,\rSrSr\R rSrg)TestUnixDatagramServeriSr|Nrr|rorJrrSrrorc8\rSrSr\R rSrSrSr g)SMTPHandlerTestiXc0n[[RS4URSU5nUR 5 [RUR 4n[ RRUSSSURS9nURURS/5 /Ul [ R"SS05n[R"5UlUR#U5 UR R%UR5 UR'5 UR)UR R+55 UR[-UR5S 5 URSupgpURUS5 URUS/5 UR/S U 5 UR)U R1S 55 UR35 g) NrMbP?meyouLogtimeoutru Hello ✓rqz Subject: Log u Hello ✓)rrHOSTr%rrr rB SMTPHandlerTIMEOUTr^toaddrsmessagesrrrhandledrxrr8rEis_setr_rendswithrN) rFrrVrrUrr"r#r$rs rJ test_basicSMTPHandlerTest.test_basic^sq!3!3Q 79M9Mu ') ""FKK0    ( (tUE15 ) ? UG,  ! !5."9 : (    $,,'   ++-. T]]+Q/(, a(8% 4( 5'* ($/  &89:  rocnURRU5 URR5 gr)rappendrr2)rFrRs rJr%SMTPHandlerTest.process_messagevs$ T" ro)rrN) rwrxryrzr LONG_TIMEOUTrrr%r{r|rorJrrXs""G0rorcd\rSrSrSrSrSrSrSrSr \ R"5S5r S r g ) MemoryHandlerTestizr cL[RU5 [RR S[R UR 5Ul[R"S5Ul SURl URRUR5 g)N memr) rrKr rB MemoryHandlerrr<mem_hdlrr! mem_logger propagaterDrss rJrKMemoryHandlerTest.setUpsjt((66r7??7;~~G !++E2$%! ""4==1rocbURR5 [RU5 gr)rrNrrVrss rJrVMemoryHandlerTest.tearDown  $roc ^URRUR55 UR/5 URR UR55 UR/5 URR UR55 /SQnURU5 SHn[ S5H,nURRUR55 M. URU5 URRUR55 U[ X"S-5Vs/sHnS[U54PM sn-nURU5 M URRUR55 URU5 gs snf)N)r:rrr)rr)r rr:)rrrtrmrrrstr)rFlinesnis rJ test_flushMemoryHandlerTest.test_flushsR d//12 b! T..01 b!  1 1 34  e$A1X%%d&7&7&9:  ! !% ( OO ! !$"3"3"5 6aR8HI8H1gs1v.8HIIE  ! !% ( d//12 e$ Js>F*cURRUR55 UR/5 URR UR55 UR/5 URR UR 5 UR R5 SS/nURU5 [RRS[RURS5UlURRUR 5 URRUR55 URU5 URR UR55 URU5 URR UR 5 UR R5 URU5 g)NrrrF)rrrtrmrrOrrNr rBrrr<rDrFrs rJtest_flush_on_close%MemoryHandlerTest.test_flush_on_closesa d//12 b! T..01 b! %%dmm4     e$((66r7??7;~~7<>  ""4==1 d//12 e$ T..01 e$ %%dmm4  e$rocURRUR55 UR/5 URR UR55 UR/5 [ R "[ RRUR5/S9 SS/nURU5 [ RRS[ RURS5Ul URRUR5 URRUR55 URU5 URR UR55 URU5 [ R "[ RRUR5/S9 URU5 g)N handlerListrrrF)rrrtrmrr rDweakrefrefrrBrrr<rDrs rJtest_shutdown_flush_on_close.MemoryHandlerTest.test_shutdown_flush_on_closes] d//12 b! T..01 b!goo&9&9$--&H%IJ    e$((66r7??7;~~7<>  ""4==1 d//12 e$ T..01 e$goo&9&9$--&H%IJ e$roc"SS5nU"UR5nURRU5 [S5HOn[R"S5 UR R S5 UR RS5 MQ URHn[R"U5 M g!URHn[R"U5 M f=f)Nc&\rSrSrSrSrSrSrg)ZMemoryHandlerTest.test_race_between_set_target_and_flush..MockRaceConditionHandlericXl/Ulgrrthreads)rFrs rJrcMemoryHandlerTest.test_race_between_set_target_and_flush..MockRaceConditionHandler.__init__s ( ! roc:URRS5 gr)r setTargetrss rJ removeTargetgMemoryHandlerTest.test_race_between_set_target_and_flush..MockRaceConditionHandler.removeTargets ''-roc[R"URS9nURR U5 UR 5 g)N)r)rrrrrr)rFrrs rJrxaMemoryHandlerTest.test_race_between_set_target_and_flush..MockRaceConditionHandler.handles3"))1B1BC ##F+ rorN)rwrxryrzrrrxr{r|rorJMockRaceConditionHandlerrs " . rorrrz not flushedflushed) rrrrrrrrrr r6)rFrrrrs rJ&test_race_between_set_target_and_flush8MemoryHandlerTest.test_race_between_set_target_and_flushs  *$--8 5 MM # #F +2Y 5!$$]3'' 2 !.. ,,V4)&.. ,,V4)s A9C+C,)rrN)rwrxryrzr[rKrVrrrr rrr{r|rorJrrzs@ 32 %8%<%:002535rorc\rSrSrSrSrg)ExceptionFormatteric&SUSR-$)Nz Got a [%s]r)rw)rFeis rJformatException"ExceptionFormatter.formatExceptionsbenn,,ror|N)rwrxryrzrr{r|rorJrrs-rorcPUR5 [R"U5 grrNrQremove)rUrUs rJcloseFileHandlerrsGGIIIbMroc>\rSrSr\R rSrSrSrSr \RSS5r \RSS 5r S \-S -r \RS S 5rSrSrSrSrSrSrSrSr\4SjrSrSrSrSrSrSrSrSrSr S r!S!r"S"r#S#r$S$r%S%r&g&)'ConfigFileTesti ^(\w+) \+\+ (\w+)$aN [loggers] keys=root [handlers] keys=hand1 [formatters] keys=form1 [logger_root] level=WARNING handlers=hand1 [handler_hand1] class=StreamHandler level=NOTSET formatter=form1 args=(sys.stdout,) [formatter_form1] format=%(levelname)s ++ %(message)s datefmt= a [loggers] keys=root,parser [handlers] keys=hand1 [formatters] keys=form1 [logger_root] level=WARNING handlers= [logger_parser] level=DEBUG handlers=hand1 propagate=1 qualname=compiler.parser [handler_hand1] class=StreamHandler level=NOTSET formatter=form1 args=(sys.stdout,) [formatter_form1] format=%(levelname)s ++ %(message)s datefmt= a [loggers] keys=root,parser [handlers] keys=hand1 [formatters] keys=form1 [logger_root] level=WARNING handlers=hand1 [logger_parser] level=DEBUG handlers= propagate=1 qualname=compiler.parser [handler_hand1] class=StreamHandler level=NOTSET formatter=form1 args=(sys.stdout,) [formatter_form1] format=%(levelname)s ++ %(message)s datefmt= z sys.stdoutz sys.stboutzformatter=form1zformatter=misspelled_namea [loggers] keys=root [handlers] keys=hand1 [formatters] keys=form1 [logger_root] level=NOTSET handlers=hand1 [handler_hand1] class=StreamHandler level=NOTSET formatter=form1 args=(sys.stdout,) [formatter_form1] class=zS.ExceptionFormatter format=%(levelname)s:%(name)s:%(message)s datefmt= zclass=StreamHandlerzclass=logging.StreamHandlerag [loggers] keys=root,parser [handlers] keys=hand1, hand2 [formatters] keys=form1, form2 [logger_root] level=WARNING handlers= [logger_parser] level=DEBUG handlers=hand1 propagate=1 qualname=compiler.parser [handler_hand1] class=StreamHandler level=NOTSET formatter=form1 args=(sys.stdout,) [handler_hand2] class=StreamHandler level=NOTSET formatter=form1 args=(sys.stderr,) [formatter_form1] format=%(levelname)s ++ %(message)s datefmt= [formatter_form2] format=%(message)s datefmt= a% [loggers] keys=root,parser,compiler [handlers] keys=hand1 [formatters] keys=form1 [logger_root] level=WARNING handlers=hand1 [logger_compiler] level=DEBUG handlers= propagate=1 qualname=compiler [logger_parser] level=DEBUG handlers= propagate=1 qualname=compiler.parser [handler_hand1] class=StreamHandler level=NOTSET formatter=form1 kwargs={'stream': sys.stdout,} [formatter_form1] format=%(levelname)s ++ %(message)s datefmt= a [loggers] keys=root [handlers] keys=file [formatters] keys= [logger_root] level=DEBUG handlers=file [handler_file] class=FileHandler level=DEBUG args=("{tempfile}",) kwargs={{"encoding": "utf-8"}} ap [loggers] keys=root [handlers] keys=hand1 [formatters] keys=form1 [logger_root] level=WARNING handlers=hand1 [handler_hand1] class=StreamHandler level=NOTSET formatter=form1 args=(sys.stdout,) [formatter_form1] format=%(message)s ++ %(customfield)s defaults={"customfield": "defaultvalue"} z [loggers] keys=root [handlers] keys=screen [formatters] keys= [logger_root] level=DEBUG handlers=screen [handler_screen] level=DEBUG class=StreamHandler args=(sys.stdout,) formatter= c [R"[R"U55n[R R "U4SS0UD6 g)Nrjrh)r6r7textwrapdedentr config fileConfig)rFconfrSfiles rJ apply_configConfigFileTest.apply_config#s5{{8??401!!$CCFCroc[R"5nURUR5 [R "5nUR UR55 URUR55 URS/US9 UR/5 SSS5 g!,(df  g=fNrrr) rcaptured_stdoutrconfig0r r!rrtrrmrFoutputrs rJtest_config0_okConfigFileTest.test_config0_ok's  $ $ &&   dll +&&(F KK))+ , LL**, -  ! !# "   ! !" %' & &s BB00 B>c>[R"5n[R"[R "UR 55n[R"5nURU5 [RRU5 [R"5nURUR55 UR!UR55 UR#S/US9 UR#/5 SSS5 g!,(df  g=fr)rrr6r7rrr configparser ConfigParser read_filer rrr!rrtrrm)rFrrcprs rJtest_config0_using_cp_ok'ConfigFileTest.test_config0_using_cp_ok6s  $ $ &&;;xt||<=D**,B LL  NN % %b )&&(F KK))+ , LL**, -  ! !# "   ! !" %' & &s C/D Dcr[R"5nURU5 [R"S5nUR UR 55 URUR 55 URSS/US9 UR/5 SSS5 g!,(df  g=fNcompiler.parserrrrr rrrr r!rrtrrmrFrrrs rJtest_config1_okConfigFileTest.test_config1_okH  $ $ &&   f %&&'89F KK))+ , LL**, -  ! !# "   ! !" %' & & B B(( B6cZUR[URUR5 grr]rrconfig2rss rJtest_config2_failure#ConfigFileTest.test_config2_failureW )T%6%6 ErocZUR[URUR5 grr]rrconfig3rss rJtest_config3_failure#ConfigFileTest.test_config3_failure[rroc[R"5nURUR5 [R "5n[ 5e![ a [R"S5 Of=f[RRS5 URUR5S5 UR/5 SSS5 g!,(df  g=fN just testingr-ERROR:root:just testing Got a [RuntimeError] )rrrconfig4r r!r exceptionrrstdoutseekr^r\rmrs rJtest_config4_okConfigFileTest.test_config4_ok_s  $ $ &&   dll +&&(F 2"n$ 2!!.1 2 JJOOA    V__.A C  ! !" %' & &s*1C A A52C4A55AC Cc6URURS9 gNr)r config5rss rJtest_config5_okConfigFileTest.test_config5_okn DLL1roc6URURS9 gr%)r config6rss rJtest_config6_okConfigFileTest.test_config6_okqr*roc[R"5nURUR5 [R "S5n[R "S5nUR UR55 URUR55 URUR55 UR/SQUS9 UR/5 SSS5 [R"5nURUR5 [R "S5nURUR5 UR UR55 URUR55 [R "S5nUR UR55 URUR55 WRUR55 UR/SQUS9 UR/5 SSS5 g!,(df  GNN=f!,(df  g=f)Nrcompiler-hyphenatedrr)rrrcompiler.lexer)rr)rr)rr)rr)rrrconfig1ar r!rrtrcriticalrmconfig7ryrrFrr hyphenateds rJtest_config7_okConfigFileTest.test_config7_okts  $ $ &&   dmm ,&&'89F !**+@AJ KK))+ , LL**, -    1 1 3 4  ! !# "   ! !" %''( $ $ &&   dll +&&'89F   V__ - KK))+ , LL**, -&&'78F KK))+ , LL**, -    1 1 3 4  ! !#  "   ! !" %)' &)' &(' &sCH%;D!H7% H47 IcUR5 [SS5n[RS:XaUR SS5nUR R US9nURU5 URU5 SSS5 [RRSnUR[UW5 g!,(df  NC=f)Nrtest_logging-X-r\z\\)rOr) check_no_resource_warningrVrQrHreplaceconfig8r[rr rootrBrr)rFrUr@rs rJtest_config8_okConfigFileTest.test_config8_oks  + + -(9:Bww$ZZf-ll))2)6G   g &   g &.,,''* ('26. -s A.B<< C cnURUR5 [RRSR nUR [R"SS055nURUS5 UR [R"SSS.55nURUS5 g)Nrrtestztest ++ defaultvalue customvaluer customfieldztest ++ customvalue) rconfig9r rArB formatterr[rr^)rFrJresults rJtest_config9_okConfigFileTest.test_config9_oks $,,'LL))!,66 !!'"7"7"HI !78!!'"7"7= 9#;< !67rocrURUR5 [R"S5nUR UR 5 URUR5 UR UR 5 URURSS9 UR UR 5 g)Nsome_pristine_loggerF)disable_existing_loggers)r disable_testr r!ryrrErFrs rJtest_logger_disabling$ConfigFileTest.test_logger_disablings $++,""#9: ) $++, ( $++eL )rocSnURU5 UR[R"5RSR S5 g)Naw [loggers] keys=root [handlers] keys=hand1 [formatters] keys=form1 [logger_root] handlers=hand1 [handler_hand1] class=StreamHandler formatter=form1 [formatter_form1] format=%(levelname)s ++ %(message)s rhand1)rr^r r!rBrH)rF test_configs rJtest_config_set_handler_names,ConfigFileTest.test_config_set_handler_namessC ( +& **,55a8==wGrocSn[R"[R"U55nUR [ [ RRU5 g)Na [loggers] keys=root [handlers] keys=hand1 [formatters] keys=form1 [logger_root] handlers=hand1 [handler_hand1] class=StreamHandler formatter=form1 [formatter_form1] format=%(levelname)s ++ %(message)s prince ) r6r7rrr]rr rr)rFrWrs rJ'test_exception_if_confg_file_is_invalid6ConfigFileTest.test_exception_if_confg_file_is_invalids> .{{8??;78 ,(A(A4Hroc[R"SSS9up[R"U5 UR [ [ RRU5 [R"U5 g)N test_empty_.inirsuffix) rOrPrQrNr]rr rrr)rFrTrUs rJ%test_exception_if_confg_file_is_empty4ConfigFileTest.test_exception_if_confg_file_is_emptysH!!vF   ,(A(A2F " rocbUR[[RRS5 g)N filenotfound)r]FileNotFoundErrorr rrrss rJ,test_exception_if_config_file_does_not_exist;ConfigFileTest.test_exception_if_config_file_does_not_exists +W^^-F-FWroc [R"S5R5n[R"SSS9up#[ R "X!RS55 [ R"U5 [RRUS[SSS S S S S .0S9S9 [ R"U5 g![ R"U5 f=f)Nat [formatters] keys=default [formatter_default] [handlers] keys=console [handler_console] class=logging.StreamHandler args=tuple() [loggers] keys=root [logger_root] formatter=default handlers=console test_logging_r_r`asciirhrqFrZz5%(asctime)s [%(process)d] [%(levelname)s] %(message)sz[%Y-%m-%d %H:%M:%S %z]zlogging.Formatter)r[datefmtclass)versionrP formatters)rjdefaults)rrstriprOrPrQrencoderNr rrdictrt)rFinirTrUs rJ!test_defaults_do_no_interpolation0ConfigFileTest.test_defaults_do_no_interpolationsoo&' (!!H  HHRG, - HHRL NN % % -2!&]'?%8$   &  IIbMBIIbMs A)B==Cr|N)'rwrxryrzr r>r[rconfig1r4r?rrrr'r,r6r@rIrQrrrr rrr"r(r-r9rBrLrSrXr[rbrgrur{r|rorJrr s !0 I I,G4G@H@oolL9Goo/1LMG*+*+G6oo35RSG'GT#GLG,G2L*D &&$&- &FF &22)&V7$8*H0I6 X*rorc:\rSrSr\rSrSrSrSr Sr Sr Sr g ) SocketHandlerTesti-rqrc [RU5 S=Ul=UlUlUR UR URS5=UlnUR5 URR5 [RRn[UR ["5(aU"SUR$5UlOU"UR S5UlSUlUR(R+UR(RS5 UR(R-UR5 [.R0"S5Ulg![anX lSnAgSnAff=fN{Gz?rqrr)rrKrV sock_hdlrserver_exception server_classaddress handle_socketrrr=rr rB SocketHandler isinstanceserver_addressrcr log_outputr3rOrDr SemaphorerrFrVrehclss rJrKSocketHandlerTest.setUp6s- t?CC Cdnt'< #'#4#4T\\595G5G$O ODK& LLN  -- f++U 3 3!+v{{;DN!&"7"7>DN &&t'7'7'@'@'CD ##DNN3 **1-  $% !  s>E(( F2E==FcZUR(a?URRUR5 URR5 UR(aURR 5 [ RU5 g![ RU5 f=fr)r~r3rOrNrVr8rrVrss rJrVSocketHandlerTest.tearDownPsj $~~  ..t~~>$$&{{   "   d #H  d # A;BB*cURnURS5n[U5S:ag[R"SU5SnURU5n[U5U:a0X2RU[U5- 5-n[U5U:aM0[ R "U5n[R"U5nU=RURS-- sl URR5 M)Nr>Lr ) connectionrecvr_structunpackpickleloadsr rrrrrelease)rFrequestconnchunkslenobjrs rJrSocketHandlerTest.handle_socket[s!!IIaLE5zA~==u-a0DIIdOEe*t# $U*; <<e*t#,,u%C**3/F OOvzzD0 0O LL "roclUR(aURUR5 [R"S5nUR S5 UR R 5 URS5 UR R 5 URURS5 g)Ntcpreggs spam eggs ) rskipTestr r!rracquirerr^rrRs rJ test_outputSocketHandlerTest.test_outputjsy  MM$// 0""5) V  V  .9rocbUR(aURUR5 SURlURR 5 [ S5e![ a URRS5 Of=fURRS5 [R"5nURURRU5 [R"URRU- S-5 URRS5 g)Ng@zDeliberate mistakez Never sentzNever sent, eitherrzNor this)rrr~ retryStartrVr8rr3rrrr retryTimer)rFnows rJ test_noserverSocketHandlerTest.test_noserverus  MM$// 0%(!  534 4 5    & &| 4 5 34iik 4>>33S9 4>>++c1E9: z*s A$$%B  B rrrVrr~N) rwrxryrzrjrrrKrVrrrr{r|rorJryry-s' !LG.4 $ # :+roryzUnix sockets requiredc:\rSrSr\"\S5(a\rSrSr g)UnixSocketHandlerTestirc[R"5UlUR[R UR5 [ RU5 gr)rcreate_unix_domain_namerrrrtryrKrss rJrKUnixSocketHandlerTest.setUp8$<<>   (($,,7%rorN) rwrxryrzhasattrrrrrKr{r|rorJrrs vy!!+ &rorc4\rSrSr\rSrSrSrSr Sr Sr g) DatagramHandlerTestirzc[RU5 S=Ul=UlUlUR UR URS5=UlnUR5 URR5 [RRn[UR ["5(aU"SUR$5UlOU"UR S5UlSUlUR(R+UR(RS5 UR(R-UR5 [.R0"5Ulg![anX lSnAgSnAff=fr|)rrKrVr~rrrhandle_datagramrrr=rr rBDatagramHandlerrrrcrrr3rOrDrrrrs rJrKDatagramHandlerTest.setUps) t?CC Cdnt'< #'#4#4T\\595I5I4$Q QDK& LLN  // f++U 3 3!+v{{;DN!&"7"7>DN &&t'7'7'@'@'CD ##DNN3 (  $% !  s>E'' F1E<<FcZUR(aURR5 UR(a?URR UR5 URR 5 [ RU5 g![ RU5 f=fr)rVr8r~r3rOrNrrVrss rJrVDatagramHandlerTest.tearDownsj ${{   "~~  ..t~~>$$&   d #H  d #rc2[R"SS5nUR[U5Sn[R "U5n[ R"U5nU=RURS-- slURR5 g)Nrrr) rpackpacketr_rrr rrrrr2)rFrrrrrs rJr#DatagramHandlerTest.handle_datagramsk{{4#D +ll6"&&s+ 6::,, rocUR(aURUR5 [R"S5nUR S5 UR R 5 UR R5 UR S5 UR R 5 URURS5 g)Nudprrr) rrr r!rrrrPr^rrRs rJrDatagramHandlerTest.test_outputs  MM$// 0""5) V   V  .9rorN) rwrxryrzr{rrrKrVrrr{r|rorJrrs" !LG)4 $ :rorc:\rSrSr\"\S5(a\rSrSr g)UnixDatagramHandlerTestirc[R"5UlUR[R UR5 [ RU5 gr)rrrrrrtrrKrss rJrKUnixDatagramHandlerTest.setUps8$<<>   (($,,7!!$'rorN rwrxryrzrrrrrKr{r|rorJrrs vy!!- (rorc:\rSrSr\rSrSrSrSr Sr Sr Sr g ) SysLogHandlerTestirzc"[RU5 S=Ul=UlUlUR UR URS5=UlnUR5 URR5 [RRn[UR ["5(a'U"UR SUR$45UlOU"UR 5UlSUlUR(R+UR(RS5 UR(R-UR5 [.R0"5Ulg![anX lSnAgSnAff=f)Nr}rro)rrKrVsl_hdlrrrrrrrr=rr rBr|rrrcrrr3rOrDrrrrs rJrKSysLogHandlerTest.setUps5 t=AA AdlT%: #'#4#4T\\595I5I4$Q QDK& LLN  -- f++U 3 3!6!6q!96;; GHDL 5 56DL &&t'7'7'@'@'CD ##DLL1 (  $% !  s>E44 F>F  FcZUR(aURR5 UR(a?URR UR5 URR 5 [ RU5 g![ RU5 f=fr)rVr8rr3rOrNrrVrss rJrVSysLogHandlerTest.tearDown sj ${{   "||  ..t||< ""$   d #H  d #rcZURUlURR5 gr)rrrr2)rFrs rJr!SysLogHandlerTest.handle_datagrams!.. roc8UR(aURUR5 [R"S5nUR S5 UR R [R5 URURS5 UR R5 SURl UR S5 UR R [R5 URURS5 UR R5 SURlUR S5 UR R [R5 URURS5 g)Nslhspäm <11>spämFs <11>spämuhäm-s<11>häm-späm)rrr r!rrrrrr^rrPr append_nulidentrRs rJrSysLogHandlerTest.test_outputs  MM$// 0""5) Y '../ *@A "'  Y '../ *<= &  Y '../ *GHrocD[R"S5nURR5 URR 5 UR S5 URR[R5 URURS5 g)Nrrr) r r!rrNrrPrrrrr^rrRs rJtest_udp_reconnection'SysLogHandlerTest.test_udp_reconnection,sk""5)   Y '../ *@Aro)rrrVrrN) rwrxryrzr{rrrKrVrrrr{r|rorJrrs) !LG)4 $I&Brorc:\rSrSr\"\S5(a\rSrSr g)UnixSysLogHandlerTesti4rc[R"5UlUR[R UR5 [ RU5 gr)rrrrrrtrrKrss rJrKUnixSysLogHandlerTest.setUp<rrorNrr|rorJrr4s vy!!- &rorz$IPv6 support required for this test.c<^\rSrSr\rSrU4SjrU4SjrSr U=r $)IPv6SysLogHandlerTestiB)z::1rch>[RURl[[ U]5 gr)rAF_INET6rrrrrKrs rJrKIPv6SysLogHandlerTest.setUpKs#+1??( #T02roch>[RURl[[ U]5 gr)rAF_INETrrrrrVrs rJrVIPv6SysLogHandlerTest.tearDownOs#+1>>( #T35ror|) rwrxryrzr{rrrKrVr{rrs@rJrrBs !LG366rorc&\rSrSrSrSrSrSrg)HTTPHandlerTestiScb[RU5 [R"5Ulgr)rrKrrrrss rJrKHTTPHandlerTest.setUpXs t ( roc~URUl[UR5UlURS:Xa9[ UR S5nUR RU5UlURS5 UR5 URR5 g! SUlNG=f)NrozContent-Length) commandrrzlog_dataintheadersrfilere post_data send_response end_headersrr2)rFrrlens rJhandle_requestHTTPHandlerTest.handle_request^s  . <<6 ! &7??+;<=!(!3!3D!9 c"   &!%s 8B11 B<c [R"S5nURnURURRS5 SGHnSnU(aSSKn[ RR[5n[ RRUSS5nURUR5nURU5 URUS9n OSnSn [!X@R"SUS 9=Uln U R'5 U R(R+5 S U R,-n U=(a Un [RR/U S U W S S 9UlSUlUR5UR05 SGHJn XR0lUR8R;5 SnUR=U5 UR8R+[>R@5nURCUS5 UREUR2RS 5 UREURFU 5 U S:Xa [IUR2RJ5nO$[IURLROS55nUREUSS/5 UREUSS/5 UREUSU/5 GMM UR$RQ5 URRUR05 UR0RS5 GM g![a SnGNgf=f)Nhttprrrzcertdataz keycert.pem)cafiler}rhz localhost:%dz/frob)foobar)securecontext credentials)rnrorzHTTP request timed outrnrhrHfuncNamerr)*r r!r3rOrBsslrQrzdirname__file__r SSLContextPROTOCOL_TLS_SERVERload_cert_chaincreate_default_context ImportErrorrHrrVrr=r server_portrh_hdlrrrDrrrPrr SHORT_TIMEOUTrEr^rrqueryrdecoder8rN)rFrr3rrrherelocalhost_certr^rrVhost secure_clientrrrds rJrHTTPHandlerTest.test_outputks""6*&& !!$"2"2";";A">?#F#D P77??84D%'WW\\$ M%RN ^^C,C,CDF**>:!888OG#1$8K8K48$I IDK& LLN LL   !F$6$66D"-vM!**66tW>K?FCQ7SDK!DM  " "4;; /)%+ " ""$ S!,,++G,A,AB)AB  !3!3W=  v6U? !4!45A !6!6w!?@A  6VH5  :@  5C51*" KK       * *4;; 7 KK   c$ #"!F"sL;; M  M )rr rrrrVN)rwrxryrzrKrrr{r|rorJrrSs ) 6 rorc,\rSrSrSrSrSrSrSrg) MemoryTestic<[RU5 0Ulgr)rrK _survivorsrss rJrKMemoryTest.setUpstrocUH<n[U5[U54n[R"U5URU'M> gr)r-rrrr)rFrRrkeys rJ_watch_for_survivalMemoryTest._watch_for_survivals7CS'49$C#*;;s#3DOOC roc [R"5 /nURR5H#uup#nU"5bMUR U5 M% U(a/UR S[ U5SRU54-5 gg)Nz;%d objects should have survived but have been destroyed: %sz, )gccollectrrrrbr_r)rFdeadid_repr_rs rJ_assertTruesurvivalMemoryTest._assertTruesurvivalsy !%!6!6!8 LS#u} E""9  II.14TDIIdO0LM N rocHURR[R5 [R"S5nUR U5 UR[R 5 URRUR55 URUR55 URS/5 AUR5 [R"S5nURUR55 URSS/5 g)Nr)rr:r)rr:r) r3r9r rr!rr:rrtrmr%)rFrrs rJtest_persistent_loggers"MemoryTest.test_persistent_loggerss !!',,/&   % W]]# t0023 $##%&  !      "& $##%&  ! !  ro)rN) rwrxryrzrKrr%r(r{r|rorJrrs 4 N rorc \rSrSrSrSrSrg) EncodingTestic[R"S5n[SS5nSn[R"USS9nUR U5 UR U5 UR U5 UR5 [USS9nURUR5R5U5 UR5 [RRU5(a[R"U5 gg!UR U5 UR5 f=f!UR5 f=f![RRU5(a[R"U5 ff=f)NrErztest_logging-1-ufoo€rhr)r r!rVrrDrrOrNrr^rerstriprQrzisfiler)rFrrUrrrs rJtest_encoding_plain_file%EncodingTest.test_encoding_plain_files' F$5 6 ))"w?G NN7 #  D!!!'* R'*A   !2D9 ww~~b!! " "!!'*   ww~~b!! " "s;&E D+E .D+8E#D((E+D==E=E=c[R"S5nSn[R"S5nSUl[ R "5nU"US5n[R"U5nURU5 URU5 URU5 UR5 UR5nURUS5 g!URU5 UR5 f=f)NrEuдо свиданияcp1251stricts )r r!codecs getwriterrjr6BytesIOr;rDrrOrNr\r^)rFrmessage writer_classr8writerrrls rJtest_encoding_cyrillic_unicode+EncodingTest.test_encoding_cyrillic_unicodes'Q''1 ( fh/''/ w  KK   g & MMO OO  JK   g & MMOs <C#C4r|N)rwrxryrzr/r:r{r|rorJr+r+s 2Lror+c \rSrSrSrSrSrg) WarningsTesti c @[R"5 [R"S5 UR [RS5 [R "S[ S9 [R"5n[R"U5n[R"S5nURU5 [R"S5 URU5 UR5nUR5 UR!UR#S5S5 [R"5n[R$"S [ S S US 5 UR5nUR5 UR'US 5 SSS5 g!,(df  g=f)NTFalways)category py.warningszI'm warning you...z UserWarning: I'm warning you... rExplicitdummy.py*z Dummy linez0dummy.py:42: UserWarning: Explicit Dummy line )warningscatch_warningsr captureWarningsrfilterwarnings UserWarningr6r7r;r!rDwarnrOr\rNrfind showwarningr^)rFr8rUrrla_files rJ test_warningsWarningsTest.test_warnings s   $ $ &  # #D ) OOG33U ;  # #H{ C[[]F%%f-A&&}5F   a MM. /   #!A GGI   qvv&IJA N[[]F  [*b!' 7!A LLN   QD F)' & &s E0F Fc[R"5 [R"S5 UR [RS5 [R "S5nUR UR/5 [R"S[SS5 UR [UR5S5 URURS[R5 SSS5 g!,(df  g=f) NTFrArBrCrDrqr) rErFr rGrr!r^rBrLrIr_assertIsInstance NullHandlerrRs rJtest_warnings_no_handlers&WarningsTest.test_warnings_no_handlers! s  $ $ &  # #D ) OOG33U ;&&}5F   V__b 1  [*b I   S11 5  ! !&//!"4g6I6I J' & &s CC77 Dr|N)rwrxryrzrNrSr{r|rorJr=r= sF0 Kror=c.[R"X5$r)r r=)r[rls rJ formatFuncrV/ s   V --roc\rSrSrSSjrSrg)myCustomFormatteri2 Ncgrr|)rFfmtrls rJrmyCustomFormatter.__init__3  ror|r)rwrxryrzrr{r|rorJrXrX2 s rorXc,[R"5$r)r r;r|rorJ handlerFuncr^6 s  ""roc\rSrSrSrg) CustomHandleri9 r|Nrwrxryrzr{r|rorJr`r`9 ror`c\rSrSrSrg)CustomListeneri< r|Nrar|rorJrdrd< rbrordc\rSrSrSrg) CustomQueuei? r|Nrar|rorJrfrf? rbrorfc$\rSrSrSSjrSrSrg)CustomQueueProtocoliB c:[R"U5UlgrqueueQueue)rFmaxsizes rJrCustomQueueProtocol.__init__C s[[) rocD[RUS5n[X!5$)Nrk)object__getattribute__r0)rF attributerks rJrRCustomQueueProtocol.__getattr__F s''g6u((ro)rkN)r)rwrxryrzrrRr{r|rorJrhrhB s *)rorhc\rSrSrSrSrg)CustomQueueFakeProtocoliJ cgrr|rss rJ put_nowait"CustomQueueFakeProtocol.put_nowaitR r\ror|Nrwrxryrzrwr{r|rorJruruJ s roruc\rSrSrSrSrg)CustomQueueWrongProtocoliU Nr|ryr|rorJr{r{U sJror{c \rSrSrSrSrSrg)MinimalQueueProtocoliX cgrr|)rFxs rJrwMinimalQueueProtocol.put_nowaitY sTrocgrr|rss rJgetMinimalQueueProtocol.getZ s4ror|N)rwrxryrzrwrr{r|rorJr}r}X s!ror}c,[R"5$rrjr|rorJ queueMakerr\ s ;;=roc^U4SjnU$)NcF>URST5 [U/UQ70UD6$)Nrespect_handler_level) setdefaultrd)rkrBrSrs rJfunclistenerMaker..func` s*13HIe9h9&99ror|)arg1arg2rrs ` rJ listenerMakerr_ s: Kroc R \rSrSr\R rSrSSSS00SSSS S S .0S S/S .S.rSSSS00SSSS S S .0SSS/S .0SS 0S.rSSSS00SSSS S S .0SSS00S S/S .S.r SSSS00SSSS SS .0SSS/S .0SS 0S.r SSSS00SSSSS S .0SSS/S .0SS 0S.r SSSS00SSSS S S .0SSS/S .0SS0S.r SSSS00SSSS S S .0SSS/S .0SS 0S.r SS\S-SS.0SSSS S S .0S S/S .S.rS\SS.\S-SS.\SS.S.SSS S S .S\0S.S S/S .S.rSSSS00S\S-SS S S .0SSS/S .0SS 0S.rSSSS00S\S-SS S SS .0SSS/S .0SS 0S.rSSSS00SSSS S S .0S!SS/S .0SS 0S.rSS"SSS00SSSS S S .0SS/S .0S#.SS 0S$.rSS%SSS00SSSS S S .0SS/S .0S#.SS 0S$.rSSSS00SSSS S S .0SS S/S .0SS 0S.rSS%SSS 00SSS&00S'.rSS%SSS&00SSS&00S'.rSSSS00S(S)S00SSSS S S(/S*.0SSS(/S+.0S S/S .S,.rSSSS00SSSS S S .0S-SS.0SSS/S .0SS 0S/.rSSS00SSSS S S .0S-SS.0SSS/S .0SS 0S0.rS1SSS00SSSS S S .0S-SS.0SSS/S .0SS 0S/.rSSSS00SSSS S S2S3S4.S5.0S S/S .S.rSSS6S7S80S9.0SSSS S S .0S S/S .S.r "S:S;\!RD5r#SS<\#S=S>S?S@SA0SB.0SSSSzr?S{r@S|rAS}rBS~rCSrDSrESSjrF\GR"5S5rI\GR"5S5rJ\GR"5S5rKSrLSrMSrNSrOSrPSrQSrRSrSSrTSrUSrVSrWSrXSrYSrZ\[R"5\GR"5S55r^Sr_\[R"5\GR"5\`"S5S555ra\`"S5S5rb\c\GR"5\dR"\GRS5S555rg\c\GR"5\dR"\GRS5S555rh\iS5rj\c\GR"5S55rkSrlSrmSrn\GR"5S5roSrp\[R"5S5rqSrrg)ConfigDictTestie rrqform1r[z%(levelname)s ++ %(message)srVlogging.StreamHandlerrzext://sys.stdout)rmrJrr8rrrB)rnrorBrArr:r)rnrorBloggersrAzext://sys.stdboutNTOSETWRANINGmisspelled_namez.ExceptionFormatterz"%(levelname)s:%(name)s:%(message)s)()r[z .formatFunc)rform2form3r)rVhand2z.CustomHandlerzinvalid parameter name)rmrJrr8rr2F)compilerr2)rnrProrBrrATr)rn incrementalrBrfilt1rH)rmrJrr8filtersrr)rnrorrBrrAzcfg://true_formatterszcfg://handler_configs[hand1])rntrue_formattershandler_configsrorBrrA)rrrorBrrArr! )r terminator)rmrJrr8rz%(message)s ++ %(customfield)srH defaultvalue)r[rpc,^\rSrSrSrU4SjrSrU=r$)ConfigDictTest.CustomFormatteri rc">[TU]U5$r)rr[rFrrs rJr[%ConfigDictTest.CustomFormatter.format s7>&) )ror|)rwrxryrzcustom_propertyr[r{rrs@rJCustomFormatterr s * *rorcustom{%Y-%m-%d %H:%M:%S {message}rvalue)rstylerlr[r)rmrzlogging.handlers.MemoryHandlerconsoler)rmcapacityrr flushLevel)r bufferingmymodulertrue)rrBr)rnrBrmySimpleFormatterz1%(asctime)s (%(name)s) %(levelname)s: %(message)s$)r[r)rmrrJ fileGlobal)rmrrJrr)r bufferGlobalr)rnrorBr)rr[validatemy_test_logger_custom_formatter)rmr[rz.myCustomFormatterz2%(levelname)s:%(name)s:%(message)s:%(customfield)smyvalue)rr[rprmlogging.FileHandlerlogging.handlers.QueueHandlerh1)rmrB)rahrrnrBrAcB[RRU5 gr)r r dictConfig)rFrs rJrConfigDictTest.apply_config s!!$'rocR[R"U5nURX25 gr)r getHandlerByNamerQ)rFrHrrUs rJ check_handlerConfigDictTest.check_handler s  $ $T * a%roc[R"5nURUR5 UR S[ R 5 [ R"5nURUR55 URUR55 URS/US9 UR/5 SSS5 g!,(df  g=f)NrVrr) rrrrrr r;r!rrtrrmrs rJrConfigDictTest.test_config0_ok s  $ $ &&   dll +   w(=(= >&&(F KK))+ , LL**, -  ! !# "   ! !" %' & &s B1C Ccr[R"5nURU5 [R"S5nUR UR 55 URUR 55 URSS/US9 UR/5 SSS5 g!,(df  g=frr r s rJr ConfigDictTest.test_config1_ok r rcZUR[URUR5 grrrss rJr#ConfigDictTest.test_config2_failure rrocZUR[URUR5 gr)r]rrconfig2arss rJtest_config2a_failure$ConfigDictTest.test_config2a_failure  )T%6%6 FrocZUR[URUR5 gr)r]rrconfig2brss rJtest_config2b_failure$ConfigDictTest.test_config2b_failure rrocZUR[URUR5 grrrss rJr#ConfigDictTest.test_config3_failure rroc[R"5nURUR5 UR S[ R 5 [5e![a [ R"S5 Of=f[RRS5 URUR5S5 UR/5 SSS5 g!,(df  g=f)NrVrrr)rrrrrr r;rrrrr r!r^r\rmrFrs rJr"ConfigDictTest.test_config4_ok s  $ $ &&   dll +   w(=(= > 2"n$ 2!!.1 2 JJOOA    V__.A C  ! !" %' & &s*&&'89F OOFOO ,&&'78F KK))+ , LL**, -  ! !# "   ! !" %' &' &' &sBF3C$G3 G Gc([R"5nURUR5 [R "S5nUR UR55 URUR55 URSS/US9 UR/5 SSS5 [R"5nURUR5 URS[R5 [R "S5nURUR5 UR UR55 URUR55 [R "S5nUR UR55 URUR55 UR/SQUS9 UR/5 SSS5 g!,(df  GNO=f!,(df  g=f)NrrrrrVr2)rrrrrr)rrrrwr r!rrtrrmr@rr;ryrrs rJtest_config_8_okConfigDictTest.test_config_8_okC s  $ $ &&   dll +&&'89F KK))+ , LL**, -  ! !# "   ! !" %' $ $ &&   dll +   w(=(= >&&'89F   V__ - KK))+ , LL**, -&&'78F KK))+ , LL**, -  ! !#  "   ! !" %'' &' &' &sBG1D"H1 H Hc[R"5nURUR5 UR S[ R 5 [ R"S5n[ R"S5nURUR55 URUR55 URUR55 UR/SQUS9 UR/5 SSS5 [R"5nURUR5 UR S[ R 5 [ R"S5nURUR5 URUR55 URUR55 [ R"S5nURUR55 URUR55 WRUR55 UR/SQUS9 UR/5 SSS5 g!,(df  GNn=f!,(df  g=f)NrVrr0r1rr2r3)rrrr4rr r;r!rrtrr5rmconfig8aryrr7s rJtest_config_8a_ok ConfigDictTest.test_config_8a_oke s  $ $ &&   dmm ,   w(=(= >&&'89F !**+@AJ KK))+ , LL**, -    1 1 3 4  ! !# "   ! !" %)'* $ $ &&   dmm ,   w(=(= >&&'89F   V__ - KK))+ , LL**, -&&'78F KK))+ , LL**, -    1 1 3 4  ! !#  "   ! !" %+' &+' &*' &sC(I%EI7% I47 Jc[R"5nURUR5 UR S[ R 5 [ R"S5nURUR55 UR/US9 URUR5 URUR55 UR/US9 URUR5 URUR55 URS/US9 SSS5 g!,(df  g=f)NrVrrr) rrrrIrr r;r!rrtrmconfig9aconfig9brs rJtest_config_9_okConfigDictTest.test_config_9_ok s  $ $ &&   dll +   w(=(= >&&'89F KK))+ ,  ! !"V ! 4   dmm , KK))+ ,  ! !"V ! 4   dmm , KK))+ ,  ! !# " ' & &s DD55 Ec[R"5nURUR5 UR S[ R 5 [ R"S5nURUR55 [ R"S5nURUR55 [ R"S5nURUR55 [ R"S5nURUR55 URSS/US9 SSS5 g!,(df  g=f NrVrrr2zcompiler.parser.codegen)rrrr) rrrconfig10rr r;r!rrtrrmrs rJtest_config_10_ok ConfigDictTest.test_config_10_ok s  $ $ &&   dmm ,   w(=(= >&&'89F NN4,,. /&&z2F NN4,,. /&&'78F NN4,,. /&&'@AF LL**, -  ! ! # " ' & &s D"E Ec:URUR5 gr)r config11rss rJtest_config11_okConfigDictTest.test_config11_ok s T]]+rocZUR[URUR5 gr)r]rrconfig12rss rJtest_config12_failure$ConfigDictTest.test_config12_failure  )T%6%6 FrocZUR[URUR5 gr)r]rrconfig13rss rJtest_config13_failure$ConfigDictTest.test_config13_failure r roc[R"5nURUR5 [R SnUR URS5 UR URS5 [R"S5 URUR5RS55 SSS5 g!,(df  g=f)NrVrr Exclamationz Exclamation! ) rrrconfig14r r%r^rrrrEr\r)rFrrUs rJtest_config14_okConfigDictTest.test_config14_ok s  $ $ &&   dmm ,!!'*A   QUUE *   Q\\5 1 OOM * OOFOO-667GH I ' & & B+C  Cc:UR5 [SS5nSSSUSS.0SS/0S .nURU5 URU5 SSS5 [RR S nUR [UW5 g!,(df  NC=f) Nrr<rqrrrh)rmfilenamerjrBrr)r>rVrr rArBrr)rFrUrrs rJtest_config15_okConfigDictTest.test_config15_ok s  + + -(9:B!6$&$+ F   f %   f %%.(,,''* ('26+. -s >B  BcnURUR5 [RSnURR [R "SSS.55nURUS5 URR [R "SS055nURUS5 g)NrVHellorFrGzHello ++ customvaluerzHello ++ defaultvalue)rconfig16r r%rJr[rr^)rFrUrKs rJtest_config16_okConfigDictTest.test_config16_ok s $--(   g &##G$9$9M :%<= !78##G$9$9 G % !89rocURUR5 [RSnUR UR R S5 g)NrVr)rconfig17r r%r^rJrr`s rJtest_config17_okConfigDictTest.test_config17_ok s> $--(   g & 44g>rocURUR5 [R"S5RSnUR UR [R5 g)Nrr)rconfig18r r!rBr^rrrFrs rJtest_config18_okConfigDictTest.test_config18_ok sI $--(##J/88; ++W]];roNcURS5n[RRSU5nUR 5 UR R 5 URnUR R5 [R"[R[R5nURS5 URSU45 [R"S[!U55nXa-nSn[!U5n U S:a#UR#XxS5n X- nX-n U S:aM#UR%5 UR R S5 [RR'5 [(R*"U5 g!UR R S5 [RR'5 [(R*"U5 f=f)Nrhrg@rqr)rrr rlistenrr=rrrPrr SOCK_STREAM settimeoutconnectrrr_sendrN stopListeningr r6) rFtextverifyr,rrdrrl sentsofarleftsents rJsetup_via_listener!ConfigDictTest.setup_via_listener sS{{7# NN ! !!V ,    vv   ,==1C1CDD OOC LL+t, -;;tSY/D AIq6D(yy:/!  ( JJL GGLL  NN ( ( *  ( ( + GGLL  NN ( ( *  ( ( +sB/F4FAG%c[R"5nUR[R"UR 55 UR S[R5 [R"S5nURUR55 [R"S5nURUR55 [R"S5nURUR55 [R"S5nURUR55 URSS/US9 SSS5 g!,(df  g=fr)rrr2jsondumpsrrr r;r!rrtrrmrs rJtest_listen_config_10_ok'ConfigDictTest.test_listen_config_10_oks  $ $ &&  # #DJJt}}$= >   w(=(= >&&'89F NN4,,. /&&z2F NN4,,. /&&'78F NN4,,. /&&'@AF LL**, -  ! ! # " ' & &s D6E E#c[R"5nUR[R"[ R 55 [R"S5nURUR55 URUR55 URSS/US9 UR/5 SSS5 g!,(df  g=fr) rrr2rrrrwr r!rrtrrmrs rJtest_listen_config_1_ok&ConfigDictTest.test_listen_config_1_ok-s  $ $ &&  # #HOON4J4J$K L&&'89F KK))+ , LL**, -  ! !# "   ! !" %' & &rcSnSn[R"S5n[R"[R 5n[ R"5nURXA5 URUR55 URUR55 SSS5 UR/WS9 URSS/SS9 [ R"5nURU5 [R"S5nURUR55 URUR55 SSS5 URS S /US9 URSS/SS9 [ R"5nURUSSS 2U5 [R"S5nURUR55 URUR55 SSS5 URS S /US9 URSS/SS9 g!,(df  GN=f!,(df  N=f!,(df  NV=f)Ncgrr|stuffs rJ verify_fail6ConfigDictTest.test_listen_verify..verify_fail?srocUSSS2$)Nrlr|r>s rJverify_reverse9ConfigDictTest.test_listen_verify..verify_reverseBs2; rorrrrr )rgrrrlrr) r r!rrrrwrrr2rrtrrm)rFr@rCrto_sendrs rJtest_listen_verify!ConfigDictTest.test_listen_verify<s.  ""#45//."8"89 $ $ &&  # #G 9 KK))+ , LL**, - ' b0    +  , $ $ &&  # #G ,&&'89F KK))+ , LL**, - '          +  , $ $ &&  # #GDbDM> B&&'89F KK))+ , LL**, - '          +  ,Y' &' &$' &s'AH&%A&H8 A-I & H58 I IcZUR[URUR5 gr)r]rr bad_formatrss rJtest_bad_formatConfigDictTest.test_bad_format{s *d&7&7Iroc[R"UR5nSUSSS'URU5 [R "S5R SnURUR[R5 URURR[R5 UR[[R"55SS/5 g) Nz-${asctime} (${name}) ${levelname}: ${message}rorr[rrrr)r&deepcopyrIrr r!rBrQrr\rJ_styleStringTemplateStyler^sortedgetHandlerNamesrFrrs rJ!test_bad_format_with_dollar_style0ConfigDictTest.test_bad_format_with_dollar_style~st/>m|01(; &!##J/88; gnngoo> g//66%99 ;  7 7 9:(,7 9rocURUR5 [R"S5RSnUR UR [5 gNrr)rcustom_formatter_class_validater r!rBrQrJrr#s rJ)test_custom_formatter_class_with_validate8ConfigDictTest.test_custom_formatter_class_with_validatesJ $>>?##$EFOOPQR g//1CDrocURUR5 [R"S5RSnUR UR [5 grV)r custom_formatter_class_validate2r r!rBrQrJrr#s rJ*test_custom_formatter_class_with_validate29ConfigDictTest.test_custom_formatter_class_with_validate2sJ $??@##$EFOOPQR g//1CDrocURR5nSUSSS'URU5 [R"S5R SnUR UR[5 g)Nrrorrrr) rWr&rr r!rBrQrJrrRs rJ9test_custom_formatter_class_with_validate2_with_wrong_fmtHConfigDictTest.test_custom_formatter_class_with_validate2_with_wrong_fmtsn55::<14|W%g. &!##$EFOOPQR g//1CDrocZUR[URUR5 gr)r]rr custom_formatter_class_validate3rss rJ*test_custom_formatter_class_with_validate39ConfigDictTest.test_custom_formatter_class_with_validate3s  *d&7&79^9^_rocZUR[URUR5 gr)r]rrcustom_formatter_with_functionrss rJ,test_custom_formatter_function_with_validate;ConfigDictTest.test_custom_formatter_function_with_validate  *d&7&79\9\]rocZUR[URUR5 gr)r]rrcustom_formatter_with_defaultsrss rJ,test_custom_formatter_function_with_defaults;ConfigDictTest.test_custom_formatter_function_with_defaultsriroc S/SQSSSSSSS S S SSSSS S S SSS.S.S. S SSS/S//SQS.n[RRU5nURUR S5S5 URUR S5S5 URUR S5S5 URUR S5S5 URUR S5S5 URUR S 5S5 URUR S!5S5 URUR S"5S5 URUR S#5S 5 URUR S$5S5 URUR S%5S5 URUR S&5S5 URUR S'5S5 URUR S(5S5 URUR S)5S5 URUR S*5S 5 URUR S+5S,5 URUR S-5S5 URUR S.5S/5 URUR S05S15 URUR S25S 5 URUR S35S 5 URUR S45S5 URUR S55S5 URUR S65S/5 URUR S75S15 URUR S85S 5 URUR S95S 5 UR S:5nURUR S 5/SQ5 UR [URS;5 UR [URS<5 UR [URS=5 UR [URS>5 UR [URS?5 UR [URS@5 g)AN)rqr)rbcrerorr r)g)rUrjrqr)rza with 1 and spaceza with ( and space)rralpha numeric 1 with spacesalpha numeric 1 %( - © ©ß¯rsomelistsomedict) rrrxryzalpha numeric ] 1 with spacesu"alpha ]] numeric 1 %( - © ©ß¯]u# alpha [ numeric 1 %( - © ©ß¯] z alpha rnest4rlrr)oz cfg://alistp)atuplealistadictnest1nest2nest3zcfg://atuple[1]rzcfg://alist[1]rpzcfg://nest1[1][0]rUzcfg://nest2[1][1]z cfg://adict.dzcfg://adict[f]z(cfg://adict[alpha numeric 1 with spaces]u+cfg://adict[alpha numeric 1 %( - © ©ß¯]z cfg://adict[]zcfg://adict.nest4.dzcfg://adict.nest4[d]zcfg://adict[nest4].dzcfg://adict[nest4][f]z/cfg://adict[nest4][alpha numeric 1 with spaces]u2cfg://adict[nest4][alpha numeric 1 %( - © ©ß¯]zcfg://adict[nest4][]zcfg://adict[nest4][somelist][0]rvz"cfg://adict[nest4][somelist][1][0]z"cfg://adict[nest4][somelist][1][1]rzcfg://adict[nest4][somelist][2]rwzcfg://adict[nest4].somedict.azcfg://adict[nest4].somedict[a]z/cfg://adict[nest4].somedict[a with 1 and space]z/cfg://adict[nest4].somedict[a with ( and space]z cfg://adict.nest4.somelist[1][1]zcfg://adict.nest4.somelist[2]zcfg://adict.nest4.somedict.azcfg://adict.nest4.somedict[a]z cfg://nest3z cfg://nosuchzcfg://!zcfg://adict[2]z*cfg://adict[alpha numeric ] 1 with spaces]u1cfg://adict[ alpha ]] numeric 1 %( - © ©ß¯] ]u0cfg://adict[ alpha [ numeric 1 %( - © ©ß¯] ]) r rBaseConfiguratorr^convertpopr]KeyErrorr)rFrbcrs rJtest_baseconfigConfigDictTest.test_baseconfigs$q013424798:14578"8/0/0" ,,C:s+.7 :^^ , ,Q / $56: $45s; $78#> $78#> O4c: $45q9 $NOQRS $QRTUV O4b9 $9:C@ $:;SA $:;SA $;^\rSrSrUU4SjrU4SjrSrU=r$)1ConfigDictTest.test_namedtuple..MyHandleric2>[TU]"U0UD6 Xlgr)rrresource)rFrrRrSrrs rJr:ConfigDictTest.test_namedtuple..MyHandler.__init__s $1&1,4 rocz>U=RSURR3- sl[TU]U5$N )rrtyperr_rs rJr_6ConfigDictTest.test_namedtuple..MyHandler.emits2 $--"4"4!566 w|F++ro)rr)rrs@rJ MyHandlerrs 5 , ,rorResourcerlabelsmy_typer)rrrq myhandler)rrrrrzsome logzsome log my_type ) collectionsrr r;rrrrr^r\)rFrrrrrrs @rJtest_namedtupleConfigDictTest.test_namedtuples* ,-- ,j68*<=C59# ( &K=A   $ $ &&   f % LL $' *,@A' &s (B,, B:cnSnURSSU/S.S.5 /[R"5lg)Ncgrtr|)rs rJrAConfigDictTest.test_config_callable_filter_works..filter_ srorqr:rrnrArr r!rrFrs rJ!test_config_callable_filter_works0ConfigDictTest.test_config_callable_filter_works s9  G "J  ')#roc[R"S5nURSSU/S.S.5 /[R"5lg)Nrrqr:rr)r rrr!rrs rJtest_config_filter_works'ConfigDictTest.test_config_filter_workssB..- G "J  ')#roc"SS5nU"5nURSSU/S.S.5 /[R"5lg)Nc\rSrSrSrSrg)BConfigDictTest.test_config_filter_method_works..FakeFiltericgrtr|)rFrs rJrIConfigDictTest.test_config_filter_method_works..FakeFilter.filtersror|Nrr|rorJ FakeFilterrs rorrqr:rrr)rFrrs rJtest_config_filter_method_works.ConfigDictTest.test_config_filter_method_workssG  , G "J  ')#roc "SS5nSSU"54H+nUR[URSSU/S.S.5 M- g)Nc\rSrSrSrg);ConfigDictTest.test_invalid_type_raises..NotAFilteri&r|Nrar|rorJ NotAFilterr&s$rorrqr:rr)r]rr)rFrrs rJtest_invalid_type_raises'ConfigDictTest.test_invalid_type_raises%sDa.G   !!gY'OP /roc[R"UR5n[SS5nXCSSS'Ub XSSS'Ub X#SSS'SnUR U5 [ R "S5nUR[[ R"55SS/5 URUR5 URR5 [ R"S 5 [ R"S 5 [ R"S 5 [ R""[ R$S 5(aVURR&R)5(aO,[ R""[ R$S 5(aMVURR&R+5 [-US S9nUR/5R15nSSS5 URW/SQ5 U(aURR35 [ R "S5nU(aUR5[6X5 gUR5[8R:U5 g!,(df  N=f!U(aURR35 [ R "S5nU(aUR5[6X5 fUR5[8R:U5 f=f)Nrztest_logging-cqh-rBrrrrklistenerrrbazzqueue not emptyrhr)rrr)r&rMconfig_queue_handlerrVrr rr^rPrQassertIsNotNonerrrrrrsleeping_retryrrkemptyrrrer]r8rrrQr) rFqspeclspeccdrUqhrrrUs rJdo_queuehandler_configuration,ConfigDictTest.do_queuehandler_configuration.s6 ]]444 5 F$7 8+-:tZ(  ,1zN4  )  /4zN4  ,  /   b !))$/B   VG$;$;$=>t M   - KK    MM% LL  OOE "(()=)=):<<;;$$**,,(()=)=):<< KK   " " $b7+qvvx**,,   T#8 9   "((.A 0!8 2.,+   "((.A 0!8 2.s,E J".JJ/J J JA7L c[5[5/nSVs/sHn[SU3SS.PM nn[S-SSSS.nS[S-[S -/UQUQ7nS[S -U[4n[R "XV5HupxUR Xx5 M SS [S S 4nSS [S S4n[R "XV5HcupxUcUcM UR[5n UR Xx5 SSS5 [W R5n URU S5 Me gs snf!,(df  N?=f)N)rfrhrrrrmz.listenerMakerT)rrrrz .queueMakerz .CustomQueuez.CustomListenerrrrrz Unable to configure handler 'ah') rfrhrwrd itertoolsproductrrr]rrrr^) rFqsrdqsdlqvalueslvaluesrrctxrs rJtest_config_queue_handler(ConfigDictTest.test_config_queue_handlerVsUm02 3@B@3" !C5)b9@ B--%)   M18n3LXsXUWX$55r>J%--g?LE  . .u <@CU+CU+%--g?LE}"":.#225@/cmm$C   S"D E @!B&/.sD.(D33 E c6URSSSUS.0S.5 g)Nrqqueue_listenerrrmrk)rnrB)r)rFrs rJ*_apply_simple_queue_listener_configuration9ConfigDictTest._apply_simple_queue_listener_configurationrs+  <"#  rozmultiprocessing.Managerc(SSS.[R"5[R"5[5[ 54H<nUR US9 UR U5 UR5 SSS5 M> g!,(df  MP=f)Nz queue.Queuerlrr)rkrl SimpleQueuerur}subTestrassert_not_calledrFr"rs rJAtest_config_queue_handler_does_not_create_multiprocessing_managerPConfigDictTest.test_config_queue_handler_does_not_create_multiprocessing_manager}sv!R 0 KKM     $ % "  EE*??F))++*  +*s "B B c.[5[54HZnURUS9 UR[5 UR U5 UR 5 SSS5 SSS5 M\ g!,(df  N=f!,(df  M=f)Nr)rpr{rr]rrrrs rJPtest_config_queue_handler_invalid_config_does_not_create_multiprocessing_manager_ConfigDictTest.test_config_queue_handler_invalid_config_does_not_create_multiprocessing_managershh 8 :;EE*D,=,=j,I??F))+-J**<,I,I**s"B"A4B4 B >B B z@requires a debug build for testing assertions in multiprocessingcpSSKn[R(aS/nO/SQnUHlnURUS9 UR"U5nUR 5nUR [5 URU5 SSS5 SSS5 Mn g!,(df  N=f!,(df  M=f)Nrspawnrr forkserver start_method) multiprocessingr MS_WINDOWSr get_contextrr]rr)rFr start_methodsrrrs rJ?test_config_reject_simple_queue_handler_multiprocessing_contextNConfigDictTest.test_config_reject_simple_queue_handler_multiprocessing_contexts    $IM;M)L<8%11,?)&&z2CCEJ398*3298s#8B&.BB& B# B&& B5 c j[R(aS/nO/SQnUHnURUS9 [R"U5nUR 5nUR 5n/nURSURUS4SS9 URURSS95 SSS5 URUR55 SSS5 UR[W5S5 SSS5 M g!,(df  N]=f!,(df  NG=f!,(df  GM=f) Nrrrrqr-) initializerinitargsmaxtasksperchild<r)rrrrrManagerrlPool_mpinit_issue121723rrrErr^r_)rFrrrr"qr.s rJ1test_config_queue_handler_multiprocessing_context@ConfigDictTest.test_config_queue_handler_multiprocessing_contexts   $IM;M)L<8%11,?[[]g A G!1I1I,-v;"LquuRu'89LOOAGGI.#  Wq198*LL #]98s;'D"1D D )'D#D" D D D D"" D2 c[RRSSSSUS.0S/SS.S.5 [R"5R U5 g) NrqT log_to_parentrrr:rBr)rnrPrBrA)r rrr!r)rmessage_to_logs rJr"ConfigDictTest._mpinit_issue121723sZ !!(,<"" #2!2WE #    0roc[R"UR5nSSKJnJn U"5nU"5R 5nU"5R 5nXEU4GH1n[SS5nXSSS'XqSSS 'Sn URU5 [R"S5n UR[[R"55SS/5 URU R5 UR!U R"U5 UR!U RR"U5 [R"S5n U (aUR%[&X5 GMUR%[(R*U5 GM4 g![R"S5n U (aUR%[&X5 fUR%[(R*U5 f=f) Nr)rlrrztest_logging-cmpqh-rBrrrrk)r&rMrrrlr JoinableQueuerVrr rr^rPrQrrrrkrrrQr) rFrMQMMq1q2q3rrUrrUs rJtest_multiprocessing_queues*ConfigDictTest.test_multiprocessing_queuessn ]]444 5> T TZZ\ T   !b\E(=>B/1zN4  ,,1zN4  )B 3!!"%--d3  (?(?(A!BT4LQ$$R[[1 bhh. bkk//7,,T2OO$4a<OOBIIr2#",,T2OO$4a<OOBIIr2sB4FAG+cSSSSSS.0SSS/S.0S .n[R"S5nURUR5 UR U5 URUR5 UR S S05 UR UR5 US UR U5 URUR5 g) NrqFrr:r)rrmrr)rnrPrBrrnrP)r r!ryrrrE)rFrrs rJ test_90195ConfigDictTest.test_90195s(-$4$!*   ""3' ) &! ) 9a.) ( - . &! )roc[R"S5 [R"S5nSSSURS5R5S.0S/SS .S .n[R R U5 g) N_multiprocessingrrqsinkrrrr:rr)r import_modulerrlr rr)rFmprs rJ test_111615ConfigDictTest.test_111615sv##$67  ( (): ;<^^G4::<$H    !!&)roc"SS[RR5nSS0nSSSU0UE0SS/S .S .n[RR U5 [R "S5nUR URU5 g) Nc(^\rSrSrU4SjrSrU=r$)>ConfigDictTest.test_kwargs_passing..CustomQueueHandleri,cV>[TU][R"55 X lgr)rrrkrl custom_kwargsrFrRrSrs rJrGConfigDictTest.test_kwargs_passing..CustomQueueHandler.__init__-s /%+"ro)r)rwrxryrzrr{rrs@rJCustomQueueHandlerr,s  , ,rorrrrqrrmr:rr)r rB QueueHandlerrrrr^r)rFrrrrs rJtest_kwargs_passing"ConfigDictTest.test_kwargs_passing+s ,!1!1!>!> ,  /#!%J   !!&)**84 .. >roc[R"5n[RR U5n[R "5nUR nUR[R5 URU5 URS5 URU5 URU5 g!URU5 URU5 f=f)Ndeadlock) rrlr rBr get_loggerrr9r:rDrrO)rFrkrrrs rJtest_deadlock_in_queue%ConfigDictTest.test_deadlock_in_queueGs%%'""//6 ++-  * OOGMM *   g & LL $ OOE "   ) OOE "   )s AB;;$Cc^"U4SjS[R5n[R"S5mTRU"55 TR [R 5 TR S5 g)Nc6>^\rSrSrU4SjrU4SjrSrU=r$)CConfigDictTest.test_recursion_in_custom_handler..BadHandleriVc">[TU]5 gr)rrrs rJrLConfigDictTest.test_recursion_in_custom_handler..BadHandler.__init__Ws "roc(>TRS5 g)Nrecurser)rFrrs rJr_HConfigDictTest.test_recursion_in_custom_handler..BadHandler.emitYs Y'ror|r)rrs@rJ BadHandlerr$Vs # ( (ror+ test_recursion_in_custom_handlerboom)r r\r!rDr9r:r)rFr+rs @rJr,/ConfigDictTest.test_recursion_in_custom_handlerUsR ( ( ""#EF*,' & Vroc^^[R"5m[R"S5m"UU4SjS[5n[R "S5nU"U5nTR U5 TR[R5 [R"TRSS9nT UR5 UR5 [R"TRSS9nUR5 URSS 9 UR[UR 5S 5 UR#UR%[RS S 95 UR#UR'55 SSS5 UR5 UR[UR 5S5 UR#UR%[RS S 95 g!,(df  Nq=f)N&test_thread_supression_noninterferencecF>^\rSrSrU4SjrSrSrUUU4SjrSrU=r $)OConfigDictTest.test_thread_supression_noninterference..BlockOnceHandleriicV>[TU][R"55 Xlgr)rrrMatcherbarrier)rFr5rs rJrXConfigDictTest.test_thread_supression_noninterference..BlockOnceHandler.__init__js !23& rocSUlgr)rrss rJ createLockZConfigDictTest.test_thread_supression_noninterference..BlockOnceHandler.createLockns   roc&URU5 gr)r_rs rJrxVConfigDictTest.test_thread_supression_noninterference..BlockOnceHandler.handleqs &!roc>UR(a/URnSUlUR5 T SSS5 [TU] U5 TR S5 g!,(df  N/=f)Nzblow up if not supressed)r5rrr_r)rFrr5rrrs rJr_TConfigDictTest.test_thread_supression_noninterference..BlockOnceHandler.emittsO<<"llG#'DLLLN V$ 67s A## A1)r5r) rwrxryrzrr8rxr_r{r)rrrs@rJBlockOnceHandlerr2is ' ! " 8 8ror>r)rr)rrorrqrrr7r)rLockr r!r BarrierrDr9r:rrrrrr^r_bufferrEmatchesis_alive)rFr>r5rt1t2rrs @@rJr05ConfigDictTest.test_thread_supression_noninterference`s_~~""#KL  8 8{ 8*##A&"7+'" &   V\\ ?  HHJ LLN!!FCB HHJ GGAG    S0! 4 OOGOOGMM3OO P OOBKKM *$   W^^,a0  sKL)Ts 0CG++ G9r|r)srwrxryrzr r>r[rrwr4rrrrrrrVr^rr'r,r6r@rrIrrrrrr rrr r=rrr"rIrWr[rbrfrkrrrrr rrrrr"rr(rr9rrrrrrr rrrrr$r2rrequires_working_socketr7r:rFrJrSrXr\r_rcrgrlrrrrrrrr rrequires_subprocessrrrrrrr skipUnlessPy_DEBUGrr staticmethodrrr rrr r,r0r{r|rorJrre sr!0 I I, 9 1%".   ! G. 9 1%".   !%Y!  i +G8 9 1%".   '!  ! )H8 9 1%"/   !%Y!  i +G8 9 1%".   !%Y!  i +H: 9 1%".   !%Y!  i +H8 9 1/".   !%Y!  i +G8 "77?  1%".  %Y !G0*?  -/? "?  2%". {  %Y 7HF 9 "%55%".   !%Y!  i +G: 9 "%55%"..   !%Y!  i -G< 9 1%".   !%Y   i +G<%* 9 1%".  "%Y    i 1G>%) 9 1%".  "%Y    i 1H< 9 1%#.   #%Y!  h +G6 ) &!  H  & &!  H" 9 * 1%".$I   !$I!  ! 7HF 9 1%".  / 4  !%Y!  i 3HB 9 1%".  / 4  !%Y!  i 1H> 9 1%".  / 4  !%Y!  i 3H@ 9 1%". "'    ! 'H8 ;*N;  1%".   ! !H,*'++* %.%%w    1&".   ! +H81  :# %     (M# H2 M" 1 0 :0&     +,# -JB !66>!  0$!,   . $I#0 #'#8 !$99>!  0$!,   . $I#0 #($8 !$88>!  0$!,   . $I#0 #($8  >!  0$!,   . $I#0 #&"8  N*I6  0$!,   . $I#0 #&"6. 9!F   $(&& &- &FGGF& &3F&< &D+&Z&(,GGJ72 :? < ,8 $$&'( $$& &' & $$&<,'<,|J 9E E E`^^BfHB>)) )&/P002   "F#3F4  002   " $%,&#3,( $%,&,   " )),LMKM#K$   " )),LM2M#2&11    "3#36*<**?8   " *# * 0027M37Mrorc \rSrSrSrSrSrg) ManagerTesticp^/m"U4SjS[R5n[R"S5nUR[UR [ 5 UR U5 URS5nURS5 [R"S5 URTS/5 g)Nc&>\rSrSrSU4SjjrSrg)6ManagerTest.test_manager_loggerclass..MyLoggeriNc(>TRU5 grr)rFrrrRexc_infoextraloggeds rJ_log;ManagerTest.test_manager_loggerclass..MyLogger._logs c"ror|rv)rwrxryrzrWr{)rVsrJMyLoggerrQs  # #rorYrEzshould appear in loggedzshould not appear in logged) r Loggerrr] TypeErrorsetLoggerClassrr!rr^)rFrYmanrrVs @rJtest_manager_loggerclass$ManagerTest.test_manager_loggerclasss #w~~ #ood# )S%7%7= 8$v&0156 ";!<=roc[R"S5n[5nURU5 UR UR U5 gr)r rrpsetLogRecordFactoryr^logRecordFactory)rFr]rjs rJtest_set_log_record_factory'ManagerTest.test_set_log_record_factorys;ood#8 ) --x8ror|N)rwrxryrzr^rcr{r|rorJrNrNs > 9rorNc \rSrSrSrSrSrg)ChildLoggerTestic[R"5n[R"S5n[R"S5nURS5nURS5nURU[R"S55 URU[R"S55 URS5nURS5nURS5nURU[R"S55 URU[R"S55 URXV5 g) Nabczdef.ghixyzzuvw.xyzdefghiabc.defz abc.def.ghi)r r!getChildr)rFrl1l2c1c2c3s rJtest_child_loggers"ChildLoggerTest.test_child_loggerss       u %   y ) ZZ  ZZ " b'++E23 b'++I67 [[  [[  [[ # b'++I67 b'++M:; broc[R"5n[R"S5n[R"S5n[R"S5n[R"S5nUR5nX%1nURXvU-5 UR X75 UR5nURU1U5 UR5nUR[ 5U5 g)Nrfoo.barzfoo.bar.baz.bozzr)r r! getChildrenr^ assertNotInr2)rFrrnrol3l4kidsrjs rJtest_get_children!ChildLoggerTest.test_get_childrens       u %   y )   1 2   u %}}8 (?3 &~~ "t$~~ %ror|N)rwrxryrzrsr|r{r|rorJrfrfs   &rorfc\rSrSrSrg)DerivedLogRecordir|Nrar|rorJrrrbrorc&\rSrSrSrSrSrSrg)LogRecordFactoryTestic"SS[R5n[RU5 U"[5UlUR RUR 5 [R"5Ul g)Nc \rSrSrSrSrSrg)2LogRecordFactoryTest.setUp..CheckingFiltericXlgrr)rFrs rJr;LogRecordFactoryTest.setUp..CheckingFilter.__init__sroct[U5nX RLaSU<SUR<3n[U5eg)NzUnexpected LogRecord type z , expected T)rrr[)rFrr,rs rJr9LogRecordFactoryTest.setUp..CheckingFilter.filters3LHH$IJ HH&C#C.(rorN)rwrxryrzrrr{r|rorJCheckingFilterrs   ror) r rrrKrrr3rgetLogRecordFactory orig_factory)rFrs rJrKLogRecordFactoryTest.setUpsV W^^  t$%56  ""4;;/#779rocURRUR5 [R U5 [ R "UR5 gr)r3rrrrVr rarrss rJrVLogRecordFactoryTest.tearDowns< %%dkk2$##D$5$56roc UR[URRUR 55 [ R "[5 URRUR 55 URS/5 g)N)rArr) r]r[r3rrtr rarrrmrss rJtest_logrecord_class)LogRecordFactoryTest.test_logrecord_classsn )T%5%5%=%=++- /##$45 t0023  !  ro)rrN)rwrxryrzrKrVrr{r|rorJrrs:$7  rorcH\rSrSrSrSrSrSrSrSr Sr S r S r S r g ) QueueHandlerTestir c[RU5 [R"S5Ul[R R UR5UlSUl[R"S5Ul SURl URR[R5 URRUR5 g)NrlqueF)rrKrkrlr rBrque_hdlrrHr! que_loggerrr9rrDrss rJrKQueueHandlerTest.setUpst[[_ ((55djjA  !++E2$)!   1 ""4==1rocbURR5 [RU5 gr)rrNrrVrss rJrVQueueHandlerTest.tearDownrrocURRUR55 UR[R URR 5 URRUR55 UR[R URR 5 UR5nURRU5 URR 5nUR[U[R55 URURURR5 URURUR 4US45 gr)rrrtr]rkEmpty get_nowaitrrrErr rr^rHrrR)rFrrs rJtest_queue_handler#QueueHandlerTest.test_queue_handler s d//12 %++tzz'<'<= T..01 %++tzz'<'<=! $zz$$&  4):):;< DOO$8$89 $((DII.d  {levelname}: {message})rH levelnamer7)rtr rrr[rHr=r>rr@rrrkrr^rr7)rFrrlog_format_str formatted_msgrJ log_records rJtest_formatting QueueHandlerTest.test_formattings!((9 ;&--4998A.P %%doo6  ""9- $ZZ**,  7 (:(:;roc[[R"55n[RR UR U5nUR5 URRUR55 URRUR55 URRUR55 UR5 UR5 URUR[R SS95 URUR[R"SS95 URUR[R$SS95 UR'5 [[R"55nUR)[R$5 [RR UR USS9nUR5 URRUR55 URRUR55 URRUR55 UR5 UR+UR[R SS95 UR+UR[R"SS95 URUR[R$S S95 UR'5 UR5 UR-UR.5 g!UR5 UR5 f=f!UR5 f=f) Nrr?rrT)rrrr)r rr4r rB QueueListenerrkrrrrtrr5r8rErCrrrrNr9ryr rrFrrs rJtest_queue_listener$QueueHandlerTest.test_queue_listener"sagoo/0##11$**gF  OO # #D$5$5$7 8 OO ! !$"3"3"5 6 OO $ $T%6%6%8 9 MMO MMO MN  sKL 0@0@#NO goo/0))*##11$**gHL2N  OO # #D$5$5$7 8 OO ! !$"3"3"5 6 OO $ $T%6%6%8 9 MMO #NO LM 0@0@#NO    (**+7 MMO MMO$ MMOsA;MA;M6"M36NcJ[[R"55n[RR UR U5nUR5 UR[UR5 UR5 URUR5 gr) r rr4r rBrrkrr]rr8r rrs rJtest_queue_listener_multi_start0QueueHandlerTest.test_queue_listener_multi_startHsjgoo/0##11$**gF ,7  (**+roc[RRURUR5nUR 5 SS- URRUR5SS9 UR5 URURR5R5R!S5S5 URURR5R5R!S5S5 g![ a5nUnURRUR5US9 SnAGNSnAff=f)NrqrrTT stack_info TracebackStack)r rBrrkr<rZeroDivisionErrorrrrtrr8r^r8r\rqr0)rFrreexcs rJ&test_queue_listener_with_StreamHandler7QueueHandlerTest.test_queue_listener_with_StreamHandlerPs##11$**dnnM I E d//1dC  --/557==kJAN --/557==gFJ ! IC OO % %d&7&7&9C % H IsD E*E  EcURRUR5 URR UR 5 [ RRURUR5nUR5 URRS5 UR5 URURR5R!5S5 g)Nrzque -> ERROR: error)rr@r?rrDr<r rBrrkrrr8r^r8r\rq)rFrs rJ*test_queue_listener_with_multiple_handlers;QueueHandlerTest.test_queue_listener_with_multiple_handlers^s ""4#6#67 ""4>>2##11$**dmmL g&  --/5579NOro)rHrrrkN)rwrxryrzr[rKrVrrrrrrr{r|rorJrrs532  = <$,L, K Prorrc\rSrSrSr\S5r\R"\ RRS5S5r \R"\ RRS5S5r \S5rSrS rS rg ) QueueListenerTestimc>[R"SU-5nUR[R5 [RR U5nUR U5 [RRU5nUR5 URS5 URS5 URS5 URS5 URS5 UR5 URU5 UR5 g)Nztest_logger_with_id_%sonetwothreefourfive) r r!r9r:rBrrDrrrr8rOrN) log_queuerrrrs rJ setup_and_logQueueListenerTest.setup_and_logws&&'?%'GHF OOGMM *&&33I>G   g &''55i@H NN  KK  KK  KK KK  KK  MMO   ) MMOrorxc[UR5H>n[R"5nUR X0R 5<SU<35 M@ UR URSUR-S5 gNrrz&correct number of handled log messages)rrepeatrkrlrr-r^ call_countrF mock_handlerrs rJ#test_handle_called_with_queue_queue5QueueListenerTest.test_handle_called_with_queue_queues_4;;'!KKM ""9A.FG(   [33Q_E Grocp[R"5 [UR5H^n[R "5nUR X0R5<SU<35 UR5 UR5 M` URURSUR-S5 gr) r*skip_if_broken_multiprocessing_synchronizerrrrlrr-rNr6r^rrs rJ test_handle_called_with_mp_queue2QueueListenerTest.test_handle_called_with_mp_queues  > > @4;;'+113 ""9A.FG!%%' (   [33Q_E Groc#n# UR5v M![Ra /s$f=f7fr)rrkr)rs rJget_all_from_queue$QueueListenerTest.get_all_from_queues8 #..00;;   s52525c N[R"5 [UR5Hn[R "5nUR X R5<SU<35 [URU55nUR"5 UR"5 /[RRR//nUR!X4SUVs/sH0n[#U[R$5(a UR&OUPM2 sn-5 M gs snf)Nrz&Found unexpected messages in queue: %s)rrrrrrlrr-listrrNr6r rBr _sentinelrrrr)rFrrkrrjrs rJ$test_no_messages_in_queue_after_stop6QueueListenerTest.test_no_messages_in_queue_after_stops  > > @4;;''--/""5GGIq*ABT44U;< !!#!1!1!?!?!I!I JK eF5:%<5:/9G(%0 &rorc$\rSrSrSr\rSrSrg)UTCic[$r)ZEROrFdts rJ utcoffset UTC.utcoffsets rocg)Nrr|rs rJtzname UTC.tznamesror|N)rwrxryrzrdstrr{r|rorJrrs Crorc\rSrSrSrSrg)AssertErrorMessageicUR"S/UQ70UD6 g!Ua%nURU[U55 SnAgSnAff=f)Nr|)r]r^r)rFrr7rRrSres rJassert_error_message'AssertErrorMessage.assert_error_messagesF .   b 24 26 2 .   Wc!f - - .sA?Ar|N)rwrxryrzrr{r|rorJrrs.rorcf\rSrSrSrSSjrSrSrSrSr S r S r S r S r S rSrSrSrg) FormatterTestic S[R[RR SSS5SSSSSS.UlS S S 00Ulg) Nzformatter.testrztoz dummy.extrDzMessage with %d %s)r placeholders)rHrpathnamelinenorTrrrRri)r r:rQrzrcommonvariantsrss rJrKFormatterTest.setUpsP$]] VT;?''    $  roNc[UR5nUbURURU5 [R "U5$r)rsrrQrr r)rFrHrKs rJ get_recordFormatterTest.get_records<dkk"   MM$--- .$$V,,roc|UR5n[R"S5nURUR U5S5 [R"S5nUR [ URU5 URUR55 [R"S5nURUR55 [R"S5nURUR55 [R"S5nURUR55 g)Nz${%(message)s}z${Message with 2 placeholders}z %(random)s %(asctime)sz%(asctime)-15sz%(asctime)#15s rr r=r^r[r]rryusesTimerErFrrs rJ test_percentFormatterTest.test_percents OO    . / !&FG   l + *ahh2 &   m ,  %   . /  %   . /  %rocUR5n[R"SSS9nURUR U5S5 [R"SSS9nUR [ URU5 [R"SSS9nURUR55 [R"SSS9nURUR55 [R"SSS9nURUR55 [R"S SS9nURUR55 g) Nz $%{message}%$rr$%Message with 2 placeholders%$z{random}r {asctime}z{asctime!s:15}z {asctime:15}rrs rJ test_bracesFormatterTest.test_braces s OO    oS 9 !&GH   j 4 *ahh2   k 5 &   k 5  %   .c :  %   nC 8  %rocUR5n[R"SSS9nURUR U5S5 [R"SSS9nURUR U5S5 [R"SSS9nURUR U5S5 [R"SSS9nUR [ URU5 URUR55 [R"S SS9nURUR55 [R"S SS9nURUR55 [R"SSS9nURUR55 [R"S SS9nURUR55 g) N ${message}rrzMessage with 2 placeholdersz$messagez$$%${message}%$$rz ${random}z ${asctime}z$asctimez ${asctime}--rrs rJ test_dollarsFormatterTest.test_dollarss^ OO    l# 6 !&CD   j 4 !&CD   0 < !&GH   k 5 *ahh2 &   l# 6  %   j 4  %   l# 6 &   nC 8  %roc[R"S5nURURS5 [R"S5nURURS5 [R"S5nURURS5 [R"S5nURURS5 [R"SSS9nURURS5 [R"SSS9nURURS5 [R"S SS9nURURS 5 [R"S SS9nURURS 5 [R"S SS9nURURS 5 [R"S SS9nURURS 5 [R"S SS9nURURS 5 [R"SSS9nURURS5 [R"SSS9nURURS5 [R"SSS9nURURS5 [R"SSS9nURURS5 [R"SSS9nURURS5 [R"SSS9nURURS5 [R"SSS9nURURS5 [R"SSS9nURURS5 [R"SSS9nURURS5 [R"SSS9nURURS5 UR [ [RS5 UR [ [RS5 UR [ [RS5 UR [ [RS5 UR [ [RS5 UR [ [RS5 UR [ [RS5 UR [ [RS 5 UR [ [RS!5 UR [ S"[RS#SS9 UR [ S$[RS%SS9 UR [ S&5 UR [ [RS'SS9 UR [ S([RS)SS9 UR [ S*[RS+SS9 UR [ [RS,SS9 UR [ [RS-SS9 UR [ [RS.SS9 UR [ [RS/SS9 UR [ S0[RS1SS9 UR [ S2[RS3SS9 UR [ [RS4SS9 UR [ [RS5SS9 UR [ [RS6SS9 UR [ [RS7SS9 UR [ [RS8SS9 UR [ [RS9SS9 UR [ [RS:SS9 UR [ [RS;SS9 UR [ [RSSS9 UR [ S=[RS?SS9 UR [ S=[RS@SS9 UR [ S$[RSSS9 UR [ [RS%SS9 UR [ S$[RSASS9 UR [ [RSBSS9 g)CNzM%(levelname)-15s - %(message) 5s - %(process)03d - %(module) - %(asctime)*.3sz1%(asctime)*s - %(asctime)*.3s - %(process)-34.33oz%(process)#+027.23Xz %(foo)#.*gz5$%{message}%$ - {asctime!a:15} - {customfield['key']}rrz{process:.2f} - {custom.f:.4f}z{customfield!s:#<30}z {message!r}z {message!s}z {message!a}z{process!r:4.2}z8{process!s:<#30,.12f}- {custom:=+#30,.1d} - {module:^30}z{process!s:{w},.{p}}z {foo:12.{p}}z {foo:{w}.6}z{foo[0].bar[1].baz}z{foo[k1].bar[k2].baz}z{12[k1].bar[k2].baz}z${asctime} - $messagerz$bar $$z $bar $$$$z %(asctime)Zz %(asctime)bz %(asctime)*z %(asctime)*3sz %(asctime)_r r z %(foo)#12.3*fz %(foo)0*.8*fz;invalid format: invalid field name/expression: 'name-thing'z {name-thing}zinvalid format: no fieldsrzinvalid conversion: 'Z'z{asctime!s:#30,15f}z7invalid format: expected ':' after conversion specifierz{asctime!aa:15}z%invalid format: bad specifier: '.2ff'z{process:.2ff}z {process:.2Z}z{process!s:<##30,12g}z{process!s:<#30#,12g}z{process!s:{{w}},{{p}}}z1invalid format: expected '}' before end of stringz{processz7invalid format: Single '}' encountered in format stringzprocess}z {{foo!r:4.2}z {{foo!r:4.2}}z {foo/bar}z{foo:{{w}}.{{p}}}}z{foo!X:{{w}}.{{p}}}z{foo!a:random}z{foo!a:ran{dom}z{foo!a:ran{d}om}z {foo.!a:d}z$invalid format: bare '$' not allowedz$bar $$$zbar $zfoo $.rz ${asctime)r r=r^_fmtr]rrrFrs rJtest_format_validate"FormatterTest.test_format_validate0s   m n !pq   Q R !TU   3 4 !67   l + .   U]` a !XY   >c J !AB   4C @ !78   m3 7 /   m3 7 /   m3 7 /   /s ; !23   X`c d ![\   4C @ !78   nC 8 0   m3 7 /   33 ? !67   5S A !89   4C @ !78   5S A !89   is 3 +   k 5 - *g&7&7G *g&7&7G *g&7&7G *g&7&7I *g&7&7G *g&7&7E *g&7&7F *g&7&7I *g&7&7H !!  I   ~S " !!  '   }C " !!  %  *g&7&79NVYZ !!  E   0 " !!  3   /s " *g&7&7PST *g&7&79PX[\ *g&7&79PX[\ *g&7&79RZ]^ !!  ?   z " !!  E   z " *g&7&7sS *g&7&7PST *g&7&7CP *g&7&79MUXY *g&7&79NVYZ *g&7&79IQTU *g&7&79JRUV *g&7&79KSVW *g&7&7SQ !!  4   z " !!  4   wc " !!  4   xs " !!  '   {# " *g&7&7cR !!  '   uC " *g&7&7CProcP/SQn/SQn[X5GHup4[R"X4SS0S9nUR5nUR UR U5S5 URS5nUR UR U5S5 [R"X4S9nUR5nUR [UR U5 [R"X4S S0S9nURS5nUR UR U5S5 GM g) N)z%(custom)s %(message)sz{custom} {message}z$custom $message)%rrrDefault)rrpz#Default Message with 2 placeholdersz 1234 Message with 2 placeholdersrz Non-existing)r`r r=rr^r[r]r)rFfmtsstylesrZrrrs rJtest_defaults_parameter%FormatterTest.test_defaults_parametersS d+JC!!#h =RSA!A   QXXa[*O P)A   QXXa[*L M!!#3A!A   j!((A 6!!#ni=XYA)A   QXXa[*L M,rocRUR[[RSSS5 g)Nr)r]rr r=rss rJtest_invalid_style FormatterTest.test_invalid_styles *g&7&7tSIroc UR5n[R"SSSSSSS[5n[R"UR S5R 55UlSUl[R"S5n[RUl URURU5S 5 URURUS 5S 5 URU5 URUR S 5 g) Nrror{%(asctime)s %(message)sz1993-04-21 08:03:00,123z%Y:%dz1993:21)rdatetimeutcrmktime astimezone timetuplecreatedmsecsr r=gmtime converterr^ formatTimer[asctime)rFrrrs rJ test_timeFormatterTest.test_times OO    tQAq!Q <KK d 3 = = ?@    7 8kk  a*CD a19=   $=>roc "SS[R5nUR5n[R"SSSSSSS [5n[ R "URS5R55Ul U"5n[ RUl URURU5S 5 g) Nc\rSrSrSrSrSrg)DFormatterTest.test_default_msec_format_none..NoMsecFormatteriNz%d/%m/%Y %H:%M:%Sr|)rwrxryrzdefault_msec_formatdefault_time_formatr{r|rorJNoMsecFormatterr4s"& "5 ror7r rr!r"rorr#z21/04/1993 08:03:00)r r=rr%r&rr'r(r)r*r,r-r^r.)rFr7rrrs rJtest_default_msec_format_none+FormatterTest.test_default_msec_format_nones 6g// 6 OO    tQAq!S# >KK d 3 = = ?@  kk  a*?@roc[R"SSSS9n[S5HZn[R"S5 [R "SSUS --05nUR U5nURS U5 M\ g) Nz!{asctime}.{msecs:03.0f} {message}rr)rZrrli g-C6:?rz Message %drqz.1000)r r=rrrrr[rx)rFrrrrls rJtest_issue_89047FormatterTest.test_issue_89047sm   "ESZm ntA JJv %%ula!e.D&EFA A   Wa ( rocSnUHup#[S5nX$l[R"SS05nSSS5 UR U5 UR WR U5 UR URUS- 5 URUR[UR5- UR S- SS9 SSS5 M g!,(df  N=f!,(df  M=f) N))l$lH:gY@)l'$TrH:g8@)g]rH:)l)TrH:r?z time.time_nsrrEeAg@@r)delta) r return_valuer rrr^r+r*assertAlmostEqualr)rFtestsnswant patched_nsrs rJ/test_msecs_has_no_floating_point_precision_loss=FormatterTest.test_msecs_has_no_floating_point_precision_losss HB~&**,' ..v?'b!  t4  c:&&v~~FNN8K'K'-||c'9-1'3"! &&"!sC A:C% C" % C4 cSnSn[R"SU<SU<S35n[SU5upEnUR5n[ X%R 5SS9HfupxUR US 9 [[UR55upURXU-S - S S 9 URXS - SS 9 SSS5 Mh g!,(df  Mz=f)Nr>)rriB0il*C7qH:z start_ns = z offsets_ns = a start_monotonic_ns = start_ns - 1 import time # Only time.time_ns needs to be patched for the current # implementation, but patch also other functions to make # the test less implementation depending. old_time_ns = time.time_ns old_time = time.time old_monotonic_ns = time.monotonic_ns old_monotonic = time.monotonic time_ns_result = start_ns time.time_ns = lambda: time_ns_result time.time = lambda: time.time_ns()/1e9 time.monotonic_ns = lambda: time_ns_result - start_monotonic_ns time.monotonic = lambda: time.monotonic_ns()/1e9 try: import logging for offset_ns in offsets_ns: # mock for log record creation time_ns_result = start_ns + offset_ns record = logging.makeLogRecord({'msg': 'test'}) print(record.created, record.relativeCreated) finally: time.time_ns = old_time_ns time.time = old_time time.monotonic_ns = old_monotonic_ns time.monotonic = old_monotonic -cT)r3) offset_nsr@)places.A) rrrrr`r]rrfloatrrC) rFstart_ns offsets_nscodercouterrrLliner*relativeCreateds rJ)test_relativeCreated_has_higher_precision7FormatterTest.test_relativeCreated_has_higher_precisions-J $ |$$(   @(d3 jjl":~~/?MOI 2+.udjjl+C(&&wI1E0LUV&W&&CPQ&R 32 N22s /A C C )rrr)rwrxryrzrKrrr rrrrr0r8r;rHrZr{r|rorJrrsJ "- && &*TQlN(J ? A)3*0Srorc \rSrSrSrSrSrg)TestBufferingFormatteriGcS[U5-$)Nz[(%d)r_rFr.s rJ formatHeader#TestBufferingFormatter.formatHeaderHW%%rocS[U5-$)Nz(%d)]r_r`s rJ formatFooter#TestBufferingFormatter.formatFooterKrcror|N)rwrxryrzrarer{r|rorJr]r]Gs &&ror]c&\rSrSrSrSrSrSrg)BufferingFormatterTestiNcn[R"SS05[R"SS05/Ulg)Nrrr)r rr.rss rJrKBufferingFormatterTest.setUpOs/  ! !5%. 1  ! !5%. 1  roc[R"5nURSUR/55 URSURUR55 g)Nronetwo)r BufferingFormatterr^r[r.rs rJ test_default#BufferingFormatterTest.test_defaultUsE  & & ( QXXb\* 188DLL#9:roc[5nURSURUR55 [R "S5n[U5nURSURUR55 g)Nz[(2)onetwo(2)]z <%(message)s>z[(2)(2)])r]r^r[r.r r=)rFrlfs rJ test_custom"BufferingFormatterTest.test_customZs` " $ )188DLL+AB    / "2 & -qxx /EFror0N)rwrxryrzrKrnrrr{r|rorJrhrhNs ; Grorhc\rSrSrSrSrg) ExceptionTestiacRURn[5nURU5 [S5e! [R "SSS9 O=fUR U5 UR5 URSnURURRS55 URURRS55 URURRS55 URURRS 55 g) NrfailedTrrz#Traceback (most recent call last): z! RuntimeError: deliberate mistakeStack (most recent call last): z,logging.exception('failed', stack_info=True))r3RecordingHandlerrDrr rrOrNr.rEexc_textrNrr)rFrrUs rJrExceptionTest.test_formattingbs      Q 934 4 9   h4 8   IIaL  --/>? @  ++-AB C  //1>? @  --/?@ As 4A r|N)rwrxryrzrr{r|rorJruruasAroruc\rSrSrSrSrg)LastResortTestiwcURnURUR5 [Rn[R n[ R"5nURS5 URUR5S5 URS5 URUR5S5 SSS5 S[l[ R"5nURS5 SnURUR5U5 SSS5 [ R"5nURS5 URUR5S5 SSS5 SURl S[l[ R"5nURS5 URUR5S5 SSS5 URUR5 U[lU[lg!,(df  GNW=f!,(df  GN =f!,(df  N=f!,(df  Nu=f!URUR5 U[lU[lf=f)NzThis should not appearrz Final chance!zFinal chance! z-No handlers could be found for logger "root" F)r3rOr<r lastResortrrrrr^r\rr"emittedNoHandlerWarningrD)rFrAold_lastresortold_raise_exceptionsrrs rJtest_last_resortLastResortTest.test_last_resortxs 4>>* ++&66 ;((*f 34  !2B7 _-  !24EF +"&G ((*f _-F  !2C8+ ((*f _-  !2B7+ 49DLL 0&+G #((*f _-  !2B7+ OODNN +!/G &:G #7+*+* +*+* OODNN +!/G &:G #sm IA#H(I)4H#I:2H5,9I%2II H I# H2-I5 I?I II3J r|N)rwrxryrzrr{r|rorJr}r}ws#;ror}c \rSrSrSrSrSrg) FakeHandleric NSHn[XURXU55 M! g)N)rr rNr)setattr record_call)rF identifiercalledrs rJrFakeHandler.__init__s#>F D$"2"2:v"N O?roc^^^UUU4SjnU$)NcH>TRSRTT55 g)Nz{} - {})rr[)rr method_namesrJinner&FakeHandler.record_call..inners MM)**:{C Dror|)rFrrrrs ``` rJrFakeHandler.record_calls E ror|N)rwrxryrzrrr{r|rorJrrs Prorc.^\rSrSrU4SjrSrSrU=r$)ryic<>[[U] "U0UD6 /Ulgr)rryrr.rs rJrRecordingHandler.__init__s .?? roc:URRU5 gr)r.rrs rJrxRecordingHandler.handles F#ror0)rwrxryrzrrxr{rrs@rJryrys$$roryc^\rSrSrU4SjrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrU=r$) ShutdownTestic>[[U] 5 /Ul[R nUR [[SU5 g)Nr)rrrKrr rrr)rFraise_exceptionsrs rJrKShutdownTest.setUps7 lD') "22 *;=MNroc^U4SjnU$)Nc>T"5err|)rsrJr'ShutdownTest.raise_error..inners 'Mror|)rFrrs ` rJ raise_errorShutdownTest.raise_errors   rocL[SUR5n[SUR5n[SUR5n[[RR XU/5n[R "[U5S9 /SQnURXPR5 g)Nrrqrr) z 2 - acquirez 2 - flushz 2 - closez 2 - releasez 1 - acquirez 1 - flushz 1 - closez 1 - releasez 0 - acquirez 0 - flushz 0 - close 0 - release) rrrr rrrDrr^)rFhandler0handler1handler2rBrjs rJtest_no_failureShutdownTest.test_no_failures}q$++.q$++.q$++.w**X,JKT(^4L ;;/roc[SUR5n[X1URU55 [R R U5/n[R"[U5S9 URSURS5 g)Nrrrrl) rrrrr rrrDrr^)rFrrrrBs rJ_test_with_failure_in_method)ShutdownTest._test_with_failure_in_methodsha-!1!1%!89OO''01T(^4  B8roc0URS[5 gNrrrrss rJtest_with_ioerror_in_acquire)ShutdownTest.test_with_ioerror_in_acquires )))W=roc0URS[5 gNr rrss rJtest_with_ioerror_in_flush'ShutdownTest.test_with_ioerror_in_flush ))'7;roc0URS[5 gNrNrrss rJtest_with_ioerror_in_close'ShutdownTest.test_with_ioerror_in_closerroc0URS[5 grrrrss rJtest_with_valueerror_in_acquire,ShutdownTest.test_with_valueerror_in_acquires )))Z@roc0URS[5 grrrss rJtest_with_valueerror_in_flush*ShutdownTest.test_with_valueerror_in_flush ))':>roc0URS[5 grrrss rJtest_with_valueerror_in_close*ShutdownTest.test_with_valueerror_in_closerrocFS[lURS[5 g)NFrr rr IndexErrorrss rJ.test_with_other_error_in_acquire_without_raise;ShutdownTest.test_with_other_error_in_acquire_without_raises"' )))Z@rocFS[lURS[5 g)NFr rrss rJ,test_with_other_error_in_flush_without_raise9ShutdownTest.test_with_other_error_in_flush_without_raise"' ))':>rocFS[lURS[5 g)NFrNrrss rJ,test_with_other_error_in_close_without_raise9ShutdownTest.test_with_other_error_in_close_without_raiserrocfS[lUR[URS[5 g)NTrr rr]rrrss rJ+test_with_other_error_in_acquire_with_raise8ShutdownTest.test_with_other_error_in_acquire_with_raises'"& *d&G&G#Z 1rocfS[lUR[URS[5 g)NTr rrss rJ)test_with_other_error_in_flush_with_raise6ShutdownTest.test_with_other_error_in_flush_with_raise'"& *d&G&G!: /rocfS[lUR[URS[5 g)NTrNrrss rJ)test_with_other_error_in_close_with_raise6ShutdownTest.test_with_other_error_in_close_with_raiserro)r)rwrxryrzrKrrrrrrrrrrrrrrrr{rrs@rJrrs[O 0 9><<A??A??1 / //rorcl\rSrSrSrSSjrSrSrSrSr S r S r S r S r S rSrSrSrSrg)ModuleLevelMiscTesti c[RRRnUR US5 UR [RU5 [R"S5 UR [RRRS5 UR [[RS5 "SS5nUR [[RU"55 [R"S5 [R"5 UR [RRR[R5 g)NrS doesnotexistsc\rSrSrSrg);ModuleLevelMiscTest.test_disable.._NotAnIntOrStringir|Nrar|rorJ_NotAnIntOrStringr rorWARN) r rAr"rRr^rr]rr[r)rF old_disablers rJ test_disable ModuleLevelMiscTest.test_disablesll**22  a( 5 --55r: *gooG   )W__6G6IJ  --55w7G7GHroNc<^/m[R"U[SU4Sj5 [5n[RR U5 [ [U5nUb U"USU5 O U"SU5 UR[UR5S5 URSnURUR5SU-5 UbUO[ [UR55nURURU5 URT/5 g)N basicConfigc(>TRX45$rrS)rkwrs rJ/ModuleLevelMiscTest._test_log..*sv}}aW'=roz test me: %rrqr) rrr ryrArDr0r^r_r. getMessageupperr)rFrr recording log_methodrexpected_levelrs @rJ _test_logModuleLevelMiscTest._test_log's dG]= ?%&   *Wf-   umY 7 }i 0 Y../3""1% **,mi.GH"'"3&,,.9Y 8 $rocDURS[R5 gNr)rr rrss rJtest_logModuleLevelMiscTest.test_log?s ugmm,roc&URS5 gNrrrss rJ test_debugModuleLevelMiscTest.test_debugB wroc&URS5 gNrrrss rJ test_infoModuleLevelMiscTest.test_infoE vroc&URS5 gNrrrss rJ test_warning ModuleLevelMiscTest.test_warningH y!roc&URS5 gNrrrss rJ test_errorModuleLevelMiscTest.test_errorKrroc&URS5 gNr5rrss rJ test_critical!ModuleLevelMiscTest.test_criticalN z"rocUR[[R[5 "SS[R 5n[R"U5 UR [R"5U5 [R"[R 5 UR [R"5[R 5 g)Nc\rSrSrSrg);ModuleLevelMiscTest.test_set_logger_class..MyLoggeriTr|Nrar|rorJrYrTrrorY)r]r[r r\rprZr^getLoggerClass)rFrYs rJtest_set_logger_class)ModuleLevelMiscTest.test_set_logger_classQs )W%;%;VD w~~  x( //18<w~~. //17>>Broc^/m"U4SjS[R"55n[R"U5 [R"S5nUR TS/5 [ R "5n[R"U5nURU5 UR[R5 URS5 UR UR5R5S5 URS5 URS5 UR[R 5 URS5 UR UR5S5 UR#U5 UR%5 [R"[R&5 g!UR#U5 UR%5 [R"[R&5 f=f)NcH>^\rSrSrS\R 4UU4SjjrSrU=r$)@ModuleLevelMiscTest.test_subclass_logger_cache..MyLoggeriarYcF>[TU]X5 TRS5 g)N initialized)rrr)rFrHrrr7s rJrIModuleLevelMiscTest.test_subclass_logger_cache..MyLogger.__init__bs -}-ror|) rwrxryrzr rrr{r)rr7s@rJrYras$.gnn . .rorYjust_some_loggerrhellorr)r rr\r!r^r6r7r;rDr9r:rr\rqtruncater!rrOrNrZ)rFrYrr8rUr7s @rJtest_subclass_logger_cache.ModuleLevelMiscTest.test_subclass_logger_cache]sZ .w--/ . x(""#56 =/2  ! !& )! 3 OOGMM * LL !   V__.446 @ OOA  KKN OOGLL ) LL !   V__. 3   # GGI  " "7>> 2   # GGI  " "7>> 2s!CF77AG>c[R"S5n[SU5up#nUR5nUR SU5 UR SU5 g)Na* import logging class A: def __del__(self): try: raise ValueError("some error") except Exception: logging.exception("exception in __del__") a = A() rKzexception in __del__zValueError: some error)rrrrrrFrTrUrVrWs rJtest_logging_at_shutdown,ModuleLevelMiscTest.test_logging_at_shutdown|sP  (d3 jjl ,c2 .4rocV[RnUR[RU5 [R "SU<S35n[ SU5 [USS9nURUR5R5S5 SSS5 g!,(df  g=f)Na import builtins import logging class A: def __del__(self): logging.error("log in __del__") # basicConfig() opens the file, but logging.shutdown() closes # it at Python exit. When A.__del__() is called, # FileHandler._open() must be called again to re-open the file. logging.basicConfig(filename=z, encoding="utf-8") a = A() # Simulate the Python finalization which removes the builtin # open() function. del builtins.open rKrhrzERROR:root:log in __del__) rTESTFNrrtrrrrr^rer-)rFrrTfps rJtest_logging_at_shutdown_open1ModuleLevelMiscTest.test_logging_at_shutdown_opens##  (((3 $*+36   & t$ (W -   RWWY--/1L M. - -s "/B B(c[R"S5n[SU5up#nUR5nUR SU5 UR US5 g)Nz import logging def rec(): logging.error("foo") rec() rec() rKz#Cannot recover from stack overflow.rq)rrrrrxr^r%s rJtest_recursion_error(ModuleLevelMiscTest.test_recursion_errorsS  -T48 jjl >D Qroc[R"5nUR[RU5 UR [RU5 [R"5nUR X5 URX5 gr)r getLevelNamesMappingr^r+ assertIsNot)rFmapping new_mappings rJtest_get_level_names_mapping0ModuleLevelMiscTest.test_get_level_names_mappingsf..0 --w7 --w7224  . .ror|r)rwrxryrzrrrrrrr rrr"r&r+r.r5r{r|rorJrr sKI.%0- " # C3>5&N> /rorc\rSrSrSrSr\S Sj5r\S5r Sr Sr \ R"5S 5r\ R"5S 5rS rg) LogRecordTestic[R"05n[U5nURUR S55 URUR S55 g)Nz )r rrrErNr)rFrrls rJ test_str_repLogRecordTest.test_str_repsD  ! !" % F  ^45  3(roc[5n[R"5nURU5 SS0n[R"SU5 UR UR SRU5 URUR SRS5 URU5 UR5 g)Nlessmorezless is %(less)srz less is more) ryr r!rDrrr.rRr^r7rOrN)rFrUrrs rJ test_dict_argLogRecordTest.test_dict_args       Q f *A. aiil''+ 1--~>   roNc[RnU[lSSKnUR5Rn[R "SSU305n[ R"[RSS5 [R "SSU305nSSS5 UURWRS.nU[lU(aURU5 gU$!,(df  NN=f!U[lf=f)Nrrmsg1_rmsg2_) processNamer1.processNamer2.processName) r logMultiprocessingrcurrent_processrHrr swap_itemrrmodulesrEr+) rrHrprev_logMultiprocessingrrHr1r2resultss rJ_extract_logrecord_process_name-LogRecordTest._extract_logrecord_process_names")"<"<%7" A (%%',,D&&se}'=>B""3;;0A4H**EU3%=+ABI)-)+)+G *AG &  IIg NIH*AG &s$AC1<C "C1 C.*C11 C>c&[R"5 S[R;nUR [ R S5 Sn[ R"05nUR URS5 URSU5nUR SUS5 UR SUS5 UR SUS5 SSK nUR"5upgUR"URS X'4S 9nUR5 UR5nURSUS5 UR USUS5 UR SUS5 UR!5 U(aSSK ngg!U(aSSK nff=f) NrT MainProcessrqrErFrGrrr)rrrrrKr^r rHrrErPrPipeProcessrrassertNotEqualr) rFmultiprocessing_importedLOG_MULTI_PROCESSINGrrOr parent_conn child_connrs rJtest_multiprocessing"LogRecordTest.test_multiprocessingsr::<#4 #C  '   W77 >#' %%b)A   Q]]M :::1>RSG   ]GM,B C   ]G4D,E F   ]G4D,E F #&5&:&:&< #K'';;-;A GGI!&&(G    w}/E F   W]3W=M5N O   ]G4D,E F FFH(&('&(s E FFcURnURn[R"05nU"UR5 U"UR 5 U"UR 5 U"UR5 U"UR5 [Rn[Rn[Rn[RnS[l S[l S[l S[l [R"05nU"UR5 U"UR 5 U"UR 5 U"UR5 U"UR5 U[l U[l U[l U[l g!U[l U[l U[l U[l f=f)NF) r rr rr threadNameprocessrEtaskName logThreads logProcessesrHlogAsyncioTasks)rFNONENOT_NONEr log_threads log_processeslog_multiprocessinglog_asyncio_taskss rJ test_optionalLogRecordTest.test_optionalsE  ''  ! !" % QZZ(( ,, %88#33 8!&G #(G ).G &&+G #%%b)A N   O    !,G #0G )->s{{IW[-\*.' ;t'8'89:*/' ;t'8'89: .]!  ) )$ / .]-\!!  ) )$ /s;!C,'C AC #C+C, C C C)%C,,Dr|r)rwrxryrzr;r@rLrPrr[rjrnrrHrxr{r{r|rorJr8r8sz) 0#'#'J8@ $$& 0' 0 $$& 0' 0ror8c^\rSrSrU4SjrU4SjrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSr\R2"5S5rSSjrSrSrSrSrSr Sr!Sr"U=r#$) BasicConfigTestiUc|>[[U] 5 [RR Ul[R R5Ul[RSSUl [RRUl URUR5 /[Rlgr)rr~rKr rArBr%r&r'r(r)rr5rcleanuprs rJrKBasicConfigTest.setUpYsy ot*, -- %//446")"6"6q"9&-ll&8&8#  % " roc>[RRSSH2n[RRU5 UR 5 M4 [ [ U]5 gr)r rArBrOrNrr~rV)rFrUrs rJrVBasicConfigTest.tearDownbsF&&q)A LL & &q ) GGI* ot-/roch[[RSUR5 [RR 5 [RR UR5 UR[RSS&[RRUR5 g)NrB) rr rArBr%rPrQr'r)r(r9r5rss rJrBasicConfigTest.cleanuphsp j$--8!  !4!45"&"9"9Q d99:roc[R"5 UR[[RR 5S5 [RR SnUR U[R5 URUR[R5 URnURURR[R5 URUR 5 UR UR[R"5 UR[RR$UR&5 g)Nrqr)r rr^r_rArBrQr;r8rrrrJrNr BASIC_FORMATr rl PercentStylerr5)rFrrJs rJtest_no_kwargsBasicConfigTest.test_no_kwargsos W\\223Q7,,''* gw'<'<= 4%%  ))..0D0DE )++, i..0D0DE ++T-H-HIrocn[R"5n[R"[R SS9 [R "S5 [R RS5 URUR5R5S5 SSS5 g!,(df  g=f)Nrr8r Log an errorrERROR:root:Log an error rrr rrrr rr!r^r\rqrs rJtest_strformatstyle#BasicConfigTest.test_strformatstyleo  $ $ &&   szz = MM. ) JJOOA    V__.446) + ' & & BB&& B4cn[R"5n[R"[R SS9 [R "S5 [R RS5 URUR5R5S5 SSS5 g!,(df  g=f)Nrrrrrrrs rJtest_stringtemplatestyle(BasicConfigTest.test_stringtemplatestylerrcNSn[R"SSS9 UR[[RR 5S5 [RR SnUR U[R5 [R"SSSS9nURURRURR5 URURRURR5 URXUS5 g) NcpUR5 UR5 [R"U5 grrrh2rUs rJr.BasicConfigTest.test_filename..cleanup HHJ HHJ IIbMrotest.logrh)rrjrqrrr) r rr^r_rArBrQrr8moderHrrFrrrjs rJ test_filenameBasicConfigTest.test_filenames  Z'B W\\223Q7,,''* gw':':;&&z3I ,,hoo.B.BC ,,hoo.B.BC (J?roc6Sn[R"SSS9 [RRSn[R"SS5nUR UR RUR R5 URXUS5 g)NcpUR5 UR5 [R"U5 grrrs rJr.BasicConfigTest.test_filemode..cleanuprrorwbrfilemoder) r rrArBrr^r8rrrs rJ test_filemodeBasicConfigTest.test_filemodess  Z$?,,''*&&z48 ,,hoo.B.BC (J?roc[R"5nURUR5 [R "US9 UR [[RR5S5 [RRSnURU[R5 UR URU5 g)Nrrqr) r6r7rrNr rr^r_rArBrQr;r8)rFr8rs rJ test_streamBasicConfigTest.test_streams  %6* W\\223Q7,,''* gw'<'<= 0roc[R"SS9 [RRSRnUR UR RS5 g)Nz%(asctime)s - %(message)s)r[r)r rrArBrJr^rNrrFrJs rJ test_formatBasicConfigTest.test_formatsH#>?LL))!,66  ))..0KLroc[R"SS9 [RRSRnUR UR S5 g)Nr)rlr)r rrArBrJr^rlrs rJ test_datefmtBasicConfigTest.test_datefmts@E*LL))!,66  **E2roc[R"SS9 [RRSRnUR UR [R5 g)Nrrr)r rrArBrJrQrNrOrs rJ test_styleBasicConfigTest.test_stylesF#&LL))!,66  i..0K0KLroc[RRnUR[RRU5 [R "SS9 UR [RRS5 [R "SS9 UR [RRS5 g)N9)r:)r rArrr9rr^)rF old_levels rJ test_levelBasicConfigTest.test_levelsyLL&&   --y9"% ++R0"% ++R0rocURn[R"5/n[RnU"[ [R SUS9 U"[ [R SUS9 U"[ [R UUS9 U"[ [R [RS9 [R "SSS9 g)Nr)rr8)rrB)r8rB)loglevelrr)r]r r;rrrrrr)rFr]rBr8s rJtest_incompatible!BasicConfigTest.test_incompatibles(( ))+,Z!4!4z=C EZ!4!4z?G IZ!4!4V?G I Z!4!4w||LTC8rocF[R"5[R"[R5[R"5/n[R"5nUSR U5 [R "US9 URUS[RRS5 URUS[RRS5 URUS[RRS5 URUSR5 URUSR5 URUSRU5 URUSRUSR5 g)Nr)rBrrq) r r;rrr r=r@rrrArBrrJ)rFrBrs rJ test_handlersBasicConfigTest.test_handlerss0  ! ! #  ! !#** -  ! ! #        #X. hqk7<<#8#8#;< hqk7<<#8#8#;< hqk7<<#8#8#;< Xa[223 Xa[223 hqk++Q/ hqk++Xa[-B-BCroc[R"5n[R"5n[R"U5/n[R"U5/n[R"[R US9 [R "S5 [R"S5 [R"S5 UR[[RR5S5 [R"[RUSS9 [R "S5 [R"S5 [R"S5 UR[[RR5S5 URUR5R5S5 URUR5R5S 5 g) NrrJrrrqT)rrBforcezWARNING:root:warnz WARNING:root:warn INFO:root:info)r6r7r r;rrrrrr^r_rArBrr\rq)rF old_string_io new_string_io old_handlers new_handlerss rJ test_forceBasicConfigTest.test_forces;  --m<= --m<= '//LI V g W\\223Q7',,"& ( V g W\\223Q7 //1779, . //1779< >rocSn[R"SUSS[RS9 UR[ [R R 5S5 [R R SnURU[R5 URURU5 [R"S5 UR5 [SSS 9nUR5R5nSSS5 [R "S5 URWS5 g!,(df  N7=f!WR5 [SSS 9nUR5R5nSSS5 O!,(df  O=f[R "S5 URWS5 f=f) Nrhrr3 %(message)srrjerrorsr[rrqr.The Øresund Bridge joins Copenhagen to Malmörr rr:r^r_rArBrQrrjrrNrrerqrQrrFrjrrrs rJ test_encodingBasicConfigTest.test_encodingsE OH   h'/'4GMM K   S!6!67 ;ll++A.G  ! !'7+>+> ?   W--x 8 MMJ K MMOj73qvvx~~'4 IIj !   TM O43 MMOj73qvvx~~'433 IIj !   TM O0C E&D66 EG"F  G F 0GcSn[R"SUSS[RS9 UR[ [R R 5S5 [R R SnURU[R5 URURU5 [R"S5 UR5 [SS S 9nUR5R5nSSS5 [R "S5 URWS 5 g!,(df  N7=f!WR5 [SS S 9nUR5R5nSSS5 O!,(df  O=f[R "S5 URWS 5 f=f) Nrkrignorerrrqrrrhrz*The resund Bridge joins Copenhagen to Malmrrs rJtest_encoding_errors$BasicConfigTest.test_encoding_errors"s? QH   h'/'4GMM K   S!6!67 ;ll++A.G  ! !'7+>+> ?   W--x 8 MMJ K MMOj73qvvx~~'4 IIj !   T#O P43 MMOj73qvvx~~'433 IIj !   T#O PrcSn[R"SUS[RS9 UR[ [R R 5S5 [R R SnURU[R5 URURU5 URURS5 [R"S5 UR5 [SS S 9nUR5R5nSSS5 [ R""S5 URWS 5 g!,(df  N7=f!WR5 [SS S 9nUR5R5nSSS5 O!,(df  O=f[ R""S5 URWS 5 f=f) Nrkrr)rrjr[rrqrbackslashreplaceu<😂: ☃️: The Øresund Bridge joins Copenhagen to MalmörhrzL\U0001f602: \u2603\ufe0f: The \xd8resund Bridge joins Copenhagen to Malm\xf6)r rr:r^r_rArBrQrrjrrrNrrerqrQrrs rJtest_encoding_errors_default,BasicConfigTest.test_encoding_errors_default5s] KH   h'4GMM K   S!6!67 ;ll++A.G  ! !'7+>+> ?   W--x 8   W^^-? @ MMX Y MMOj73qvvx~~'4 IIj !   T$J K43 MMOj73qvvx~~'433 IIj !   T$J Ks0C%E"E E"G=F% G% F3 /0Gc.^Sn[R"SUSS[RS9 UR[ [R R 5S5 [R R SnURU[R5 URURU5 URUR5 /mU4SjnX2l [R"S5 URT5 URS TS5 UR!5 [#SS S 9nUR%5R'5nSSS5 [(R*"S5 URWS 5 g!,(df  N7=f!WR!5 [#SS S 9nUR%5R'5nSSS5 O!,(df  O=f[(R*"S5 URWS 5 f=f) Nrkrrrrqrc`>TR[[R"555 gr)rrrrr)rr7s rJdummy_handle_errorEBasicConfigTest.test_encoding_errors_none..dummy_handle_errorYss3==?34rorz:'ascii' codec can't encode character '\xd8' in position 4:rhrr)r rr:r^r_rArBrQrrjr rrrrErrNrrerqrQr)rFrjrrrrr7s @rJtest_encoding_errors_none)BasicConfigTest.test_encoding_errors_noneIs (H   h'+'4GMM K   S!6!67 ;ll++A.G  ! !'7+>+> ?   W--x 8   gnn -G 5#5  MMJ K OOG $ MM=>Eaj J MMOj73qvvx~~'4 IIj !   T3 ' 43 MMOj73qvvx~~'433 IIj !   T3 's0DF6F FH2G H G( $0HcSnSn[SS5nUR[RU5 Sn[R "USU[R SS9 UR[[RR5S5 [RRS nURU[R5 [R"S S 9nS [lUR!U"55 SSS5 [#USS 9nUR%5R'5nSSS5 UR)WS 5 [R*"S5 U(aUR-5 gg!,(df  N=f!,(df  N`=f![R*"S5 U(aUR-5 ff=f)Nc8# [R"S5 g7f)Nz hello world)r rr|rorJr5BasicConfigTest.test_log_taskName..log_recordks OOM *srztest-logging-taskname-rhr3z%(taskName)s - %(message)s)rrrjrr[rqrTr)rzTask-\d+ - hello world)rVrrQrr rrr^r_rArBrQrrqrrrcrsrrerq assertRegexrtrN)rFrr log_filenamerjrwrrs rJtest_log_taskName!BasicConfigTest.test_log_taskNameisS +%f.FG   <0 H   h)1'C E   S!6!67 ;ll++A.G  ! !'7+>+> ?d+v*.' :<(,lW5vvx~~'6   T#< =  ) )$ / ,+65  ) )$ / s<B,F"E;FF 2F; F F FF0G c^^^/m[RmUUU4Sjn[R"T[SU5 [ [U5nUb U"US5 OU"S5 TR TS04/5 g)Nc>T"5 [RRn[RRS5 TR [RRU5 TR X45 g)Nd)r rArr9rr)rrrrold_basic_configrFs rJmy_basic_config2BasicConfigTest._test_log..my_basic_configsP   **I LL ! !# & OOGLL119 = MM1' "rorztest mer|)r rrrr0r^)rFrrrrrrs` @@rJrBasicConfigTest._test_logsi".. #  dG]ODWf-   ui ( y ! 2r(,rocDURS[R5 gr)rr rrss rJrBasicConfigTest.test_logs ugoo.roc&URS5 grrrss rJrBasicConfigTest.test_debugrroc&URS5 grrrss rJrBasicConfigTest.test_inforroc&URS5 grrrss rJrBasicConfigTest.test_warningr roc&URS5 gr rrss rJr BasicConfigTest.test_errorrroc&URS5 grrrss rJrBasicConfigTest.test_criticalrro)rBr5r)r'r)$rwrxryrzrKrVrrrrrrrrrrrrrrrrrrrrHrrrrrrr rr{rrs@rJr~r~Us#0 ;J(++@$ @1M 3 M 1 9D">*O(Q&K((@ $$& ' :-./ " ##ror~cv^\rSrSrU4SjrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrU=r$)LoggerAdapterTesticB>^[[U] 5 [RSSm[ 5Ul[RUlURRUR 5 URURRUR 5 URUR R5 U4SjnURU5 UR[R5 [R"URSS9Ulg)Nc,>T[RSS&gr)r r()old_handler_listsrJr(LoggerAdapterTest.setUp..cleanups&6G  #rorrU)rrrKr r(ryrrArrDrrOrNrDradapter)rFrr rs @rJrKLoggerAdapterTest.setUps ,."//2)+ll  t~~.  114>>B ,,- 7   ((),,DKKtL rocdSnSnSS- UR [ URR 5S5 URR SnUR UR[R5 UR URU5 UR URUR45 UR URURX"R45 g![a2nUnURRXR5 SnAGNSnAff=fNztesting exception: %rrqr)rr rrr^r_r.rr rrrRrTr __traceback__rFrrrers rJtest_exception LoggerAdapterTest.test_exceptions% 8 E T^^334a8''* 7 S) t~~&78 --.?.?@ B! 8C LL " "3 7 7 8C33 D/='D**D/cjSS- URRSWS9 UR[ UR R 5S5 UR R SnURURURX"R45 g![a nUnSnANSnAff=f)Nrqrz exc_info testr) rr rr^r_rr.rTrr )rFrerrs rJtest_exception_excinfo(LoggerAdapterTest.test_exception_excinfos  E = T^^334a8''* --.?.?@ B! C sB B2&B--B2cSnURRXR5 UR[ URR 5S5 URR SnURUR [R5 URURU5 URURUR45 URURS5 g)Nzcritical test! %rrqrr) r r5rr^r_r.rr rrrRr)rFrrs rJrLoggerAdapterTest.test_criticals! c>>2 T^^334a8''* )9)9: S) t~~&78 /:rocbURRRRnSURRRlUR [ URRRSU5 UR URRS55 g)N!rRru)r rr"rRrrry isEnabledForrFrs rJtest_is_enabled_for%LoggerAdapterTest.test_is_enabled_forswll))1199 .0 ##+ !4!4!G,,c>>B T^^334a8''* )9)9: '>se%DE t~~&78 -8&..  goo|4 dkk))<8x  3&2 # MM/11< @ MM'//< 8 MM$++--| <&2 # o--|< goo|4 dkk))<8'3 #s #A$I,,I4cURRn[UR5nUR SS5 UR [ USR5S5 UR USRS5 UR[RSS5 UR [ USR5S5 UR USRS5 g)N Hello, {}!worldrlz Hello, world!test_styled_adapter Goodbye {}.zGoodbye world.) rr. StyleAdapterrrr^rrrrr r)rFr.r s rJr' %LoggerAdapterTest.test_styled_adapters..((t{{+ g. WR[__-? --/DE GOO]G< WR[__-/?@ --/DErocURRn[UR5nSUl[ U5nUR SS5 UR[USR5S5 URUSRS5 UR[RSS5 UR[USR5S5 URUSRS5 g) Nz{}r% r& rlz{} Hello, world!test_nested_styled_adapterr( z{} Goodbye world.)rr.r rrr) rr^rrrrr r)rFr.r adapter2s rJr, ,LoggerAdapterTest.test_nested_styled_adapter#s..(( ,(w/ WR[__-/AB --/KL W__mW= WR[__-/BC --/KLroc^^^^SmURRmUU4SjmU4SjmU4SjnURRnU"5 UR USR S5 USR nTS- mU"5 UR USR S5 URUSR U5 USR nTS- mU"5 UR USR S5 URUSR U5 USR nTS- mU"5 UR USR S 5 URUSR U5 g) Nrqc>T"STS9 gNrE stacklevelr| the_leveltriggersrJ innermostELoggerAdapterTest.test_find_caller_with_stacklevel..innermost3 Fy 1roc>T"5 grr|r7 srJrALoggerAdapterTest.test_find_caller_with_stacklevel..inner6 Kroc>T"5 grr|rsrJouterALoggerAdapterTest.test_find_caller_with_stacklevel..outer9 Grorlr7 rr@ test_find_caller_with_stacklevel)r rrr.r^rrr)rFr@ r.rrr7 r5 r6 s @@@@rJrC 2LoggerAdapterTest.test_find_caller_with_stacklevel/sJ ,,&& 2  ..((  --{;##Q   --w7 72;--v6##Q   --w7 72;--v6##Q   --/QR 72;--v6roc[R"URSS0S9UlURR S5 UR [ URR5S5 URRSnUR[US55 UR URS5 g)Nrrr zfoo should be hererqr r rrr r5r^r_rr.rErrrs rJtest_extra_in_records'LoggerAdapterTest.test_extra_in_recordsOs,,DKK493<A  23 T^^334a8''* ./ S)rocURRSSS0S9 UR[URR 5S5 URR SnUR [US55 g)Nzfoo should NOT be herernoperUrqr)r r5r^r_rr.ryrrs rJ test_extra_not_merged_by_default2LoggerAdapterTest.test_extra_not_merged_by_defaultYsf 6ufoN T^^334a8''* /0roc[R"URSS0SS9UlURR SSS0S9 UR [ URR5S 5 URRS nUR[US55 UR[US55 UR URS5 UR URS5 g) NrrTrrU merge_extrazfoo and bar should be hererrrK rqr) r rrr r5r^r_rr.rErrrrs rJtest_extra_merged#LoggerAdapterTest.test_extra_merged_s,,DKK493<9=?  :5#,O T^^334a8''* ./ ./ S) S)roc[R"URSS0SS9UlURR SSS0S9 UR [ URR5S5 URRS nUR[US55 UR URS5 g) NrrTrO zfoo shall be minrrK rqrrF rs rJ)test_extra_merged_log_call_has_precedence;LoggerAdapterTest.test_extra_merged_log_call_has_precedencels,,DKK493<9=?  0 E T^^334a8''* ./ S)ro)r rr)rwrxryrzrKr r rr r r r' r, rC rG rL rQ rT r{rrs@rJrrsTM"B" B ;8598 F M7@*1 * * *rorc\rSrSrSrSrSrg)r ixAdapterc(URSU3U4$rr)rFrrSs rJr_PrefixAdapter.process{s++au%v--ror|N)rwrxryrzrr_r{r|rorJr r xs F.ror c \rSrSrSrSrSrg)MessageicXlX lgr)rZrR)rFrZrRs rJrMessage.__init__s  rocHURR"UR6$r)rZr[rRrss rJ__str__Message.__str__sxx **ro)rRrZN)rwrxryrzrr` r{r|rorJr\ r\ s +ror\ c"\rSrSrSS.SjrSrg)r) irqr2 cURU5(aBURX%5up%URR"U[ X$540UDSUS-0D6 gg)Nr3 rq)r r_rrr\ )rFrrr3 rRrSs rJrStyleAdapter.logsT   U # #,,s3KC KKOOE73#5 5 5'1!| 5 $ror|N)rwrxryrzrr{r|rorJr) r) s3455ror) c^\rSrSrU4SjrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrU=r$) LoggerTestic>[[U] 5 [5Ul[ R "SS9UlURRUR5 URURRUR5 URURR5 UR[ R5 g)NblahrH) rrf rKryrr rZrrDrrOrNrDrs rJrKLoggerTest.setUps j$%')+nn&1  t~~.  114>>B ,,- (()rocUR[SURRS5 UR[SURRS5 g)Nz,Level not an integer or a valid string: Nonez.Level not an integer or a valid string: (0, 0))rr)rr[rr9rss rJtest_set_invalid_level!LoggerTest.test_set_invalid_levelsJ !! E KK $ ( !! G KK & *rocdSnSnSS- UR [ URR 5S5 URR SnUR UR[R5 UR URU5 UR URUR45 UR URURX"R45 g![a2nUnURRXR5 SnAGNSnAff=fr )rrrrr^r_r.rr rrrRrTrr r s rJr LoggerTest.test_exceptions% 7 E T^^334a8''* 7 S) t~~&78 --.?.?@ B! 7C KK ! !#~~ 6 6 7r c[R"[SS5 UR[UR R SS5 SSS5 g!,(df  g=f)NrTr test message)r swap_attrr r]r[rrrss rJ!test_log_invalid_level_with_raise,LoggerTest.test_log_invalid_level_with_raises>   w(94 @   i$ OA @ @s -A A!c[R"[SS5 URR SS5 SSS5 g!,(df  g=f)NrFrrq )rrr r rrrss rJtest_log_invalid_level_no_raise*LoggerTest.test_log_invalid_level_no_raises4   w(95 A KKOOD. 1B A As A Ac^/m[R"U[RSU4Sj5 URR SS9 UR [T5S5 UR STS5 g)N print_stackcB>TRUR55$r)rr\)rrrs rJr=LoggerTest.test_find_caller_with_stack_info..sfmmDMMO&DroTrrqrxr)rrr tracebackr findCallerr^r_)rFrs @rJ test_find_caller_with_stack_info+LoggerTest.test_find_caller_with_stack_infosd dG--}D F $/ Va( ;VAYGroc^^^^SmURRmUU4SjmU4SjmU4SjnURRnU"5 UR USR S5 USR nTS- mU"5 UR USR S5 URUSR U5 USR nTS- mU"5 UR USR S5 URUSR U5 USR n[R"5nURUR5 [RmU"5 UR USR S5 URUR5 URRmTS- mU"5 UR USR S 5 URUSR U5 g) Nrqc>T"STS9 gr1 r|r4 srJr7 >LoggerTest.test_find_caller_with_stacklevel..innermostr9 roc>T"5 grr|r; srJr:LoggerTest.test_find_caller_with_stacklevel..innerr= roc>T"5 grr|r? srJr@ :LoggerTest.test_find_caller_with_stacklevel..outerrB rorlr7 rr@ rC ) rrrr.r^rrrr r!rDrO) rFr@ r.rr3rr7 r5 r6 s @@@@rJrC +LoggerTest.test_find_caller_with_stacklevels ++%% 2  ..((  --{;##Q   --w7 72;--v6##Q   --w7 72;--v6##'') t~~.//  --w7!!$..1++%%Q   --/QR 72;--v6rocSnSnS=n=n=n=n=n=p[R"XX4XVXxU 5 n S[U RR 55-H4n U S0n UR [ URRXX4XVUXS9 M6 g)N my record )r7r/ some valuerUsinfo) r _logRecordFactoryrc__dict__keysr]rr makeRecord) rFrHrrUlnorrRrTrr rvrrUs rJ%test_make_record_with_extra_overwrite0LoggerTest.test_make_record_with_extra_overwrites:>>>S>3>>>4  & &tBS'/u>*E"++2B2B2D,EEC,'E   h (>(> s($)  8Froc SnSnS=n=n=n=n=n=pSS0n URRXX4XVXzU S9 n URSU R5 g)Nr r valid_keyr r )rr rr ) rFrHrrUr rrRrTrr rUrKs rJ(test_make_record_with_extra_no_overwrite3LoggerTest.test_make_record_with_extra_no_overwritesn:>>>S>3>>>4l+''Rc(0U(L k6??3rocURURR55 URRHnURR U5 M UR URR55 gr)rErrArBrOryr#s rJr LoggerTest.test_has_handlerss\  //12{{++G KK % %g ., 0023roc|[R"S5nSUlURUR 55 g)Nz blah.childF)r r!rryrA)rF child_loggers rJtest_has_handlers_no_propagate)LoggerTest.test_has_handlers_no_propagate s1((6 !&  1134roc&URRRnSURRlUR[URRSU5 UR URR S55 g)NrR)rr"rRrrryr r s rJr LoggerTest.test_is_enabled_forsbkk))11 &( # !4!4iM 11"56rocURRnURRRnSURlSURRlUR [ URSU5 UR [ URRSU5 UR URRS55 g)NTr!rrRr )rrr"rRrrryr )rF old_disabledrs rJ#test_is_enabled_for_disabled_logger.LoggerTest.test_is_enabled_for_disabled_loggers{{++ kk))11 # &( # j,G !4!4iM 11"56roc[R"5nURU[R5 URU[R"S55 URU[R"S55 URU[R"S55 URU[R"S5R5 URU[R"S5R5 URU[R"S5R5 UR U[R"S55 UR U[R"S5R5 g)NrrArrv)r r!rrArr2)rFrAs rJtest_root_logger_aliases#LoggerTest.test_root_logger_aliases!s  " dGLL) dG--d34 dG--b12 dG--f56 dG--e499: dG--i8==> dG--e4;;< w0067 w00;BBCrocUR[[R[5 UR[[RS5 g)Nsfoo)r]r[r r!anyrss rJtest_invalid_namesLoggerTest.test_invalid_names.s2 )W%6%6< )W%6%6?roc[[RS-5H_nSHVn[R"U5n[R "X15n[R "U5nURXS5 MX Ma g)Nrq)rrArrvzbaz.bar)rrHIGHEST_PROTOCOLr r!r6rr)rFprotorHrrl unpickleds rJ test_picklingLoggerTest.test_pickling2s^622Q67EA **40LL/"LLO  i0 B8roct URn[R"S5n[R"S5nUR[R5 UR UR 5[R5 UR UR05 URUR[R55 URUR[R55 UR UR[RS[RS05 UR UR05 URUR[R55 UR UR05 URUR[R55 UR UR[RS05 UR[R5 UR UR 5[R5 UR UR05 URUR[R55 UR[R5 UR UR 5[R5 UR UR05 UR UR05 UR UR05 URUR[R55 URUR[R55 URUR[R55 URUR[R55 URUR[R55 [R"5 UR UR 5[R5 UR UR05 UR UR05 UR UR05 URUR[R55 URUR[R55 URUR[R55 g)NrhrlTF)r3r r!r9rr^r4_cacherEr ryr:rrrR)rFrAr1r2s rJ test_cachingLoggerTest.test_caching:sz##E*##I. gmm$ 224gmmD , ,,W]];< --gmm<= '--w}}e)TU b) ,,W]];< b) ))'--89 w}}d&;< ))* 224g6F6FG , --gmm<= ( 224g6F6FG , , b) --gmm<= ,,W-=-=>? --gmm<= ,,W-=-=>? ))'--89  224g6F6FG , , b) --g.>.>?@ --g.>.>?@ **7+;+;<=ro)rr)rwrxryrzrKrl r rs rv r~ rC r r r r r r r r r r r{rrs@rJrf rf sc**B"P2H%7N 8445 7 7 D@16>6>rorf c,\rSrSrSrSrSrSrSrg) BaseFileTestisc^[RU5 [SS5Ul/Ulg)Nrztest_logging-2-)rrKrVrUrmfilesrss rJrKBaseFileTest.setUpvs$t ):; rocURHn[R"U5 M [RR UR 5(a [R"UR 5 [ RU5 gr)r rQrtrzr{rUrrV)rFrUs rJrVBaseFileTest.tearDown{sP,,B IIbM 77>>$'' " " IIdgg $rocUR[RRU5SU-S9 URR U5 g)NzLog file %r does not existr)rErQrzr{r r)rFrs rJ assertLogFileBaseFileTest.assertLogFiles= x088C  E H%roc t[R"S[RSSUR5SSS5$)Nrrrq)r rr:rtrss rJnext_recBaseFileTest.next_recs5  gmmS!!%!2!2!4dD$H Hro)rUr N) rwrxryrzrKrVr r r{r|rorJr r ss  & Hror c \rSrSrSrSrSrg)FileHandlerTestic:[R"UR5 [R"URSSS9nUR UR 5 UR[RRUR55 UR[R"055 URUR 5 URRUR55 UR5 g)NrhTri)rQrtrUr rr r8ryrzr{rxrrrErN)rFfhs rJ test_delayFileHandlerTest.test_delays $''  7$ G "))$ 01 '''+, RYY' tww/0  roc$[R"UR5 [R"URSSS9nUR [R "S55 URUR55 UR5 URUR55 [UR5nURUR5R5S5 SSS5 g!,(df  g=f)Nrhr)rjrrr)rQrtrUr rr@r=r_r rNrr^rerq)rFr r*s rJ%test_emit_after_closing_in_write_mode5FileHandlerTest.test_emit_after_closing_in_write_modes $''  7 E ))-89        $'']b   RWWY__. 4]]s /D Dr|N)rwrxryrzr r r{r|rorJr r s  5ror c\rSrSrSr\R "\RS5S5r Sr Sr SSjr Sr S rS r\R "5S 5rS rg )RotatingFileHandlerTestic[RRURSSS9nUR UR S55 UR 5 [RRURSSS9nUR UR S55 UR 5 [URS5nURS5 SSS5 [RRURSSS9nUR UR S55 UR 5 g!,(df  Nh=f)NrhrqrjmaxBytesrr ) r rBrrUryshouldRolloverrNrr)rFrhrs rJtest_should_not_rollover0RotatingFileHandlerTest.test_should_not_rollovers    1 1 GGg23 **401     1 1'A27 **401  $''4 A GGEN!    1 1'A27 **401  ! s D== E WASI does not have /dev/null.c[RR[RSSS9nUR UR UR555 UR5 g)Nrhrqr ) r rBrrQdevnullryr r rNrFr s rJ!test_should_not_rollover_non_file9RotatingFileHandlerTest.test_should_not_rollover_non_filesR    1 1 Wq2: **4==?;<  rocT[URS5nURS5 SSS5 [RR URSSS9nUR URUR555 UR5 g!,(df  Nv=f)Nrr rhrr ) rrUrr rBrrEr r rN)rFrr s rJtest_should_rollover,RotatingFileHandlerTest.test_should_rolloverss $''4 A GGEN!    1 1$''GVW 1 X ))$--/:;  ! s B B'c([R"UR5 [RR URSS9nUR UR55 URUR5 UR5 g)Nrhr) rQrtrUr rBrr_r r rNr s rJtest_file_created)RotatingFileHandlerTest.test_file_createds` $''    1 1$''G 1 L    477#  rocJU(aSU0O0n[R"UR5 [RR "UR4SSSS.UD6nUR [RRUR5U(+5 [R"SS05n[R"SS05nURURU55 URURU55 URU5 URUR5 UR[RRURS -55 URURU55 URURU55 URU5 UR[RRUR55 URURS -5 UR[RRURS -55 URURU55 URURU55 UR5 g) Nrkrhrrrj backupCountr rrdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.1.2)rQrtrUr rBrrrzr{rryr r_r rErN)rFrkrSr smalllarges rJtest_max_bytes&RotatingFileHandlerTest.test_max_bytess%*'5! $''    1 1 GGN%1sNFLN bggnnTWW-5y9%%ucl3%%ug&67 **512 **512  477# $78 **512 ))%01  tww/0 477T>* $78 ))%01 ))%01  roc"URSS9 g)NT)rk)r rss rJtest_max_bytes_delay,RotatingFileHandlerTest.test_max_bytes_delays $'rocPSn[RRURSSSS9nXlUR UR 55 URUR5 UR[RRU"URS-555 UR UR 55 URU"URS-55 UR[RRU"URS-555 UR UR 55 URU"URS-55 UR[RRU"URS-555 UR UR 55 UR[RRU"URS-555 UR5 g) Nc US-$N.testr|ri s rJnamer>RotatingFileHandlerTest.test_rollover_filenames..namers '> !rorhrrqr r r .3) r rBrrUr r_r r ryrQrzr{rN)rFr r s rJtest_rollover_filenames/RotatingFileHandlerTest.test_rollover_filenamessn "    1 1 GGg1q2B    477# dggn(=>?    5401 dggn(=>?    5401 dggn(=>?    dggn(=>?  roc"SS[RR5nU"URSSSS9nUR UR UR5URS-5 UR UR55 URUR5 UR UR55 URUR URS-5S -5 UR[RRUR URS-555 UR5 g) Nc \rSrSrSrSrSrg)ZRotatingFileHandlerTest.test_namer_rotator_inheritance..HandlerWithNamerAndRotatoric US-$r r|)rFrHs rJr `RotatingFileHandlerTest.test_namer_rotator_inheritance..HandlerWithNamerAndRotator.namers g~%roc[RRU5(a[R"XS-5 gg)N.rotated)rQrzr{r?)rFsourcedests rJrotatorbRotatingFileHandlerTest.test_namer_rotator_inheritance..HandlerWithNamerAndRotator.rotators+77>>&))JJvj'89*ror|N)rwrxryrzr r r{r|rorJHandlerWithNamerAndRotatorr s  & :ror rhrrqr r r r )r rBrrUr^r r_r r ryrQrzr{rN)rFr r s rJtest_namer_rotator_inheritance6RotatingFileHandlerTest.test_namer_rotator_inheritances :)9)9)M)M :( GGg1qB $''*DGGg,=>    477#    288DGGdN3j@A 4(@AB  rocSnSn[RRURSSSS9nX#lXlUR 5nURU5 URUR5 UR 5nURU5 U"URS-5nURU5 [Rn[US5nUR5n [R"U 5n URU R!S 5UR"U-5 SSS5 URUR 55 U"URS -5nURU5 [US5nUR5n [R"U 5n URU R!S 5UR"U-5 SSS5 URUR 55 U"URS -5n[US5nUR5n [R"U 5n URU R!S 5UR"U-5 SSS5 UR%[R&R)U"URS -555 UR+5 g!,(df  GN=f!,(df  GN=f!,(df  N=f) Nc US-$)Nz.gzr|ri s rJr 3RotatingFileHandlerTest.test_rotator..namers %< roc8[US5nUR5n[R"US5n[US5nUR U5 SSS5 SSS5 [ R "U5 g!,(df  N-=f!,(df  N6=f)Nrbrr)rrezlibcompressrrQr)r r sfr compresseddfs rJr 5RotatingFileHandlerTest.test_rotator..rotatorskfd#rwwy!]]43 $%HHZ(&$ IIf &%$#s#4B A:B : B B  Brhrrqr r r rkr r )r rBrrUr r r r_r rQlineseprrer decompressr^rrryrzr{rN) rFr r r m1m2rUnewlinerr rs rJ test_rotator$RotatingFileHandlerTest.test_rotators.     1 1 GGg1q2B  ]]_   477# ]]_  477T> " 2** "d^qJ??:.D   T[[1266G3C D   477T> " 2 "d^qJ??:.D   T[[1266G3C D   477T> " "d^qJ??:.D   T[[1266G3C D dggn(=>?  %^^ ^s'AK AK('AK: K%( K7: Lr|NF)rwrxryrzr rrris_wasir r r r r r r requires_zlibr r{r|rorJr r sg(__W__&EFG.(&& **ror cN\rSrSr\R "\RS5S5rSr SSjr Sr Sr Sr S rS rS r\R""S 5S 5r\R""S 5S5r\R""S 5S5r\R""S 5S5rSrg)TimedRotatingFileHandlerTesti>r c[RR[RSSSS9n[ R "S5 [R"SS05nURURU55 UR5 g)NSrhrqrjr 皙?rztesting - device file) r rBrrQr rrrryr rN)rFr rs rJr 5TimedRotatingFileHandlerTest.test_should_not_rollover?sp   6 6 C'q7B 3  ! !5*A"B C **1-.  roc[RRURSSSS9n[R"S5nUR U5 [R "SS05nURU5 URUR5 [R"S5 [R "SS 05nURU5 UR5 S n[RR5nS n[U5H{nU[R"US 9- n URU R!S 5-n ["R$R'U 5nU(dM`UR(R+U 5 O SU-n U(Gd["R$R-UR5up["R."U 5V s/sHoR1U 5(dMU PM nn [3SUR!S5-[4R6S9 [3SU-[4R6S9 UH^n [3SU -5 ["R$R9X5n[;US5n[3UR=55 SSS5 M` UR?X[S9 gs sn f!,(df  M=f)Nr# rhrqr$ r$rztesting - initialr% ztesting - after delayFi,secondsz.%Y-%m-%d_%H-%M-%Sz,No rotated files found, went back %d secondsz Test time: %sz%Y-%m-%d %H-%M-%SrzThe only matching files are: %szContents of %s:rr ) r rBrrUr=r@rr_r rrrNr%rr timedeltastrftimerQrzr{r rrlistdirrNrrrrrrrerE)rFr rZrMrNfoundrGO_BACKsecsprevrUrdnrfilesrztfs rJ test_rollover*TimedRotatingFileHandlerTest.test_rolloverJs    6 6wA7? 9:   " "E+>#? @   477# 3  " "E+B#C D    ##%'ND++D99D4==)=>>BGGNN2&Eu ##B' #=wFWW]]477+FB " 2C1,,r2BQEC /CLL1D$EECJJ W 3e;#** M'!+,ww||B*$_"'')$%_ 'D %_s!J?>J? K K cH[R"UR5 [RR 5nUR 5nSUR S- s=:aS:dYO [ R"SUR S- - S-5 [RR 5nUR 5nURSS9n[R"S5nU(aSUR53OS n[S 5Hyn[RRURS XSS 9nURU5 [R "S SU305nUR#U5 UR%5 M{ UR'UR5 [)URS S9n [+U 5HupjUR-SU3U 5 M SSS5 [.R0"URUR35S- 4S-5 [S5Hyn[RRURS XSS 9nURU5 [R "S SU305nUR#U5 UR%5 M{ U[R4"U(aSOSS9- n URSU S3n UR'U 5 [)URS S9n [+U 5HupjUR-SU3U 5 M SSS5 [)U S S9n [+U 5HupjUR-SU3U 5 M SSS5 g!,(df  GN=f!,(df  N]=f!,(df  g=f)Ng?rOg?g?r) microsecondr$WMIDNIGHTrorh)rjwhenatTimerz testing1 rrqrz testing2 rPdaysrz%Y-%m-%d)rrtrUr%rrr8 rr?r r=weekdayrrBrr@rr_rNr r enumeraterrQutime timestampr+ ) rFweeklyrr< rZr; rr rNrrX rolloverDateotherfns rJtest_rollover_at_midnight6TimedRotatingFileHandlerTest.test_rollover_at_midnightts!##%V''+1c1 JJf0044; <##'')CXXZFA. 9:&,3;;=/"*qA!!::';EB OOC &&1#'?@B GGBK HHJ  477# $''G ,$Q< !ot4(- 3==?Q.023qA!!::';EB OOC &&1#'?@B GGBK HHJ X//&QaHH WWIQ|H56 7# $''G ,$Q< !ot4(-'G ,$Q< !ot4(- ,%- ,- ,- ,s$:*M0*N=*N0 M? N N!c"URSS9 g)NT)rC )rF rss rJtest_rollover_at_weekday5TimedRotatingFileHandlerTest.test_rollover_at_weekdays &&d&3roc BURnU"[[RRUR SSSS9 U"[[RRUR SSSS9 U"[[RRUR SSSS9 g)NXrhTrir9 W7)r]rr rBrrU)rFr]s rJ test_invalid)TimedRotatingFileHandlerTest.test_invalids(( Z!1!1!J!JWWcG4 AZ!1!1!J!JWWcG4 AZ!1!1!J!JWWdWD BrocSn[RRURSSSSS9nUR U5nUR X1S-5 UR US-S- 5nUR X1S-5 UR US-5nUR X1S-5 UR US -5nUR X1S-5 UR 5 [R"S SS5n[RRURSSSUS9nUR U5nUR X1S -5 UR US -S- 5nUR X1S -5 UR US -5nUR X1S -5 UR US -5nUR X1S -5 UR 5 g!UR 5 f=f!UR 5 f=f)Nrrhr: Trjr; r&r< Qrqii_ i@ж) r rBrrUcomputeRolloverr^rNr%r)rF currentTimer rir< s rJ"test_compute_rollover_daily_attime?TimedRotatingFileHandlerTest.test_compute_rollover_daily_attimes    6 6 GGgJT7# '' 4F   V<%? @'' l(BQ(FGF   V<%? @'' l(BCF   V<%? @'' l(BCF   V<%? @ HHJr1a(    6 6 GGgJV7% '' 4F   V<%? @'' l(BQ(FGF   V<%? @'' l(BCF   V<%? @'' l(BCF   V<%? @ HHJ' HHJ& HHJsB G#B G)G&)G;c [[R"55nXS-- n[R"SSS5n[R"U5Rn[ S5GHn[ RRURSSU-SSSUS 9nXE:a SU- U-nOXT- nUS-nUS - nXr- nURU5nX:wa2[S [R-5 [S [5-5 URX5 URUS -S- 5nX:wa2[S [R-5 [S [5-5 URX5 XT:XaUS - nURUS -5nX:wa2[S [R-5 [S [5-5 URX5 URUS-5nX:wa2[S [R-5 [S [5-5 URX5 UR5 GM g!UR5 f=f)NrR rS rrPrhzW%drqT)rjr; intervalr r&r< rT zfailed in timezone: %dzlocal vars: %si: rU )rrr%r,tm_wdayrr rBrrUrV rtimezonelocalsr^rN) rFrW todayr< wdaydayr rjris rJ#test_compute_rollover_weekly_attime@TimedRotatingFileHandlerTest.test_compute_rollover_weekly_attimes$))+& E11r1a({{5!))8C!!::' aUV;)B) :!"D3H # HL(L(!++E2%2T]]BC*VX56  2++EL,@1,DE%2T]]BC*VX56  2; 00H++EL,@A%2T]]BC*VX56  2++EL,@A%2T]]BC*VX56  2 [Z s FII c [R"SS9nUR[RU5 /n[ R R 5n[S5H:nURURS55 U[ R"SS9- nM< Sn/n/nUGHn[RRUSU-5n [RR!U S SS S S 9n URU 5 UR#S 5(a#UHn URU<SU <35 M MUR#S5(a-Sn XlUHn URU<SU <S35 M MUS:XdMSn XlUHn URSU -5 M GM UH8n [RRX5n ['U S5nSSS5 M: [)U5GHupHXtn U R+5nUR-[/U5SU5 UR#S 5(aRSU-n UHEn[RR1U5unn UR3U R#U 55 MG MUR#S5(aUHn[RR1U5unn UR3U R5S5U 5 UR3U R#US-5=(a U [/U5S-R755 M GMLUS:XdGMUUHn[RR1U5unn UR3U R5S55 UR3U R#S5=(a U SR755 M GM g!,(df  GM7=f)NrjrY r%Y-%m-%d_%H-%M-%Srr( )a.bza.b.cd.ezd.e.frvz%s.logrlrPTr; r[ r rkrf z.log.rg c[RRU5upURSS5S-n[RR X5$)Nrr)rQrzrr?rrrbasenames rJr HTimedRotatingFileHandlerTest.test_compute_files_to_delete..namer!sA(* h(?%G'//;fDH77<<::rorrrvc[RRU5upSUSS-S-n[RRX5$)NrvrM.oldlog)rQrzrrrj s rJr rl )s?(* h(?%G"Xab\1I=H77<<::roz g%s.oldlogrroz%s.log.rrn rq)rOmkdtemprshutilrmtreer%rrrr, r+ rQrzrr rBrrNr rr@ getFilesToDeleter^r_rrErisdigit)rFwdtimesrrprefixesr3 rotatorsrrr r,r rUr candidatesrqrs rJtest_compute_files_to_delete9TimedRotatingFileHandlerTest.test_compute_files_to_delete s$   _ 5  r*    " " $rA LL%89 : ($$Q/ /B9F RF!23A&&??IJLMFJ@LG OOG $  ''ALL!:;""5));!& ALL!:;3;!& ALL!1216B R$Aa! #8,IAkG 113J   S_a <  ''&#AGGMM!,EArOOBMM!$45$""5))#AGGMM!,EArOOBKK$7<OOBMM&3,$?%B$&s6{Q$7$?$?$AC$ 3#AGGMM!,EArOOBKK $:;OOBMM#$6$J2a5==?K$!-s O O' c f[R"[R"SS95nUR [ R U5 /n[RR5nSn[U5H:nURURS55 U[R"SS9- nM< Sn/n/n[U5H_upU S-n [RR!X- S SU S S 9n URU 5 UHn URU <S U <35 M Ma UHn URS U -5 M UHnX- R#5 M [U5HupU S-n Xn U R%5nUR'[)U5XK- U5 [*R,"S5nUHkn[.R0R3U5unnUR5UR7U S -55 U[)U 5S-SnUR9UU5 Mm M g)NrjrY rre rr( )za.logza.log.brqrlTrh rz a.log.%s.cz&^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}\Z)pathlibPathrOro rrp rq r%rrrr, r+ r@ r rBrtouchrr r^r_rYrZrQrzrrErNr)rFrt ru rn_filesrrv r3 rw rrr r r,rrx matcherrqrrUras rJ?test_compute_files_to_delete_same_filename_different_extensions\TimedRotatingFileHandlerTest.test_compute_files_to_delete_same_filename_different_extensionsKs \\(**/B C  r*    " " $wA LL%89 : ($$Q/ /B ("8,IAA#K&&?? RUIJLWFJ@LG OOG $ 23-A LL) *A VNN #8,IAA#KkG 113J   S_g.CZ Pjj!JKG a(2 fSj 9:S[],-  1  -rozEST+05EDT,M3.2.0,M11.1.0c b^^[RnUU4Sjn[RRTRSSSS9mU"U"SSSS S S 5U"SSS S S 55 U"U"SSS S S 5U"SSS S S 55 U"U"SSS SS 5U"SSS S S 55 U"U"SS SS S S 5U"SS SS S 55 U"U"SS SS S 5U"SS SS S 55 U"U"SS SSS 5U"SS SS S 55 TR 5 [RRTRSSS[R "S S S 5S9mU"U"SSSS S S 5U"SSSS S 55 U"U"SSSS S 5U"SSS S S 55 U"U"SSSSS 5U"SSS S S 55 U"U"SS SS S S 5U"SS SS S 55 U"U"SS SS S 5U"SS SS S 55 U"U"SS SSS 5U"SS SS S 55 TR 5 [RRTRSSS[R "SS S 5S9mU"U"SSSSS S 5U"SSSSS 55 U"U"SSSSS 5U"SSS SS 55 U"U"SSSSS 5U"SSS SS 55 U"U"SSS SS S 5U"SSS SS 55 U"U"SSS SS 5U"SSS SS 55 U"U"SSS SS 5U"SSS SS 55 U"U"SS SSS S 5U"SS SSS 55 U"U"SS SSS 5U"SS SSS 55 U"U"SS SSS 5U"SS SSS 55 U"U"SS SSS S 5U"SS SSS 55 U"U"SS SSS S SS9U"SS SSS 55 U"U"SS SSS 5U"SS SSS 55 U"U"SS SSS 5U"SS SSS 55 TR 5 [RRTRSSS[R "SSS 5S9mU"U"SSSSSS 5U"SSSSS55 U"U"SSSSS5U"SSS SS55 U"U"SSSSS 5U"SSS SS55 U"U"SSS SS S 5U"SSS SS55 U"U"SSS SS 5U"SSS SS55 U"U"SSS SS5U"SSS SS55 U"U"SS SSSS 5U"SS SSS55 U"U"SS SSS5U"SS SSS55 U"U"SS SSS 5U"SS SSS55 TR 5 [RRTRSSS[R "SSS 5S9mU"U"SSS SSS 5U"SSS SS55 U"U"SSS SS5U"SSS SS55 U"U"SSS SS S 5U"SSS SS55 U"U"SSS SS 5U"SSS SS55 U"U"SSS SS5U"SSS SS55 U"U"SS SSS 5U"SS SSS55 U"U"SS SSSS 5U"SS SSS55 U"U"SS SSS5U"SS SSS55 U"U"SS SSS S 5U"SS SSS55 U"U"SS SSS SS9U"SS SSSSS95 U"U"SS SSSS SS9U"SS SSSSS95 U"U"SS SSSSS9U"SS SSS55 U"U"SS SSS S SS9U"SS SSS55 U"U"SS SSS 5U"SS SSS55 U"U"SS SSS5U"SS SSS55 TR 5 g)Nc>TRUR55nX!R5- nU(a&TRUS[R"US95 ggNrr( rV rB r^r%r+ currentrjridiffr rFs rJrEOTimedRotatingFileHandlerTest.test_compute_rollover_MIDNIGHT_local..testyR''(9(9(;? RaQ "BtQAq$9: RaQ "BtQAq$9: RaQB 'D!RA)>? RaQ "BtQAq$9: RaQ "BtQAq$9: Rb!QB 'D"aA)>? Rb!Q "BtRAq$9: Rb!Q "BtRAq$9: Rb!QB 'D"aA)>? Rb!QBQ /D"aA1FG Rb!Q "BtRAq$9: Rb!Q "BtRAq$9:     6 6 GGgJE==B*7, RaQB 'D!RB)?@ RaQ #RaQ%;< RaQ "BtQAr$:; RaQB 'D!RB)?@ RaQ "BtQAr$:; RaQ #RaQ%;< Rb!QB 'D"aB)?@ Rb!Q #Rb!Q%;< Rb!Q "BtRAr$:;     6 6 GGgJE==B*7, RaQB 'D!RB)?@ RaQ #RaQ%;< RaQB 'D!RB)?@ RaQ "BtQAr$:; RaQ #RaQ%;< Rb!Q "BtRAr$:; Rb!QB 'D"aB)?@ Rb!Q #Rb!Q%;< Rb!QB 'D"aB)?@ Rb!Q *BtRAr,JK Rb!QBQ /D"aBQ1OP Rb!Q +Rb!Q-CD Rb!QBQ /D"aB1GH Rb!Q "BtRAr$:; Rb!Q #Rb!Q%;<  roc d^^[RnUU4Sjn[RRTRSSSS9mU"U"SSSS S S 5U"SSS S S 55 U"U"SSS S S 5U"SSS S S 55 U"U"SSS SS 5U"SSS S S 55 U"U"SSSS S S 5U"SSSS S 55 U"U"SSSS S 5U"SSS S S 55 U"U"SSSSS 5U"SSS S S 55 TR 5 [RRTRSSS[R "S S S 5S9mU"U"SSSS S S 5U"SSSS S 55 U"U"SSSS S 5U"SSSS S 55 U"U"SSSSS 5U"SSSS S 55 U"U"SSSS S S 5U"SSSS S 55 U"U"SSSS S 5U"SSSS S 55 U"U"SSSSS 5U"SSSS S 55 TR 5 [RRTRSSS[R "S S S 5S9mU"U"SSSSS S 5U"SSSS S 55 U"U"SSSS S 5U"SSSS S 55 U"U"SSSSS 5U"SSSS S 55 U"U"SSSSS S 5U"SSSS S 55 U"U"SSSS S 5U"SSSS S 55 U"U"SSSSS 5U"SSSS S 55 TR 5 [RRTRSSS[R "SS S 5S9mU"U"SSSSS S 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS S 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS S 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS S 5U"SSSSS 55 U"U"SSSSS S SS9U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 TR 5 [RRTRSSS[R "SSS 5S9mU"U"SSSSSS 5U"SSSSS55 U"U"SSSSS5U"SSSSS55 U"U"SSSSS 5U"SSSSS55 U"U"SSSSS S 5U"SSSSS55 U"U"SSSSS 5U"SSSSS55 U"U"SSSSS5U"SSSSS55 U"U"SSSSSS 5U"SSSSS55 U"U"SSSSS5U"SSSSS55 U"U"SSSSS 5U"SSSSS55 TR 5 [RRTRSSS[R "SSS 5S9mU"U"SSSSSS 5U"SSSSS55 U"U"SSSSS5U"SSSSS55 U"U"SSSSS S 5U"SSSSS55 U"U"SSSSS 5U"SSSSS55 U"U"SSSSS5U"SSSSS55 U"U"SSSSS 5U"SSSSS55 U"U"SSSSSS 5U"SSSSS55 U"U"SSSSS5U"SSSSS55 U"U"SSSSS S 5U"SSSSS55 U"U"SSSSS SS9U"SSSSSSS95 U"U"SSSSSS SS9U"SSSSSSS95 U"U"SSSSSSS9U"SSSSS55 U"U"SSSSS S SS9U"SSSSS55 U"U"SSSSS 5U"SSSSS55 U"U"SSSSS5U"SSSSS55 TR 5 g)Nc>TRUR55nX!R5- nU(a&TRUS[R"US95 ggr r r s rJrEITimedRotatingFileHandlerTest.test_compute_rollover_W6_local..testr rorhW6Fr r rorr r rrrS rqrr rtrQ r rr r r r s` @rJtest_compute_rollover_W6_local;TimedRotatingFileHandlerTest.test_compute_rollover_W6_locals    L    6 6 GGgDe7= RaBB 'D!Q1)=> RaAq !2dAr1a#89 RaAq !2dAr1a#89 Rb"b"b )2dBAq+AB Rb"a #Rb!Q%:; Rb"a #Rb!Q%:;     6 6 GGgDe==Aq)7+ RaRR ("T1b!Q*?@ RaQ "BtQAq$9: RaQ "BtQAq$9: Rb!RR ("T2q!Q*?@ Rb!Q "BtRQ$:; Rb!Q "BtRQ$:;     6 6 GGgDe==Q*7, RaBB 'D!QA)>? RaB "BtQB$:; RaB "BtQB$:; Rb"b"b )2dBB+BC Rb"b! $br1b!&<= Rb"b! $br1b!&<=     6 6 GGgDe==Aq)7+ RaAr2 &4Aq!(<= RaAq !2dAr1a#89 RaAq !2dAr1a#89 RaQB 'D!RA)>? RaQ "BtQAq$9: RaQ "BtQAq$9: Rb"aR ("T2r1a*@A Rb"a #Rb!Q%:; Rb"a #Rb!Q%:; Rb!QB 'D"aA)>? Rb!QBQ /D"aA1FG Rb!Q "BtRQ$:; Rb!Q "BtRQ$:;     6 6 GGgDe==B*7, RaAr2 &4Aq"(=> RaAr "BtQAr$:; RaAq !2dAr1b#9: RaQB 'D!RB)?@ RaQ "BtQAr$:; RaQ #RaQ%;< Rb"aR ("T2r1b*AB Rb"a $br1a&<= Rb"a #Rb!Q%;<     6 6 GGgDe==B*7, RaQB 'D!RB)?@ RaQ #RaQ%;< RaQB 'D!RB)?@ RaQ "BtQAr$:; RaQ #RaQ%;< Rb!Q "BtRAr$:; Rb!QB 'D"aB)?@ Rb!Q #Rb"a%<= Rb!QB 'D"b!R)@A Rb!Q *BtRAr,JK Rb!QBQ /D"aBQ1OP Rb!Q +Rb"a-DE Rb!QBQ /D"b!R1HI Rb!Q "BtRQ$;< Rb!Q #Rb"a%<=  roc ^^[RnUU4Sjn[RRTRSSSSS9mU"U"SSSS S S 5U"SSS S S 55 U"U"SSS S S 5U"SSSS S 55 U"U"SSS SS 5U"SSSS S 55 U"U"SSSS S S 5U"SSSS S 55 U"U"SSS S S 5U"SSSS S 55 U"U"SSS SS 5U"SSSS S 55 U"U"SS SS S S 5U"SS SS S 55 U"U"SS SS S 5U"SS SS S 55 U"U"SS SSS 5U"SS SS S 55 U"U"SS SS S S 5U"SS SS S 55 U"U"SS SS S 5U"SS SS S 55 U"U"SS SSS 5U"SS SS S 55 TR 5 [RRTRSSSS[R "SS S 5S9mU"U"SSSS S S 5U"SSSSS 55 U"U"SSSSS 5U"SSS SS 55 U"U"SSSSS 5U"SSS SS 55 U"U"SSSS S S 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SS SS S S 5U"SS SSS 55 U"U"SS SSS 5U"SS SSS 55 U"U"SS SSS 5U"SS SSS 55 U"U"SS SS S S 5U"SS SSS 55 U"U"SS SSS 5U"SS SSS 55 U"U"SS SSS 5U"SS SSS 55 TR 5 g)Nc>TRUR55nX!R5- nU(a&TRUS[R"US95 ggr r r s rJrEXTimedRotatingFileHandlerTest.test_compute_rollover_MIDNIGHT_local_interval..testgr rorhr: Frorjr; r&r[ r r"r r rtrrrS rqrr rrrrrMrPrjr; r&r[ r< r r s` @rJ-test_compute_rollover_MIDNIGHT_local_intervalJTimedRotatingFileHandlerTest.test_compute_rollover_MIDNIGHT_local_intervalcs   L    6 6 GGgJEA7O RaBB 'D!RA)>? RaAq !2dAr1a#89 RaAq !2dAr1a#89 RaRR ("T1b!Q*?@ RaQ "BtQAq$9: RaQ "BtQAq$9: Rb!RR ("T2q!Q*?@ Rb!Q "BtRAq$9: Rb!Q "BtRAq$9: Rb!RR ("T2q!Q*?@ Rb!Q "BtRAq$9: Rb!Q "BtRAq$9:     6 6 GGgJEA==Q*7, RaBB 'D!RQ)?@ RaB "BtQB$:; RaB "BtQB$:; RaRR ("T1b"a*@A RaR #RaR%;< RaR #RaR%;< Rb!RR ("T2q"a*@A Rb!R #Rb!R%;< Rb!R #Rb!R%;< Rb!RR ("T2q"a*@A Rb!R #Rb!R%;< Rb!R #Rb!R%;<  roc 4 ^^[RnUU4Sjn[RRTRSSSSS9mU"U"SSS S S S 5U"SSS S S 55 U"U"SSSS S 5U"SSSS S 55 U"U"SSSSS 5U"SSSS S 55 U"U"SSSS S S 5U"SSS S S 55 U"U"SSS S S 5U"SSSS S 55 U"U"SSS SS 5U"SSSS S 55 U"U"SSSS S S 5U"SSSS S 55 U"U"SSSS S 5U"SSS S S 55 U"U"SSSSS 5U"SSS S S 55 U"U"SSSS S S 5U"SSSS S 55 U"U"SSSS S 5U"SSS S S 55 U"U"SSSSS 5U"SSS S S 55 TR 5 [RRTRSSSS[R "S S S 5S9mU"U"SSSS S S 5U"SSSS S 55 U"U"SSSS S 5U"SSSS S 55 U"U"SSSSS 5U"SSSS S 55 U"U"SSSS S S 5U"SSSS S 55 U"U"SSSS S 5U"SSSS S 55 U"U"SSSSS 5U"SSSS S 55 U"U"SSSS S S 5U"SSSS S 55 U"U"SSSS S 5U"SSSS S 55 U"U"SSSSS 5U"SSSS S 55 U"U"SSSS S S 5U"SSSS S 55 U"U"SSSS S 5U"SSSS S 55 U"U"SSSSS 5U"SSSS S 55 TR 5 [RRTRSSSS[R "SS S 5S9mU"U"SSSSS S 5U"SSSSS 55 U"U"SSS SS 5U"SSSSS 55 U"U"SSS SS 5U"SSSSS 55 U"U"SSSSS S 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS S 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS S 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 U"U"SSSSS 5U"SSSSS 55 TR 5 g)Nc>TRUR55nX!R5- nU(a&TRUS[R"US95 ggr r r s rJrERTimedRotatingFileHandlerTest.test_compute_rollover_W6_local_interval..testr rorhr Fror r rrsr r rrrrS rqrrrr rrrtr r r r!r r r s` @rJ'test_compute_rollover_W6_local_intervalDTimedRotatingFileHandlerTest.test_compute_rollover_W6_local_intervals   L    6 6 GGgDea7I RaRR ("T1aA*>? RaQ "BtQAq$9: RaQ "BtQAq$9: RaBB 'D!RA)>? RaAq !2dAr1a#89 RaAq !2dAr1a#89 Rb"b"b )2dBAq+AB Rb"a #Rb!Q%:; Rb"a #Rb!Q%:; Rb"b"b )2dBAq+AB Rb"a #Rb"a%;< Rb"a #Rb"a%;<     6 6 GGgDea==Aq)7+ RaRR ("T1b!Q*?@ RaQ "BtQAq$9: RaQ "BtQAq$9: RaRR ("T1b!Q*?@ RaQ "BtQ1a$89 RaQ "BtQ1a$89 Rb"b"b )2dB1a+@A Rb"a #Rb"a%;< Rb"a #Rb"a%;< Rb!RR ("T2r1a*@A Rb!Q "BtRQ$:; Rb!Q "BtRQ$:;     6 6 GGgDea==Q*7, RaRR ("T1aQ*?@ RaR #RaR%;< RaR #RaR%;< RaBB 'D!RQ)?@ RaB "BtQB$:; RaB "BtQB$:; Rb"b"b )2dBB+BC Rb"b! $br1b!&<= Rb"b! $br1b!&<= Rb"b"b )2dBB+BC Rb"b! $br2r1&=> Rb"b! $br2r1&=>  ror|Nr )rwrxryrzrrrr r r5 rF rI rN rX rb ry r run_with_tzr r r r r{r|rorJr! r! >s __W__&EFG((T)5V4B%P4l?LB&2T 34k5k^ 34y5yz 34.5.d 34B5Bror! c X[R"S0UD6[R"SS9-$)Nrqr( r|)r%r+ )rs rJr0 r0 s&    # #x'9'9!'D DDro)r# rq)Mr)Hi)DrR )r: rR W0r)r> hours)rqroc [RRURSXSSS9nSnUR U5nUR S5(aU[ SUS- -S 9- nOX2-nX6:wGa4US :XGa-UR(a[R"U5nO[R"U5nUS nUS n US n [RRUS-U -S-U -- n X[-n [SU<SUR<S3[RS9 [SU-[RS9 [SU -[RS9 [SU -[RS9 [SU -[RS9 [SU -[RS9 UR!X65 UR#5 g![a%n [SU -[RS9 Sn A NLSn A ff=f)NrhrT)rjr; r[ r r&r?r9 rPrqr= r: rorrrzt: z ()r* zcurrentHour: %szcurrentMinute: %szcurrentSecond: %szr: %sz result: %sz exception in diagnostic code: %s)r rBrrUrV rNr0 r&rr, localtime _MIDNIGHTrrrrrr^rN)rFr; r[ expr rW rir, currentHour currentMinute currentSecondrrKres rJtest_compute_rolloverr s!!::'UV\`;bBK'' 4Fs##tHQJ00}:%W66 $ K 8A ${ ;A&'d ()! ()! #,,66;;K8Ewin32evtlog/win32evtlogutil/pywintypes required for this test.c\rSrSrSrSrg)NTEventLogHandlerTesticSn[R"SU5n[R"U5n[RR S5n[R"SS05nURU5 UR5 URU[R"U55 [R[R -nSnSn [R""X'U 5n U H5nUR$S:waM[&R("XQ5n U S :waM3S n O S U -n UR+XS 9 g![ Ra,nURS:Xa[R"S5eeSnAff=f) N Application test_loggingrz#Insufficient privileges to run testrzTest Log MessageFrzTest Log Message Tz3Record not found in event log, went back %d recordsr ) win32evtlog OpenEventLogGetNumberOfEventLogRecordsr rBNTEventLogHandler pywintypesrwinerrorrSkipTestrrxrN assertLessEVENTLOG_BACKWARDS_READEVENTLOG_SEQUENTIAL_READ ReadEventLog SourceNamewin32evtlogutilSafeFormatMessagerE) rFlogtypeelhnum_recsrUrerflagsr. r/ eventsrs rJr NTEventLogHandlerTest.test_basicsN&&tW599#>   22>BA  ! !5*<"= >     +"H"H"MN33445))#g>A||~-!33A?C,,E DgM '1 zzQ''(MNN  sD;;E;'E66E;r|N)rwrxryrzrr{r|rorJr r s(ror c\rSrSrSrSrg) MiscTestCasei8c@1Skn[R"U[US9 g)N>rArFiltererr RootLoggerra PlaceHolderr currentframerbStrFormatStylercrHrO) not_exported)r check__all__r )rFr s rJ test__all__MiscTestCase.test__all__9s, T7Fror|N)rwrxryrzr r{r|rorJr r 8sGror cZ[R"[R"SS55 g)NLC_ALLr)renterModuleContextrrun_with_localer|rorJ setUpModuler Es  7 7" EFro__main__rr )r logging.handlerslogging.configr4rr&r%r| rr6rr r5rQrkrrYrp rrrrrOtest.support.script_helperrrrEr test.supportrrrr r r r test.support.logging_helperr rrrqrrrEr http.serverrr unittest.mockr urllib.parserr socketserverrrrrr r r r r rHAVE_ASAN_FORK_BUGrcheck_sanitizerrTestCaserr~rSILENTrTERSEEFFUSIVErr< TALKATIVEr CHATTERBOXBORINGrrrrrrr rVrXrprr;rrrrrr;rHrjr{rrrrHrrrr=rrrryrJrrrrr IPV6_ENABLEDrrrr+r=rVrXr^r`rBrrdrlrfrhrur{r}rrrrNrfrrrrrrr+ rtzinforr&rrrmr]rhrur}rrRryrrr8r~rrr r\ r) rf r r r r! r0 r; r r[ r rHrwrr r r mainr|rorJr s*    N&"&)(!3 :+DD633 OO EGOO 4(-/ d'x  d'NUIUIn<%h<%L   FFQJ'  ( * ' * * ) + +, ( +gnn+::C'C'L K2(K2\11#--#  '@'@XG;U%%G;T060d'\:'R1L"41>-L"4-^ 69(}(((    ",,.h/#@C5C5L-**- aXaH   ",,.W+W+/#W+t WVY/1HI &- &J &   ",,.>:(>:/#>:@ WVY/1HI (1 (J (   ",,.IBIB/#IBV WVY/1HI &- &J & ]//;= 6- 6= 6   ",,.L hL /#L \1 1 h-L8-L`%K8%KP.  # G))  W%%33  %++ ))  1  2 sMXsMj99(9.&h&> w((   8  F,,.pPxpP/pPd 7  _--#002]&H]&3]&@!(// e..`SH%%'9`SF &W77&GX..G&AHA,$;X$;N  $w**$T/8T/nx/(x/vK0HK0\Y#h''Y#x D*))D*N.G)).++57((5`>-`>FH8H25l5,ZlZx[ <[ |E %,1B/0 ID#-1H#$ J*D0 a< K D)-&,d4IJUj ["bc (H (d (FG8$$GG z MMOG`6155K5/J6   s$ ^#^. ^+*^+.^87^8