ó
    yžÉg½  ã                   ó~   • S SK r S SKrS SKrS SKJr   " S S\5      r " S S\ R                  5      r " S S\5      r	g)	é    N)ÚStringIOc                   ó.   • \ rS rSr\" S5      u  rrrrSr	g)ÚLogModeé%   é   © N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚrangeÚ
LogToErrorÚLogToDiagnosticsÚ	LogToYAMLÚLogToAttachmentÚ__static_attributes__r   ó    Ú-libexec/installed-tests/glib/taptestrunner.pyr   r   %   s   † Ù?DÀQ»xÑ<€JÐ  )«_r   r   c                   óº   ^ • \ rS rSrU 4S jrS rS rS rS rSS jr	SS jr
S	 rU 4S
 jrU 4S jrU 4S jrU 4S jrU 4S jrU 4S jrU 4S jrU 4S jrSrU =r$ )ÚTAPTestResulté)   c                 óê   >• [         [        U ]  X5        Xl        X l        S U l        S U l        S U l        S U l        X0l	        X@l
        U R                  R                  S5        U R                  5         g )NzTAP version 13
)Úsuperr   Ú__init__Úoutput_streamÚerror_streamÚorig_stdoutÚorig_stderrÚmessageÚtest_outputÚmessage_logÚtest_output_logÚwriteÚ_set_streams)Úselfr   r   r!   r"   Ú	__class__s        €r   r   ÚTAPTestResult.__init__*   sj   ø€ ÜŒm˜TÑ+¨DÔ@Ø*ÔØ(ÔØˆÔØˆÔØˆŒØˆÔØ&ÔØ.ÔØ×Ñ× Ñ Ð!3Ô4Ø×ÑÕr   c                 ó`   • U R                  SU R                  -  5        U R                  5         g )Nz1..%d
)Ú	print_rawÚtestsRunÚ_reset_streams©r%   s    r   ÚprintErrorsÚTAPTestResult.printErrors7   s#   € Ø�‰�y 4§=¡=Ñ0Ô1Ø×ÑÕr   c                 óê  • [         R                  U l        [         R                  U l        U R
                  [        R                  :X  a  U R                  U l	        O[        5       U l	        U R                  [        R                  :X  a  U R                  U l        O[        5       U l        U R
                  U R                  :X  a  U R                  U l        U R                  =[         l        [         l        g ©N)ÚsysÚstdoutr   Ústderrr   r!   r   r   r   r   r   r"   r    r,   s    r   r$   ÚTAPTestResult._set_streams;   s¤   € ÜŸ:™:ˆÔÜŸ:™:ˆÔØ×Ñœw×1Ñ1Ó1Ø×,Ñ,ˆD�Lä#›:ˆDŒLØ×Ñ¤7×#5Ñ#5Ó5Ø#×0Ñ0ˆDÕä'›zˆDÔà×Ñ˜t×3Ñ3Ó3Ø#Ÿ|™|ˆDÔØ"&×"2Ñ"2Ð2ŒŒ
”S•Zr   c                 óX   • U R                   [        l        U R                  [        l        g r0   )r   r1   r2   r   r3   r,   s    r   r+   ÚTAPTestResult._reset_streamsK   s   € Ø×%Ñ%ŒŒ
Ø×%Ñ%Œ�
r   c                 ón   • U R                   R                  U5        U R                   R                  5         g r0   )r   r#   Úflush)r%   Útexts     r   r)   ÚTAPTestResult.print_rawO   s(   € Ø×Ñ× Ñ  Ô&Ø×Ñ× Ñ Õ"r   c                 ó(  • U R                   R                  SXR                  UR                  5       4-  5        U(       a  U R                   R                  SU-   5        U R                   R                  S5        U R                   R	                  5         g )Nz%s %d %sz # Ú
)r   r#   r*   Úidr8   )r%   ÚresultÚtestÚ	directives       r   Úprint_resultÚTAPTestResult.print_resultS   sl   € Ø×Ñ× Ñ  ¨v·}±}ÀdÇgÁgÃiÐ.PÑ!PÔQÞØ×Ñ×$Ñ$ U¨YÑ%6Ô7Ø×Ñ× Ñ  Ô&Ø×Ñ× Ñ Õ"r   c                 ó(   • U R                  SX5        g )NÚok©rA   )r%   r?   r@   s      r   rD   ÚTAPTestResult.okZ   s   € Ø×Ñ˜$ Õ0r   c                 ó(   • U R                  SU5        g )Nznot okrE   )r%   r?   s     r   Únot_okÚTAPTestResult.not_ok]   s   € Ø×Ñ˜( DÕ)r   c                 ó,   >• [         [        U ]  U5        g r0   )r   r   Ú	startTest©r%   r?   r&   s     €r   rK   ÚTAPTestResult.startTest`   s   ø€ ÜŒm˜TÑ,¨TÕ2r   c                 óz  >• [         [        U ]  U5        U R                  U R                  :X  a  U R                  U R
                  S4/nO2U R                  U R                  S4U R                  U R
                  S4/nU GH¹  u  p4nU[        R                  :w  d  M  UR                  5       n[        U5      (       GaY  U[        R                  :X  ao  U R                  S5        U R                  SU-   S-   5        U R                  SUR                  5       R                  SS	5      -   S-   5        U R                  S
5        OÖU[        R                  :X  a�  U R                  S5        U R                  SU-   S-   5        U R                  SU-   S-   5        U R                  S5        U R                  S[         R"                  " U5      -   S-   5        U R                  S
5        O5U R                  SUR                  5       R                  SS5      -   S-   5        UR%                  S5        UR'                  S5        GM¼     g )NÚoutputr    r   z  ---
z    z: |
z      r<   z
      z  ...
z:
z      File-Name: z.txt
z      File-Type: text/plain
z      File-Content: z# z
# r   )r   r   ÚstopTestr!   r"   r   r    r   r   ÚgetvalueÚlenr   r)   ÚrstripÚreplacer   Úbase64Ú	b64encodeÚseekÚtruncate)r%   r?   ÚlogsÚlog_modeÚlogÚlog_namerO   r&   s          €r   rP   ÚTAPTestResult.stopTestc   sÛ  ø€ ÜŒm˜TÑ+¨DÔ1Ø×Ñ˜t×3Ñ3Ó3Ø×%Ñ% t§|¡|°XÐ>Ð?‰Dð ×%Ñ% t×'7Ñ'7¸ÐGØ×!Ñ! 4§<¡<°Ð;ðˆDô (,Ñ#ˆH˜8Øœ7×-Ñ-Õ-ØŸ™›�Ü�v—;’;Ø¤7×#4Ñ#4Ó4ØŸ™ yÔ1ØŸ™ v°Ñ'8¸7Ñ'BÔCØŸ™Ø$ v§}¡}£×'>Ñ'>¸tÀZÓ'PÑPÐSWÑWôð Ÿ™ yÕ1Ø!¤W×%<Ñ%<Ó<ØŸ™ yÔ1ØŸ™ v°Ñ'8¸5Ñ'@ÔAØŸ™Ð':¸XÑ'EÈÑ'PÔQØŸ™Ð'FÔGØŸ™Ø2´V×5EÒ5EÀfÓ5MÑMÐPTÑTôð Ÿ™ yÕ1àŸ™Ø  6§=¡=£?×#:Ñ#:¸4ÀÓ#HÑHÈ4ÑOôð
 —‘˜”Ø—‘˜Q—ò7 (,r   c                 óN   >• [         [        U ]  U5        U R                  U5        g r0   )r   r   Ú
addSuccessrD   rL   s     €r   r_   ÚTAPTestResult.addSuccess‰   s   ø€ ÜŒm˜TÑ-¨dÔ3Ø�‰��r   c                 óª   >• [         [        U ]  X5        U R                  R	                  U R
                  S   S   S-   5        U R                  U5        g ©Néÿÿÿÿé   r<   )r   r   ÚaddErrorr   r#   ÚerrorsrH   ©r%   r?   Úerrr&   s      €r   re   ÚTAPTestResult.addError�   sB   ø€ ÜŒm˜TÑ+¨DÔ6Ø�‰×Ñ˜4Ÿ;™; r™?¨1Ñ-°Ñ4Ô5Ø�‰�DÕr   c                 óª   >• [         [        U ]  X5        U R                  R	                  U R
                  S   S   S-   5        U R                  U5        g rb   )r   r   Ú
addFailurer   r#   ÚfailuresrH   rg   s      €r   rk   ÚTAPTestResult.addFailure’   sC   ø€ ÜŒm˜TÑ-¨dÔ8Ø�‰×Ñ˜4Ÿ=™=¨Ñ,¨QÑ/°$Ñ6Ô7Ø�‰�DÕr   c                 óV   >• [         [        U ]  X5        U R                  USU-   5        g )NzSKIP )r   r   ÚaddSkiprD   )r%   r?   Úreasonr&   s      €r   ro   ÚTAPTestResult.addSkip—   s%   ø€ ÜŒm˜TÑ*¨4Ô8Ø�‰��g Ñ&Õ'r   c                 óN   >• [         [        U ]  X5        U R                  U5        g r0   )r   r   ÚaddExpectedFailurerD   rg   s      €r   rs   Ú TAPTestResult.addExpectedFailure›   s   ø€ ÜŒm˜TÑ5°dÔ@Ø�‰��r   c                 ó„   >• [         [        U ]  U5        U R                  R	                  S5        U R                  U5        g )NzUnexpected success
)r   r   ÚaddUnexpectedSuccessr   r#   rH   rL   s     €r   rv   Ú"TAPTestResult.addUnexpectedSuccessŸ   s1   ø€ ÜŒm˜TÑ7¸Ô=Ø�‰×ÑÐ6Ô7Ø�‰�DÕr   )r   r   r!   r   r   r   r    r"   r0   )r	   r
   r   r   r   r-   r$   r+   r)   rA   rD   rH   rK   rP   r_   re   rk   ro   rs   rv   r   Ú__classcell__)r&   s   @r   r   r   )   sY   ø† õòò3ò &ò#ô#ô1ò*õ3õ$ õLõõ
õ
(õ÷ó r   r   c                   ó|   • \ rS rSr\R
                  \R                  \R                  \R                  4S jr
S rSrg)ÚTAPTestRunneré¥   c                 ó4   • X0l         X@l        Xl        X l        g r0   )r   r   r!   r"   )r%   r!   r"   r   r   s        r   r   ÚTAPTestRunner.__init__¦   s   € ð +ÔØ(ÔØ&ÔØ.Õr   c                 ó¢   • [        U R                  U R                  U R                  U R                  5      nU" U5        UR                  5         U$ r0   )r   r   r   r!   r"   r-   )r%   r?   r>   s      r   ÚrunÚTAPTestRunner.run²   sJ   € ÜØ×ÑØ×ÑØ×ÑØ× Ñ ó	
ˆñ 	ˆVŒØ×ÑÔàˆr   )r   r!   r   r"   N)r	   r
   r   r   r   r   r   r1   r2   r3   r   r   r   r   r   r   rz   rz   ¥   s.   † ð ×%Ñ%Ø×0Ñ0Ø—j‘jØ—Z‘Zô
/õ
r   rz   )
Úunittestr1   rU   Úior   Úobjectr   Ú
TestResultr   rz   r   r   r   Ú<module>r…      sB   ðó< Û 
Û Ý ôHˆfô Hôy�H×'Ñ'ô yôx�Fõ r   