bgL4ddlmZmZmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZmZmZeZedZed Zed ZGd d eZGd deZGddeZGddeZdS)) getLoggerERRORFilter)dedent)TestCase)catch_warnings) ShouldAssert)Mock)Replacer LogCapturecompareReplaceonetwo one.childceZdZdZdS) DummyFiltercdS)NT)self_s s/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/testfixtures/tests/test_logcapture.pyfilterzDummyFilter.filterstN)__name__ __module__ __qualname__rrrrrrs#rrceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdS)TestLogCapturectdt}td|tdt |dksJdSNbeforeduringafterroot INFO during)rootinfor uninstallstrrls r test_simplezTestLogCapture.test_simplesl ( LL (  '1vv.......rctt}td|t d5|ddddS#1swxYwYdS)Nensure_checks_abover#8Not asserted ERROR log(s): [('root', 'ERROR', 'during')])r rr&errorr(r ensure_checkedr log_captures rtest_simple_strictz!TestLogCapture.test_simple_strict s U;;;  8 T U U ) )  & & ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )sA55A9<A9crtdt5tt_t}td|td5|dddn #1swxYwYddddS#1swxYwYdS)Nz3testfixtures.LogCapture.default_ensure_checks_abover#r0) rrr default_ensure_checks_abover&r1r(r r2r3s rtest_simple_strict_re_defaultedz.TestLogCapture.test_simple_strict_re_defaulted's" JE R R - -5:J 2$,,K JJx  ! ! # # #XYY - -**,,, - - - - - - - - - - - - - - -  - - - - - - - - - - - - - - - - - -s6AB,3B B,B B,B B,,B03B0ctt}td||d|dSNr.r#r&rr#)r rr&r1r(checkr2r3s r$test_simple_strict_asserted_by_checkz3TestLogCapture.test_simple_strict_asserted_by_check0sc U;;;  85666""$$$$$rctt}td||d|dSr:r rr&r1r( check_presentr2r3s r4test_simple_strict_asserted_by_check_present_orderedzCTestLogCapture.test_simple_strict_asserted_by_check_present_ordered7sc U;;;  8!!"=>>>""$$$$$rctt}td||dd|dS)Nr.r#r;F order_mattersr?r3s r6test_simple_strict_asserted_by_check_present_unorderedzETestLogCapture.test_simple_strict_asserted_by_check_present_unordered>sh U;;;  8!!"=U!SSS""$$$$$rcbtt}tdtd||dt d5|ddddS#1swxYwYdS)Nr.r"r#r;z8Not asserted ERROR log(s): [('root', 'ERROR', 'before')])r rr&r1r(r@r r2r3s r0test_simple_strict_not_asserted_by_check_presentz?TestLogCapture.test_simple_strict_not_asserted_by_check_presentEs U;;;  8 8!!"=>>> T U U ) )  & & ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )sB$$B(+B(ctt}td|d|vsJd|vsJ|dS)Nr.r#r;r&INFOr#)r rr&r1r(r2r3s r*test_simple_strict_asserted_by_containmentz9TestLogCapture.test_simple_strict_asserted_by_containmentNsp U;;;  8*k9999)<<<<""$$$$$rctt}td|||dS)Nr.r#)r rr&r1r(mark_all_checkedr2r3s r/test_simple_strict_asserted_by_mark_all_checkedz>TestLogCapture.test_simple_strict_asserted_by_mark_all_checkedVs` U;;;  8$$&&&""$$$$$rctd5tt5tddddn #1swxYwYddddS#1swxYwYdS)Nr0r.r#)r r rr&r1)rs rtest_simple_strict_ctxz%TestLogCapture.test_simple_strict_ctx]s T U U % %666 % % 8$$$ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %s4A%A  A% A A%A A%%A),A)ctt5}td|dddddS#1swxYwYdSr:)r rr&r1r<r3s rtest_simple_strict_asserted_ctxz.TestLogCapture.test_simple_strict_asserted_ctxbs E 2 2 2 ;k JJx   9 : : : ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s0AAAcFtd}tdtdtdt d|t|dksJdS)Nr1234zone INFO 2 one.child INFO 4r r&r'rrchildr(r)r*s rtest_specific_loggerz#TestLogCapture.test_specific_loggergs u   #     3 1vv "      rcFtd}tdtdtdt d|t|dksJdS)N)rrrTrUrVrWztwo INFO 3 one.child INFO 4rXr*s rtest_multiple_loggersz$TestLogCapture.test_multiple_loggersss * + + #     3 1vv "      rc<td}td|td|tdt |dksJdS)NF)installr"r#r$r%)r r&r'r^r(r)r*s rtest_simple_manual_installz)TestLogCapture.test_simple_manual_installs u % % % (  (  '1vv.......rct}td}|t|jdd}|jdd}|j}|j}|jdd}|jdd} |d|dt} td} t}|dtd}|jdksJ|jdksJ|jgksJ|jgksJ|dt| dksJt| dksJ|t| | |jdksJ|jdksJ ||||n/#||||wxYw|j|ksJ|j|ksJ|j|ksJ|j|ksJdS) NrY1ErTrUzroot INFO 1 child INFO 2zchild INFO 2) r addFilterrhandlerslevelfilterssetLevelr r'r)r() rr&rY before_root before_childold_root_levelold_child_levelold_root_filtersold_child_filtersl1l2s rtest_uninstallzTestLogCapture.test_uninstalls{{'"" {}}%%% mAAA& ~aaa( z  <?!M!!!,! + MM"    NN2   BG$$B;;D IIcNNNg&&E:????;!####<2%%%%=B&&&& JJsOOOr77"r77! OOKMM * * * LLNNN LLNNN:####;"$$$$$ == ( ( ( >>/ * * * * == ( ( ( >>/ * * * *} ++++~----|/////} 1111111s EH,H1ctjdd}tjdd}t}td}t tjdksJtj|ksJt tjdksJtj|ksJtj|tjksJ|tjksJdS)Nrrc)r&rerYr len uninstall_all)rbefore_handlers_rootbefore_handlers_childrorps rtest_uninstall_allz!TestLogCapture.test_uninstall_alls#}QQQ/ %qqq 1 \\  $ $ 4=!!Q&&&&} 444445>""a''''~!66666  """ $t}4444$666666rcJt}tdt|dksJt}tdt|dksJt|dksJtjdS)Nz 1st messagezroot INFO 1st messagez 2nd messagezroot INFO 2nd message)r r&r'r)rt)rrorps r#test_two_logcaptures_on_same_loggerz2TestLogCapture.test_two_logcaptures_on_same_loggers \\ -   2ww44444 \\ -   2ww444442ww44444 """""rctj} tdt}tjdksJ|tjdksJtd|tjdksJ t|n#t|wxYw|dS)Nrarcrb)r&rfrhr r(rt)r old_levelr+s rtest_uninstall_more_than_oncez,TestLogCapture.test_uninstall_more_than_oncesJ  $ ==   ||1*//// ;;===*"""" ==    ;;===*""""" == # # # #4== # # # # s B C C&ctdt5}tddddn #1swxYwYtdt|dksJdSr!)r&r'r r)r*s rtest_with_statementz"TestLogCapture.test_with_statements ( \\ Q ))H                   '1vv.......sAAAN)rrrr,r5r8r=rArErGrKrNrPrRrZr\r_rqrwryr|r~rrrrrs5///)))---%%%%%%%%%)))%%%%%%%%% ;;;        ///F2F2F2P7774###(,/////rrc,eZdZdZdZdZdZdZdS)LogCaptureTestscNt}|j} tgx|_}t5}|ddddn #1swxYwY|dt |j|||_dS#||_wxYw)Nr#rI)rreobjectr r'r<r )rloggeroriginal_handlersstartr+s rtest_remove_existing_handlersz-LogCaptureTests.test_remove_existing_handlerss"O 0'-xxj 0FOe & H%%% & & & & & & & & & & & & & & & GG. / / / FOU + + +0FOOO/FO / / / /s.$BA BA!!B$A!%-B B$cddlm}t}t5}|dd|d|jt }||jg}t||j td5}|| t|dtt|djd dddn #1swxYwY|tt!t j|ddddS#1swxYwYdS) Nr)callz$testfixtures.LogCapture.atexit_setupFzatexit.registerTrecordrczKLogCapture instances not uninstalled by shutdown, loggers captured: (None,))testfixtures.mockrr r replaceregisterr atexitr mock_callsr assertTruersr)messager(set instances)rrmrr+expectedws r test_atexitzLogCaptureTests.test_atexit1s****** FF ZZ 1 IIAActd}d|_td5}|ddddn #1swxYwY|dt |jddS)NdisabledT a log message)rrJr)rrr r'r<r )rrrs rtest_enable_disabled_loggerz+LogCaptureTests.test_enable_disabled_loggerXs:&&  # # )s KK ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 7888&&&&&sAA A ctd}t|jdt5}tdd5}|d|ddddn #1swxYwYdddn #1swxYwY|t|jddS)NrYTF) propagater)rYrJr)rr rr r'r<)rr global_log child_logs rtest_no_propogatez!LogCaptureTests.test_no_propogate`sU7## $''' \\ DZGu555 D O,,, BCCC D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D  $'''''s5B+A<0 B<B BB BBBN)rrrrrrrrrrrrrsc000&BAAA ''' ( ( ( ( (rrcbeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdS)TestCheckPresentct5}tdtdtdtdtddddn #1swxYwY|ddddS)Nrjunkrthreer&rJrr&WARNINGrr&rrr r&r'r1warningr@rs rtest_order_matters_okz&TestCheckPresent.test_order_matters_okns \\ S IIe    JJv    LL    JJv    JJw                    # & &     BBB"%B"ct5}tddddn #1swxYwYtt d5|dddddS#1swxYwYdS)Nra ignored: [('root', 'ERROR', 'junk')] same: [] expected: [('root', 'INFO', 'one')] actual: []rr r&r1r rr@rs rtest_order_matters_not_okayz,TestCheckPresent.test_order_matters_not_okay{s \\ S JJv                   & "         '                     s6::BBBctd5}tddddn #1swxYwYtt d5|dddddS#1swxYwYdS)NT)recursive_checkraX same: [] expected: [('root', 'INFO', 'one')] actual: [('root', 'ERROR', 'junk')] While comparing [0]: sequence not as expected: same: ('root',) expected: ('INFO', 'one') actual: ('ERROR', 'junk') While comparing [0][1]: 'INFO' (expected) != 'ERROR' (actual)rrrs r%test_order_matters_not_okay_recursivez6TestCheckPresent.test_order_matters_not_okay_recursives  - - -  JJv                   &"QRRSS  ,   '   -                  s8<<BB Bct5}tdtdtdtdtddddn #1swxYwYt t d5|ddd ddddS#1swxYwYdS) Nrj1rrj2ax ignored: [('root', 'ERROR', 'j1'), ('root', 'ERROR', 'three'), ('root', 'ERROR', 'j2')] same: [('root', 'INFO', 'one'), ('root', 'WARNING', 'two')] expected: [('root', 'ERROR', 'three')] actual: []rrrr r&r'r1rr rr@rs rtest_order_matters_but_wrongz-TestCheckPresent.test_order_matters_but_wrongsb \\ S IIe    JJt    JJw    LL    JJt                    & "         '**                     s$BBB"%B"C**C.1C.ct5}tdtdtdtdtddddn #1swxYwY|dddd dS) NrrrrrrrFrCrrs rtest_order_doesnt_matter_okz,TestCheckPresent.test_order_doesnt_matter_oks \\ S IIe    JJv    LL    JJv    JJw                    & # &      rct5}tddddn #1swxYwYtt d5|ddddddS#1swxYwYdS)Nrz ignored: [('root', 'ERROR', 'junk')] in expected but not actual: [('root', 'INFO', 'one')]rFrCrrs r!test_order_doesnt_matter_not_okayz2TestCheckPresent.test_order_doesnt_matter_not_okays \\ S JJv                   &"-..//     '#                      s6::BB Bct5}tdtdtdtdtddddn #1swxYwY|ddS)Nrrrrrrrs rtest_single_item_okz$TestCheckPresent.test_single_item_oks \\ S IIe    JJv    LL    JJv    JJw                    &     rctdg5}tdtdtddddn #1swxYwYt t d5|dddddS#1swxYwYdS)N getMessage attributesrrrz ignored: ['one', 'junk', 'three'] same: [] expected: ['two'] actual: []rr r&r'r1r rr@rs rtest_single_item_not_okz(TestCheckPresent.test_single_item_not_oks: L> 2 2 2 c IIe    JJv    JJw                  & "     % %   e $ $ $ % % % % % % % % % % % % % % % % % %s$AA--A14A1B77B;>B;ct5}tdtdtdtdtdtddddn #1swxYwY|dddddS)Nrrrrrrrs r.test_multiple_identical_expected_order_mattersz?TestCheckPresent.test_multiple_identical_expected_order_matterss \\ S IIe    IIe    JJv    LL    JJv    LL                     # # & &      BB88B<?B<ct5}tdtdtdtdtdtddddn #1swxYwY|ddddddS)NrrrrrFrC)r r&r'rr1r@rs r7test_multiple_identical_expected_order_doesnt_matter_okzHTestCheckPresent.test_multiple_identical_expected_order_doesnt_matter_ok s \\ S IIe    LL    JJv    LL    JJv    IIe                     # # & &      rct5}tdtdtdtdtddddn #1swxYwYt t d5|dddddddddS#1swxYwYdS) NrrraO ignored: [('root', 'ERROR', 'junk'), ('root', 'ERROR', 'junk')] same: [('root', 'INFO', 'one'), ('root', 'INFO', 'one'), ('root', 'WARNING', 'two')] in expected but not actual: [('root', 'WARNING', 'two')]rrFrC)r r&r1r'rr rr@rs r;test_multiple_identical_expected_order_doesnt_matter_not_okzLTestCheckPresent.test_multiple_identical_expected_order_doesnt_matter_not_oksm \\ S JJv    IIe    LL    JJv    IIe                    &"01122     ''**#                      s$BBB"%B"C--C14C1cd}t|5}tdtdtdtdtddddn #1swxYwY|dddddddddd dS) Nc:|j|dS)Nrfr) levelnamerrs rextractz?TestCheckPresent.test_entries_are_dictionaries..extract6s#-&:K:K:M:MNN NrrrrrrJrrFrCr)rrrs rtest_entries_are_dictionariesz.TestCheckPresent.test_entries_are_dictionaries5s  O O O7 + + + s IIe    JJv    LL    JJv    IIe                     / / / /E 2 2      sBB##B'*B'ct5}tdtdtdtddddn #1swxYwYt t d5|dddddddS#1swxYwYdS)Nrrra` ignored: [('root', 'ERROR', 'junk'), ('root', 'ERROR', 'junk')] same: [('root', 'INFO', 'one'), ('root', 'WARNING', 'two')] expected: [('root', 'ERROR', 'three')] actual: []rrrrrs rtest_almost_same_order_mattersz/TestCheckPresent.test_almost_same_order_mattersFsP \\ S IIe    JJv    LL    JJv                    & "         '**                     s$A)BB B+CCCct5}tdtdtdtddddn #1swxYwYt t d5|dddd ddddS#1swxYwYdS) Nrrra6 ignored: [('root', 'ERROR', 'junk'), ('root', 'ERROR', 'junk')] same: [('root', 'ERROR', 'three'), ('root', 'INFO', 'one')] in expected but not actual: [('root', 'WARNING', 'two')]rrrFrCrrs r$test_almost_same_order_doesnt_matterz5TestCheckPresent.test_almost_same_order_doesnt_matter^sX \\ S IIe    JJv    JJw    JJv                    &"01122     *'*#                      s$A)BB B+CCCN)rrrrrrrrrrrrrrrrrrrrrrls    &:2           %%%&       0   "0rrN)loggingrrrtextwraprunittestrwarningsrtestfixtures.shouldraiser rr testfixturesr r r rr&rrrYrrrrrrrrrs,,,,,,,,,,######111111""""""????????????y{{ii +& C/C/C/C/C/XC/C/C/LM(M(M(M(M(hM(M(M(`FFFFFvFFFFFr