§
    �Ÿj=  ã                   óÊ   — d Z ddlZddlZddlmZ ddlmZ ej        d„ ¦   «         Z	ej
        d„ ¦   «         Zd„ Zd„ Z G d	„ d
ej        ¦  «        Z G d„ dej        ¦  «        ZdS )z
Tests for testing.tools
é    N)Ú
decorators)Útoolsc                  óê   — d} t          j        | ddg¦  «        }|sJ ddk    g¦   «         ‚d} t          j        | ddg¦  «        }|sJ ddk    g¦   «         ‚t          j        | d¦  «        }|dgk    sJ ‚d S )	Nz/foo/bar.pyúa.txtúb.txtz
/foo/a.txtz
/foo/b.txtz/fooz/a.txtz/b.txt©ÚttÚ	full_path©ÚspathÚresults     úm/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/IPython/testing/tests/test_tools.pyÚtest_full_path_posixr      sš   € à€EÝŒ\˜% '¨7Ð!3Ñ4Ô4€FØÐ1Ð1�L LÒ0Ð1Ñ1Ô1Ð1Ø€EÝŒ\˜% '¨7Ð!3Ñ4Ô4€FØÐ)Ð)�H Ò(Ð)Ñ)Ô)Ð)ÝŒ\˜% Ñ)Ô)€FØ�h�ZÒÐÐÐÐÐó    c                  óê   — d} t          j        | ddg¦  «        }|sJ ddk    g¦   «         ‚d} t          j        | ddg¦  «        }|sJ ddk    g¦   «         ‚t          j        | d¦  «        }|dgk    sJ ‚d S )	Nzc:\foo\bar.pyr   r   zc:\foo\a.txtzc:\foo\b.txtzc:\foozc:\a.txtzc:\b.txtr   r   s     r   Útest_full_path_win32r   '   sœ   € à€EÝŒ\˜% '¨7Ð!3Ñ4Ô4€FØÐ9Ð9Ð$Ð(8Ò8Ð9Ñ9Ô9Ð9Ø€EÝŒ\˜% '¨7Ð!3Ñ4Ô4€FØÐ/Ð/�K ;Ò.Ð/Ñ/Ô/Ð/ÝŒ\˜% Ñ)Ô)€FØ�k�]Ò"Ð"Ð"Ð"Ð"Ð"r   c                  óx   — d} d}d}| ||fD ]-\  }}}t          j        |¦  «        \  }}||k    sJ ‚||k    sJ ‚Œ.d S )N)zFAILED (errors=1)é   r   )zFAILED (failures=1)r   r   )zFAILED (errors=1, failures=1)r   r   )r	   Úparse_test_output)ÚerrÚfailÚbothÚtxtÚnerrÚnfailÚnerr1Únfail1s           r   Útest_parserr   3   sh   € Ø
%€CØ(€DØ2€DØ  $¨Ð-ð ð ÑˆˆT�5ÝÔ,¨SÑ1Ô1‰ˆˆvØ�uŠ}ˆ}ˆ}ˆ}Ø˜Šˆˆˆˆðð r   c                  óþ   — d} t          j        | ¦  «        }t          j                             |¦  «        sJ ‚t          |d¬¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   || k    sJ ‚d S )Nzpass
zutf-8)Úencoding)r	   Útemp_pyfileÚosÚpathÚisfileÚopenÚread)ÚsrcÚfnameÚfh2Úsrc2s       r   Útest_temp_pyfiler+   =   s³   € Ø
€CÝŒN˜3ÑÔ€EÝŒ7�>Š>˜%Ñ Ô Ð Ð Ð Ý	ˆe˜gÐ	&Ñ	&Ô	&ð ¨#Ø�xŠx‰zŒzˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�3Š;ˆ;ˆ;ˆ;ˆ;ˆ;s   Á	A*Á*A.Á1A.c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestAssertPrintsc                 óº   — t          j        d¦  «        5  t          d¦  «         t          d¦  «         t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚabcÚabcdÚdefó   ghi©r	   ÚAssertPrintsÚprint©Úselfs    r   Útest_passingzTestAssertPrints.test_passingF   s—   € ÝŒ_˜UÑ#Ô#ð 	ð 	Ý�&‰MŒMˆMÝ�%‰LŒLˆLÝ�&‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ó   •.AÁAÁAc                 óB   — d„ }|                       t          |¦  «         d S )Nc                  óº   — t          j        d¦  «        5  t          d¦  «         t          d¦  «         t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr/   Úacdr1   r2   r3   © r   r   Úfuncz+TestAssertPrints.test_failing.<locals>.funcM   s—   € Ý” Ñ'Ô'ð ð Ý�e‘”�Ý�e‘”�Ý�f‘”�ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð r9   )ÚassertRaisesÚAssertionError)r7   r>   s     r   Útest_failingzTestAssertPrints.test_failingL   s/   € ð	ð 	ð 	ð 	×Ò�.¨$Ñ/Ô/Ð/Ð/Ð/r   N)Ú__name__Ú
__module__Ú__qualname__r8   rA   r=   r   r   r-   r-   E   s2   € € € € € ðð ð ð0ð 0ð 0ð 0ð 0r   r-   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_ipexec_validatec                 óh   — |                       d¦  «         d}t          j        | j        |¦  «         dS )z'Test with only stdout results.
        úprint('A')
print('B')
úA
BN©Úmktmpr	   Úipexec_validater(   ©r7   Úouts     r   Útest_main_pathz#Test_ipexec_validate.test_main_pathW   sA   € ð 	�
Š
ð "ñ 	ô 	ð 	ð ˆÝ
Ô˜4œ: sÑ+Ô+Ð+Ð+Ð+r   c                 óh   — |                       d¦  «         d}t          j        | j        |¦  «         dS )zGTest with only stdout results, expecting windows line endings.
        rH   úA
BNrJ   rM   s     r   Útest_main_path2z$Test_ipexec_validate.test_main_path2`   sA   € ð 	�
Š
ð "ñ 	ô 	ð 	ð ˆÝ
Ô˜4œ: sÑ+Ô+Ð+Ð+Ð+r   c                 ól   — |                       d¦  «         d}t          j        | j        |d¬¦  «         dS )z3Test exception path in exception_validate.
        úYimport sys
print('A')
print('B')
print('C', file=sys.stderr)
print('D', file=sys.stderr)
rI   zC
D©Úexpected_outÚexpected_errNrJ   rM   s     r   Útest_exception_pathz(Test_ipexec_validate.test_exception_pathi   sF   € ð 	�
Š
ð 3ñ 	ô 	ð 	ð ˆÝ
Ô˜4œ:°CÀfÐMÑMÔMÐMÐMÐMr   c                 ól   — |                       d¦  «         d}t          j        | j        |d¬¦  «         dS )zSTest exception path in exception_validate, expecting windows line endings.
        rT   rQ   zC
DrU   NrJ   rM   s     r   Útest_exception_path2z)Test_ipexec_validate.test_exception_path2u   sF   € ð 	�
Š
ð 3ñ 	ô 	ð 	ð ˆÝ
Ô˜4œ:°CÀhÐOÑOÔOÐOÐOÐOr   c                 óD   — t           j                             | ¦  «         d S )N)r	   ÚTempFileMixinÚtearDownr6   s    r   r]   zTest_ipexec_validate.tearDown‚   s!   € õ 	Ô×!Ò! $Ñ'Ô'Ð'Ð'Ð'r   N)rB   rC   rD   rO   rR   rX   rZ   r]   r=   r   r   rF   rF   V   se   € € € € € ð,ð ,ð ,ð,ð ,ð ,ð
Nð 
Nð 
Nð
Pð 
Pð 
Pð(ð (ð (ð (ð (r   rF   )Ú__doc__r"   ÚunittestÚIPython.testingr   Údecr   r	   Ú
skip_win32r   Úskip_if_not_win32r   r   r+   ÚTestCaser-   r\   rF   r=   r   r   ú<module>re      s  ððð ð 
€	€	€	Ø €€€à -Ð -Ð -Ð -Ð -Ð -Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð „ð ð  ñ „ð ð Ôð#ð #ñ Ôð#ðð ð ðð ð ð0ð 0ð 0ð 0ð 0�xÔ(ñ 0ô 0ð 0ð"/(ð /(ð /(ð /(ð /(˜2Ô+ñ /(ô /(ð /(ð /(ð /(r   