bg+jddlZddlmZddlZddlZddlmZddlmZddl m Z GddeZ dS)N)StringIO)mock)TestCase)TrackerceZdZdZdZdZdZdZdZdZ dZ d Z d Z e jd d d Ze jd ddZdZdZe jd d dZe jd d dZe jd d dZdZe jd d dZe jd d dZe jd d dZe jd d dZe jd d dZe jd ddZdZdZdZdZ d Z!e jd d d!Z"d"S)# TestTrackerc.d|S)Nz# TAP results for {test_case}) test_case)format)selfr s g/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/tap/tests/test_tracker.py _make_headerzTestTracker._make_header s.55 5JJJcXt}||jidSN)r assertEqual _test_casesr trackers r test_has_test_caseszTestTracker.test_has_test_casess*)) ,b11111rct}|d||jdgdS)N FakeTestClass)r_trackrrgetrs r test_tracks_classzTestTracker.test_tracks_classsJ))''' ,00AA2FFFFFrct}|dd|jdd}||j||jddSN FakeTestCase a descriptionr)radd_okr assertTrueokr descriptionr rlines r test_adds_okzTestTracker.test_adds_oksd))~777">215     )?;;;;;rct}|dd|jdd}||j||jddSr)r add_not_okr assertFalser"rr#r$s r test_adds_not_okzTestTracker.test_adds_not_oksh))>?;;;">215 !!! )?;;;;;rc t}|ddd|jdd}||j||jd||jjddS)Nrra reasonrz SKIP a reason) radd_skiprr!r"rr# directivetextr$s r test_adds_skipzTestTracker.test_adds_skip&s))*EEE">215     )?;;; ,o>>>>>rctj}tj|ddd}t |}|dd|tj|d}|tj |dS)Nnonexistentpathoutdirr!I should be in the specified dir.FakeTestCase.tap) tempfilemkdtemposr4joinrr generate_tap_reportsr!exists)r tempdirr6rtap_files r (test_generates_tap_reports_in_new_outdirz4TestTracker.test_generates_tap_reports_in_new_outdir.s"$$guj&AA(((~'JKKK$$&&&7<<(:;; x0011111rcDtj}t|}|dd|t j|d}|t j |dS)Nr5rr7r8) r9r:rr r=r;r4r<r!r>)r r6rr@s r -test_generates_tap_reports_in_existing_outdirz9TestTracker.test_generates_tap_reports_in_existing_outdir9s!##(((~'JKKK$$&&&7<<(:;; x0011111rcVt}||jdSr)rr)combinedrs r $test_results_not_combined_by_defaultz0TestTracker.test_results_not_combined_by_defaultCs()) )*****rc^tj}t|d}|ddt }|d|jd||}|d|v| d|vdS)NTr6rErzLook ma, no plan!zLook maz1..) r9r:rr rgenerate_tap_reportrgetvaluer!r))r r6rout_filereports r 0test_individual_report_has_no_plan_when_combinedzr<openreadinspectcleandocr rrstripr r6rfrLexpecteds r 0test_combined_results_in_one_file_tap_version_12z::**+BCC    222223EEETctj}t|d}|dd|dd||t jt j |d|t jt j |dtt j |d d 5}| }dddn #1swxYwYtj d |d|d }|||dS) NTrHrrOrPrQr8rRrSrTz TAP version 13 {header_1} ok 1 YESSS! {header_2} ok 2 GOAAL! 1..2 rUrXr^s r 0test_combined_results_in_one_file_tap_version_13z::**+BCC    22222rbcVt}||jdSr)rr) streamingrs r 'test_tracker_does_not_stream_by_defaultz3TestTracker.test_tracker_does_not_stream_by_defaults()) *+++++rcZt}||jdudSr)rr!streamrs r test_tracker_has_streamz#TestTracker.test_tracker_has_streams*)) $./////rct}td|}|dd|ddtjd|d|d}|| |dS) NTrfrirrOAnotherTestCasezSure.z]{header_1} ok 1 YESSS! {header_2} ok 2 Sure. rU) rrr r[r\r rrrJr]r rirr`s r ,test_add_ok_writes_to_stream_while_streamingz8TestTracker.test_add_ok_writes_to_stream_while_streamingsD888~x000('222# **>::**+<==    **0022H=====rcZt}td|}|ddtjd|d}|| |dS)NTrlrrOz1{header} not ok 1 YESSS! header) rrr(r[r\r rrrJr]rns r 0test_add_not_ok_writes_to_stream_while_streamingz8444# ((88   **0022H=====rc\t}td|}|dddtjd|d}|| |dS)NTrlrrOr,z={header} ok 1 YESSS! # SKIP a reason rq rrr-r[r\r rrrJr]rns r .test_add_skip_writes_to_stream_while_streamingz:TestTracker.test_add_skip_writes_to_stream_while_streamingsD888:>>># ((88   **0022H=====rc`tj}t}t|d|}|dd||tj tj |ddS)NTr6rfrirrOr8) r9r:rrr r=r)r;r4r>r<r r6rirs r #test_streaming_does_not_write_filesz/TestTracker.test_streaming_does_not_write_filess!##4GGG~x000$$&&&  V=O(P(PQQRRRRRrct}td|}d|_|||ddS)NTrl*z1..42 )rrcombined_line_numberr=rrJ)r rirs r test_streaming_writes_planz&TestTracker.test_streaming_writes_plans]D888')$$$&&& **I66666rc(tj}t}t|d|}|d|dd|||d | d| tj tj |ddS) NTrx{rrOz1..123 {header} ok 1 YESSS! rqr8)r9r:rrset_planr r=rrJr rr)r;r4r>r<rys r test_write_plan_first_streamingz+TestTracker.test_write_plan_first_streamings!##4GGG~x000$$&&&  OO   - 4 4((88 5      V=O(P(PQQRRRRRrct}td|d||ddS)NTr)rfriplan1..123 )rrrrJ)r ris r #test_write_plan_immediate_streamingz/TestTracker.test_write_plan_immediate_streamingsF$vC8888 **J77777rctj}td|d}|d|t t j|dd5}| }dddn #1swxYwY| |dddS) NFTrfr6rErrSrTrr) r9r:rrr=rYr;r4r< readlinesr)r r6rr_liness r test_write_plan_first_combinedz*TestTracker.test_write_plan_first_combineds!##E&4HHH$$&&& "',,v'8993 ? ? "1KKMME " " " " " " " " " " " " " " " q:.....s=BB"%B"ctj}td|d}|t5|dddddS#1swxYwYdS)NFrr)r9r:r assertRaises ValueErrorr)r r6rs r "test_write_plan_first_not_combinedz.TestTracker.test_write_plan_first_not_combineds!##E&5III   z * * " "   S ! ! ! " " " " " " " " " " " " " " " " " "sA##A'*A'c\t}td|}|dddtjd|d}|| |dS)NTrlrrOr,ze TAP version 13 {header} ok 1 YESSS! # SKIP a reason rqrurns r $test_streaming_writes_tap_version_13z0TestTracker.test_streaming_writes_tap_version_13sD888:>>># ((88    **0022H=====rcxt}|d}|d|dS)Nfoozfoo.tapr_get_tap_file_pathrr r file_paths r test_get_default_tap_file_pathz*TestTracker.test_get_default_tap_file_paths:))..u55  I.....rcxt}|d}|d|dS)Nzan awful \ testcase / name zan-awful---testcase---name-.taprrs r test_sanitizes_tap_file_pathz(TestTracker.test_sanitizes_tap_file_paths<))../NOO  :IFFFFFrct}|ddd|jdd}|d|jdS)Nrrz # more info ) diagnosticsr)rr(rrrr$s r !test_adds_not_ok_with_diagnosticsz-TestTracker.test_adds_not_ok_with_diagnostics$sW))>?XXX">215 $*:;;;;;rcVt}||jdSr)rr!rrrs r test_header_displayed_by_defaultz,TestTracker.test_header_displayed_by_default*s%)) '''''rcZtd}||jdS)NFrq)rr)rrrs r test_header_set_by_initz#TestTracker.test_header_set_by_init.s.''' (((((rct}td|d}|dddtjd}|||dS)NTF)rfrirrrrOr,z5 ok 1 YESSS! # SKIP a reason )rrr-r[r\rrJr]rns r test_does_not_write_headerz&TestTracker.test_does_not_write_header2sDFFF:>>>#    **0022H=====rN)#__name__ __module__ __qualname__rrrr&r*r0rArCrFrMrpatchrardrgrjrorsrvrzr~rrrrrrrrrrrrr rr s5KKK222GGG <<<<<<??? 2 2 2222+++ * * *TZ/77338736TZ/6633763:,,,000TZ/77>>87>&TZ/77 > >87 >TZ/77 > >87 >SSSTZ/7777877TZ/77SS87S"TZ/7788878 TZ/77//87/TZ/77""87" TZ/66>>76>"/// GGG <<< ((()))TZ/77 > >87 > > >rr) r[iorr;r9unittestr tap.testsr tap.trackerrrrrr rs s>s>s>s>s>(s>s>s>s>s>r