idL4ddlmZmZmZddlmZddlmZddlm 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 W/opt/cloudlinux/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|tddSNbeforeduringafter)rootinfor uninstallrls r test_simplezTestLogCapture.test_simplesT ( LL (  '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#r.) rrr default_ensure_checks_abover%r/r'r r0r1s 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%r/r'checkr0r1s r$test_simple_strict_asserted_by_checkz3TestLogCapture.test_simple_strict_asserted_by_check0sc U;;;  85666""$$$$$rctt}td||d|dSr8r rr%r/r' check_presentr0r1s r4test_simple_strict_asserted_by_check_present_orderedzCTestLogCapture.test_simple_strict_asserted_by_check_present_ordered7sc U;;;  8!!"=>>>""$$$$$rctt}td||dd|dS)Nr,r#r9F order_mattersr=r1s 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#r9z8Not asserted ERROR log(s): [('root', 'ERROR', 'before')])r rr%r/r'r>r r0r1s 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||dSNr,r#)r rr%r/r'r0r1s r*test_simple_strict_asserted_by_containmentz9TestLogCapture.test_simple_strict_asserted_by_containmentNsP U;;;  8 ""$$$$$rctt}td|||dSrG)r rr%r/r'mark_all_checkedr0r1s r/test_simple_strict_asserted_by_mark_all_checkedz>TestLogCapture.test_simple_strict_asserted_by_mark_all_checkedVs` U;;;  8$$&&&""$$$$$rctd5tt5tddddn #1swxYwYddddS#1swxYwYdS)Nr.r,r#)r r rr%r/)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#1swxYwYdSr8)r rr%r/r:r1s rtest_simple_strict_asserted_ctxz.TestLogCapture.test_simple_strict_asserted_ctxbs E 2 2 2 ;k JJx   9 : : : ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s0AAActd}tdtdtdt d|dS)Nr1234r r%r&rrchildr'r(s rtest_specific_loggerz#TestLogCapture.test_specific_loggergs\ u   #     3 rctd}tdtdtdt d|dS)N)rrrQrRrSrTrUr(s rtest_multiple_loggersz$TestLogCapture.test_multiple_loggersss] * + + #     3 rctd}td|td|tddS)NF)installr"r#r$)r r%r&r[r'r(s rtest_simple_manual_installz)TestLogCapture.test_simple_manual_installsh u % % % (  (  'rcxt}td}|t|jdd}|jdd}|j}|j}|jdd}|jdd} |d|dt} td} t}|dtd}|d|t| | ||||dS#||||wxYw)NrV1ErQrR) r addFilterrhandlerslevelfilterssetLevelr r&r') rr%rV 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 JJsOOO OOKMM * * * LLNNN LLNNN == ( ( ( >>/ * * * * * == ( ( ( >>/ * * * *s CF ,F9ctjdd}tjdd}t}td}tjdS)Nr)r%rarVr uninstall_all)rbefore_handlers_rootbefore_handlers_childrkrls rtest_uninstall_allz!TestLogCapture.test_uninstall_allsQ#}QQQ/ %qqq 1 \\  $ $  """""rct}tdt}tdtjdS)Nz 1st messagez 2nd message)r r%r&ro)rrkrls r#test_two_logcaptures_on_same_loggerz2TestLogCapture.test_two_logcaptures_on_same_loggersQ \\ -   \\ -     """""rctj} tdt}|td|t|n#t|wxYw|dS)Nr^r_)r%rbrdr r'ro)r old_levelr)s rtest_uninstall_more_than_oncez,TestLogCapture.test_uninstall_more_than_oncesJ  $ ==   ||1 ;;=== ==    ;;=== == # # # #4== # # # # s A*BB/ctdt5}tddddn #1swxYwYtddSr!)r%r&r r(s rtest_with_statementz"TestLogCapture.test_with_statements ( \\ Q ))H                   'sAAAN)rrrr*r3r6r;r?rCrErHrKrMrOrWrYr\rmrrrtrwryrrrrrs5///)))---%%%%%%%%%)))%%%%%%%%% ;;;        ///F2F2F2P7774###(,/////rrc,eZdZdZdZdZdZdZdS)LogCaptureTestscNt}|j} tgx|_}t5}|ddddn #1swxYwY|dt |j|||_dS#||_wxYw)Nr#)r%INFOr#)rraobjectr 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.registerTrecordzKLogCapture instances not uninstalled by shutdown, loggers captured: (None,))testfixtures.mockrr r replaceregisterr atexitr mock_callsr assertTruelenstrmessager'set instances)rrmrr)expectedws r test_atexitzLogCaptureTests.test_atexit1s****** FF ZZ 1 IIAActd}d|_td5}|ddddn #1swxYwY|dt |jddS)NdisabledT a log message)rr}r)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)NrVTF) propagater)rVr}r)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)rrrrrrrrrrrr{r{sc000&BAAA ''' ( ( ( ( (rr{cbeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdS)TestCheckPresentct5}tdtdtdtdtddddn #1swxYwY|ddddS)Nrjunkrthreer%r}rr%WARNINGrr%rrr r%r&r/warningr>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%r/r 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&r/rr 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) NrrrrrrrFrArrs 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')]rFrArrs 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&r/r 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)NrrrrrFrA)r r%r&rr/r>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')]rrFrA)r r%r/r&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)Nrbr) levelnamerrs rextractz?TestCheckPresent.test_entries_are_dictionaries..extract6s#-&:K:K:M:MNN Nrrrrrr}rrFrAr)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')]rrrFrArrs 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%rrrVrrr{r~rrrrrs,,,,,,,,,,######111111""""""????????????y{{ii +& C/C/C/C/C/XC/C/C/LM(M(M(M(M(hM(M(M(`FFFFFvFFFFFr