§
    ç·jåg  ã                   ó   — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ ej        Z G d„ d	ej        ¦  «        Zed
k    r ej        ¦   «          dS dS )é    N)Úsupport)Úimport_helper)Ú	os_helper)Úscript_helper)Úsocket_helper)Úwarnings_helperc                   ó|  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Z	 e
j        d¦  «        d„ ¦   «         Zd	„ Zd
„ Zd„ Zd„ Z ej        ¦   «         d„ ¦   «         Z ej        ¦   «         d„ ¦   «         Z ej        ¦   «         d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Z ej        ¦   «         d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d „ Z'd!„ Z(d"„ Z)d#„ Z*d$„ Z+d%„ Z,d&„ Z- G d'„ d(¦  «        Z. G d)„ d*¦  «        Z/d+„ Z0d,„ Z1d-„ Z2 e
j3         e4e5d.¦  «        o e4e5d/¦  «        d0¦  «         ej        ¦   «         d1„ ¦   «         ¦   «         Z6 ej7        ¦   «         d=d3„¦   «         Z8d4„ Z9d5„ Z:d6„ Z; e
j<        ej=        d7¦  «         e
j<        ej>        d8¦  «        d9„ ¦   «         ¦   «         Z?d:„ Z@d;„ ZAd<„ ZBd2S )>ÚTestSupportc                 óè   — t          t          j        ¦  «        }t          j        dd¬¦  «        | _        t          j        dd¬¦  «        | _        t          t          j        ¦  «        |dz   k    sJ ‚d S )Nztest.support.warnings_helperz.*used in test_support.*)Úlikeztest.test_supportz!.*You should NOT be seeing this.*é   )ÚlenÚwarningsÚfiltersr   Úignore_deprecations_fromÚ_warnings_helper_tokenÚ_test_support_token©ÚclsÚorig_filter_lens     ú(/usr/lib/python3.11/test/test_support.pyÚ
setUpClasszTestSupport.setUpClass   s}   € å�hÔ.Ñ/Ô/ˆÝ%,Ô%EØ*Ð1Kð&
ñ &
ô &
ˆÔ"õ #*Ô"BØÐ&Ið#
ñ #
ô #
ˆÔõ •8Ô#Ñ$Ô$¨¸!Ñ(;Ò;Ð;Ð;Ð;Ð;Ð;ó    c                 óº   — t          t          j        ¦  «        }t          j        | j        | j        ¦  «         t          t          j        ¦  «        |dz
  k    sJ ‚d S )Nr   )r   r   r   r   Úclear_ignored_deprecationsr   r   r   s     r   ÚtearDownClasszTestSupport.tearDownClass&   s\   € å�hÔ.Ñ/Ô/ˆÝÔ*ØÔ&ØÔ#ñ	
ô 	
ð 	
õ •8Ô#Ñ$Ô$¨¸!Ñ(;Ò;Ð;Ð;Ð;Ð;Ð;r   c                 ó  — t          j        d¬¦  «        5 }t          j        ¦   «          t          j        dt
          ¦  «         d„ |D ¦   «         }ddd¦  «         n# 1 swxY w Y   |                      t          |¦  «        d|¦  «         dS )z9Test support.ignore_deprecations_from() silences warningsT)ÚrecordzYou should NOT be seeing this.c                 ó6   — g | ]}t          |j        ¦  «        ‘ŒS © ©ÚstrÚmessage©Ú.0Úws     r   ú
<listcomp>zDTestSupport.test_ignored_deprecations_are_silent.<locals>.<listcomp>4   s    € Ð=Ð=Ð=¨1�˜AœI™œÐ=Ð=Ð=r   Nr   )r   Úcatch_warningsr   Ú_warn_about_deprecationÚwarnÚDeprecationWarningÚassertEqualr   )ÚselfÚwarning_objsÚmessagess      r   Ú$test_ignored_deprecations_are_silentz0TestSupport.test_ignored_deprecations_are_silent/   sÄ   € åÔ$¨DÐ1Ñ1Ô1ð 	>°\ÝÔ3Ñ5Ô5Ð5ÝŒMÐ:Õ<NÑOÔOÐOØ=Ð=°Ð=Ñ=Ô=ˆHð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	×Ò�˜X™œ¨¨8Ñ4Ô4Ð4Ð4Ð4s   –:AÁA Á#A c                 ó„   — t          j        d¦  «         |                      t          j        t           j        d¦  «         d S )NÚftplibÚfoo)r   Úimport_moduleÚassertRaisesÚunittestÚSkipTest©r-   s    r   Útest_import_modulezTestSupport.test_import_module7   sB   € ÝÔ# HÑ-Ô-Ð-Ø×Ò�(Ô+Ý'Ô5°uñ	>ô 	>ð 	>ð 	>ð 	>r   c                 ó.   — t          j        d¦  «         d S )Nr2   )r   Úimport_fresh_moduler8   s    r   Útest_import_fresh_modulez$TestSupport.test_import_fresh_module<   s   € ÝÔ)¨(Ñ3Ô3Ð3Ð3Ð3r   c                 óº   — |                       t          j        | d¦  «        | j        ¦  «         |                      t
          j        t          j        | d¦  «         d S )NÚtest_get_attributer3   )r,   r   Úget_attributer>   r5   r6   r7   r8   s    r   r>   zTestSupport.test_get_attribute?   sV   € Ø×Ò�Ô.¨tÐ5IÑJÔJØÔ/ñ	1ô 	1ð 	1à×Ò�(Ô+­WÔ-BÀDÈ%ÑPÔPÐPÐPÐPr   zfailing buildbotsc                 óh   — |                       t          j        ¦   «         t          j        ¦  «         d S ©N)r,   r   Úget_original_stdoutÚsysÚstdoutr8   s    r   Útest_get_original_stdoutz$TestSupport.test_get_original_stdoutD   s)   € à×Ò�Ô4Ñ6Ô6½¼
ÑCÔCÐCÐCÐCr   c                 ó¶   — dd l }|                      dt          j        ¦  «         t	          j        d¦  «         |                      dt          j        ¦  «         d S )Nr   Úsched)rG   ÚassertInrC   Úmodulesr   ÚunloadÚassertNotIn)r-   rG   s     r   Útest_unloadzTestSupport.test_unloadH   sP   € ØˆˆˆØ�Š�g�sœ{Ñ+Ô+Ð+ÝÔ˜WÑ%Ô%Ð%Ø×Ò˜¥#¤+Ñ.Ô.Ð.Ð.Ð.r   c                 ó8  — t          t          dd¬¦  «        5 }	 d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «         |                      t
          j                             t          ¦  «        ¦  «         t          j        t          ¦  «         d S )Nr&   úutf-8©Úencoding)ÚopenÚTESTFNr   ÚunlinkÚassertFalseÚosÚpathÚexists)r-   Úfs     r   Útest_unlinkzTestSupport.test_unlinkN   s¶   € Ý•&˜#¨Ð0Ñ0Ô0ð 	°AØð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åÔ�Ñ Ô Ð Ø×Ò�œŸš­Ñ/Ô/Ñ0Ô0Ð0ÝÔ�Ñ Ô Ð Ð Ð s   ˜&¦*­*c                 óÔ  — t           j        dz   }t          j                             |d¦  «        }t          j        |¦  «         t          j        |¦  «         t          j        |¦  «         |                      t          j                             |¦  «        ¦  «         t          j
        t          dd¦  «        5  t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         t          j        |¦  «         t          j        |t          j        t          j        z  ¦  «         t          j
        t          dd¦  «        5  t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          j                             |¦  «        ¦  «         t          j        |¦  «         t          j        |¦  «         t          j        |d¦  «         t          j
        t          dd¦  «        5  t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          j                             |¦  «        ¦  «         d S )NÚdÚsubdirÚverboser   )r   rR   rU   rV   ÚjoinÚmkdirÚrmtreerT   rW   r   Ú	swap_attrÚchmodÚstatÚS_IRUSRÚS_IXUSR)r-   ÚdirpathÚ
subdirpaths      r   Útest_rmtreezTestSupport.test_rmtreeU   s¡  € ÝÔ" SÑ(ˆÝ”W—\’\ '¨8Ñ4Ô4ˆ
Ý
Œ�ÑÔÐÝ
Œ�ÑÔÐÝÔ˜Ñ!Ô!Ð!Ø×Ò�œŸš¨Ñ0Ô0Ñ1Ô1Ð1ÝÔ�w¨	°1Ñ5Ô5ð 	&ð 	&ÝÔ˜WÑ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&õ 	Œ�ÑÔÐÝ
Œ�ÑÔÐÝ
Œ��$œ,¥t¤|Ñ3Ñ4Ô4Ð4ÝÔ�w¨	°1Ñ5Ô5ð 	&ð 	&ÝÔ˜WÑ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&à×Ò�œŸš¨Ñ0Ô0Ñ1Ô1Ð1å
Œ�ÑÔÐÝ
Œ�ÑÔÐÝ
Œ�˜!ÑÔÐÝÔ�w¨	°1Ñ5Ô5ð 	&ð 	&ÝÔ˜WÑ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&à×Ò�œŸš¨Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s6   Â9CÃCÃ!CÅE5Å5E9Å<E9È
H+È+H/È2H/c                 óØ  — t           dz   }t          |dd¬¦  «        5 }t          d|¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j                             dt          j        ¦  «         t          j	        ¦   «          	 t          t           ¦  «        }|                      t           t          j        ¦  «         t          j        t           ¦  «         |                      t           t          j        ¦  «         t          j        d= t!          j        |¦  «         t!          j        d¦  «         d S # t          j        d= t!          j        |¦  «         t!          j        d¦  «         w xY w)	Nz.pyr&   rN   rO   zfoo = 1©Úfiler   Ú__pycache__)rR   rQ   ÚprintrC   rV   ÚinsertrU   ÚcurdirÚ	importlibÚinvalidate_cachesÚ
__import__rH   rI   r   ÚforgetrK   r   rS   r`   )r-   Úmod_filenamerX   Úmods       r   Útest_forgetzTestSupport.test_forgetm   sb  € Ý ‘~ˆÝ�, ¨gÐ6Ñ6Ô6ð 	%¸!Ý�) !Ð$Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%åŒ�Š˜�2œ9Ñ%Ô%Ð%ÝÔ#Ñ%Ô%Ð%ð		,Ý�VÑ$Ô$ˆCØ�MŠM�&¥#¤+Ñ.Ô.Ð.åÔ ¥Ñ(Ô(Ð(Ø×Ò�V¥S¤[Ñ1Ô1Ð1å”˜�ÝÔ˜\Ñ*Ô*Ð*ÝÔ˜]Ñ+Ô+Ð+Ð+Ð+øõ ”˜�ÝÔ˜\Ñ*Ô*Ð*ÝÔ˜]Ñ+Ô+Ð+Ð+øøøs   �;»?Á?ÂA7D2 Ä27E)c                 ón   — t          j        t          j        df¦  «        }|                     ¦   «          d S )Nr   )ÚsocketÚcreate_serverr   ÚHOSTÚclose©r-   Úss     r   Ú	test_HOSTzTestSupport.test_HOST~   s+   € åÔ ¥-Ô"4°aÐ!8Ñ9Ô9ˆØ	�Š‰	Œ	ˆ	ˆ	ˆ	r   c                 ó”   — t          j        ¦   «         }t          j        t           j        |f¦  «        }|                     ¦   «          d S rA   )r   Úfind_unused_portrx   ry   rz   r{   )r-   Úportr}   s      r   Útest_find_unused_portz!TestSupport.test_find_unused_portƒ   s9   € åÔ-Ñ/Ô/ˆÝÔ ¥-Ô"4°dÐ!;Ñ<Ô<ˆØ	�Š‰	Œ	ˆ	ˆ	ˆ	r   c                 ó¤   — t          j         ¦   «         }t          j        |¦  «         |                     ¦   «          |                     ¦   «          d S rA   )rx   r   Ú	bind_portÚlistenr{   r|   s     r   Útest_bind_portzTestSupport.test_bind_port‰   s<   € åŒM‰OŒOˆÝÔ Ñ"Ô"Ð"Ø	�Š‰
Œ
ˆ
Ø	�Š‰	Œ	ˆ	ˆ	ˆ	r   c                 ó¶  — t          j        ¦   «         }t          j                             |¦  «        }	 t          j                             |d¦  «        }|                      t          j                             |¦  «        ¦  «         t          j	        |¦  «        5 }|  
                    ||¦  «         |                      t          j                             |¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   |                      t          j                             |¦  «        ¦  «         t          j        |¦  «         dS # t          j        |¦  «         w xY w)z8Test that temp_dir() creates and destroys its directory.ÚtempN)ÚtempfileÚmkdtemprU   rV   Úrealpathr^   rT   Úisdirr   Útemp_dirr,   Ú
assertTruer`   )r-   Ú
parent_dirrV   Ú	temp_paths       r   Útest_temp_dirzTestSupport.test_temp_dir’   sL  € åÔ%Ñ'Ô'ˆ
Ý”W×%Ò% jÑ1Ô1ˆ
ð	)Ý”7—<’< 
¨FÑ3Ô3ˆDØ×Ò�RœWŸ]š]¨4Ñ0Ô0Ñ1Ô1Ð1ÝÔ# DÑ)Ô)ð 5¨YØ× Ò  ¨DÑ1Ô1Ð1Ø—’¥¤§¢¨dÑ 3Ô 3Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð ×Ò�RœWŸ]š]¨4Ñ0Ô0Ñ1Ô1Ð1åÔ˜ZÑ(Ô(Ð(Ð(Ð(ø�IÔ˜ZÑ(Ô(Ð(Ð(øøøs1   ´A&E ÂA	C/Ã#E Ã/C3Ã3E Ã6C3Ã75E ÅEc                 ó$  — t          j        ¦   «         5 }|                      t          j                             |¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   |                      t          j                             |¦  «        ¦  «         dS )zTest passing no path.N)r   r�   rŽ   rU   rV   rŒ   rT   )r-   r�   s     r   Útest_temp_dir__path_nonez$TestSupport.test_temp_dir__path_none¡   s«   € åÔÑ!Ô!ð 	6 YØ�OŠO�BœGŸMšM¨)Ñ4Ô4Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6à×Ò�œŸš yÑ1Ô1Ñ2Ô2Ð2Ð2Ð2s   ”3AÁAÁAc                 óÌ  — d„ }t          j        ¦   «         }t          j                             |¦  «        }	 |                      t          j                             |¦  «        ¦  «         |                      t          ||¦  «         |                      t          j                             |¦  «        ¦  «         t          j
        |¦  «         dS # t          j
        |¦  «         w xY w)z-Test passing a directory that already exists.c                 ód   — t          j        | ¦  «        5 }t          d¦  «        ‚# 1 swxY w Y   d S ©Nzshould not get here)r   r�   Ú	Exception)rV   r�   s     r   Úcall_temp_dirzMTestSupport.test_temp_dir__existing_dir__quiet_default.<locals>.call_temp_dir©   s[   € ÝÔ# DÑ)Ô)ð 7¨YÝÐ 5Ñ6Ô6Ð6ð7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7ó   •%¥)¬)N)r‰   rŠ   rU   rV   r‹   rŽ   rŒ   r5   ÚFileExistsErrorÚshutilr`   )r-   r˜   rV   s      r   Ú*test_temp_dir__existing_dir__quiet_defaultz6TestSupport.test_temp_dir__existing_dir__quiet_default§   s¿   € ð	7ð 	7ð 	7õ ÔÑ!Ô!ˆÝŒw×Ò Ñ%Ô%ˆð	 Ø�OŠO�BœGŸMšM¨$Ñ/Ô/Ñ0Ô0Ð0Ø×Ò�o¨}¸dÑCÔCÐCà�OŠO�BœGŸMšM¨$Ñ/Ô/Ñ0Ô0Ð0åŒM˜$ÑÔÐÐÐø�FŒM˜$ÑÔÐÐøøøs   ·B C ÃC#c                 óÞ  — t          j        ¦   «         }t          j                             |¦  «        }	 t          j        ¦   «         5 }t          j        |d¬¦  «        5 }|  	                    ||¦  «         ddd¦  «         n# 1 swxY w Y   d„ |j
        D ¦   «         }ddd¦  «         n# 1 swxY w Y   |                      t          j                             |¦  «        ¦  «         t          j        |¦  «         n# t          j        |¦  «         w xY w|  	                    t          |¦  «        d|¦  «         |d         }|                      |                     d|›d�¦  «        |¦  «         dS )	z=Test passing a directory that already exists with quiet=True.T©ÚquietNc                 ó6   — g | ]}t          |j        ¦  «        ‘ŒS r    r!   r$   s     r   r'   zGTestSupport.test_temp_dir__existing_dir__quiet_true.<locals>.<listcomp>À   ó    € ÐFÐFÐF¨q�C ¤	™NœNÐFÐFÐFr   é   r   z5tests may fail, unable to create temporary directory ú: )r‰   rŠ   rU   rV   r‹   r   Úcheck_warningsr   r�   r,   r   rŽ   rŒ   r›   r`   r   Ú
startswith)r-   rV   Úrecorderr�   r   r*   s         r   Ú'test_temp_dir__existing_dir__quiet_truez3TestSupport.test_temp_dir__existing_dir__quiet_true·   sñ  € åÔÑ!Ô!ˆÝŒw×Ò Ñ%Ô%ˆð	 Ý Ô/Ñ1Ô1ð G°XÝÔ'¨°DÐ9Ñ9Ô9ð 6¸YØ×$Ò$ T¨9Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6àFÐF°HÔ4EÐFÑFÔF�ðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð
 �OŠO�BœGŸMšM¨$Ñ/Ô/Ñ0Ô0Ð0åŒM˜$ÑÔÐÐø�FŒM˜$ÑÔÐÐøøøà×Ò�˜X™œ¨¨8Ñ4Ô4Ð4Ø˜Œ{ˆØ�Š˜Ÿšð )JØ?Cð)Jð )Jð )Jñ Kô Kàñ	ô 	ð 	ð 	ð 	sS   ´C; ÁB)ÁBÁ5B)ÂB	ÂB)ÂB	Â	B)ÂC; Â)B-Â-C; Â0B-Â15C; Ã;Dc                 óT   — t          j        dt          j        d¦  «        ¦  «         dS )z?Test that a forked child process does not remove the directory.ú-ca  
            import os
            from test import support
            from test.support import os_helper
            with os_helper.temp_cwd() as temp_path:
                pid = os.fork()
                if pid != 0:
                    # parent process

                    # wait for the child to terminate
                    support.wait_process(pid, exitcode=0)

                    # Make sure that temp_path is still present. When the child
                    # process leaves the 'temp_cwd'-context, the __exit__()-
                    # method of the context must not remove the temporary
                    # directory.
                    if not os.path.isdir(temp_path):
                        raise AssertionError("Child removed temp_path.")
        N)r   Úassert_python_okÚtextwrapÚdedentr8   s    r   Útest_temp_dir__forked_childz'TestSupport.test_temp_dir__forked_childÌ   s8   € õ
 	Ô& t­X¬_ð >ñ .ô .ñ 	ô 	ð 	ð 	ð 	r   c                 ó¢  — t          j        ¦   «         }t          j        ¦   «         5 }t          j        |¦  «        5 }|                      ||¦  «         |                      t          j        ¦   «         |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                      t          j        ¦   «         |¦  «         d S rA   )rU   Úgetcwdr   r�   Ú
change_cwdr,   )r-   Úoriginal_cwdr�   Únew_cwds       r   Útest_change_cwdzTestSupport.test_change_cwdç   s'  € Ý”y‘{”{ˆåÔÑ!Ô!ð 	7 YÝÔ% iÑ0Ô0ð 7°GØ× Ò  ¨)Ñ4Ô4Ð4Ø× Ò ¥¤¡¤¨gÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð
 	×Ò�œ™œ lÑ3Ô3Ð3Ð3Ð3s4   §B¼>BÁ:BÂB
	Â
BÂB
	ÂBÂB!Â$B!c                 óN  — t          j        ¦   «         }d„ }t          j        ¦   «         5 }t           j                             |d¦  «        }|                      t          ||¦  «         ddd¦  «         n# 1 swxY w Y   |                      t          j        ¦   «         |¦  «         dS )z&Test passing a non-existent directory.c                 ód   — t          j        | ¦  «        5 }t          d¦  «        ‚# 1 swxY w Y   d S r–   )r   r°   r—   )rV   r²   s     r   Úcall_change_cwdzFTestSupport.test_change_cwd__non_existent_dir.<locals>.call_change_cwdõ   s[   € ÝÔ% dÑ+Ô+ð 7¨wÝÐ 5Ñ6Ô6Ð6ð7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7r™   Údoes_not_existN)	rU   r¯   r   r�   rV   r^   r5   ÚFileNotFoundErrorr,   )r-   r±   r¶   r�   Únon_existent_dirs        r   Ú!test_change_cwd__non_existent_dirz-TestSupport.test_change_cwd__non_existent_dirñ   sÚ   € å”y‘{”{ˆð	7ð 	7ð 	7õ ÔÑ!Ô!ð 	0 ZÝ!œwŸ|š|¨JÐ8HÑIÔIÐØ×ÒÕ/°Ø.ñ0ô 0ð 0ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð
 	×Ò�œ™œ lÑ3Ô3Ð3Ð3Ð3s   ª=A3Á3A7Á:A7c                 óÂ  — t          j        ¦   «         }t          j        ¦   «         5 }t           j                             |d¦  «        }t          j        ¦   «         5 }t          j        |d¬¦  «        5 }|  	                    ||¦  «         |  	                    t          j        ¦   «         |¦  «         ddd¦  «         n# 1 swxY w Y   d„ |j
        D ¦   «         }ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   |  	                    t          |¦  «        d|¦  «         |d         }|                      |                     d|›d	�¦  «        |¦  «         dS )
z6Test passing a non-existent directory with quiet=True.r·   Trž   Nc                 ó6   — g | ]}t          |j        ¦  «        ‘ŒS r    r!   r$   s     r   r'   zMTestSupport.test_change_cwd__non_existent_dir__quiet_true.<locals>.<listcomp>
  r¡   r   r¢   r   úBtests may fail, unable to change the current working directory to r£   )rU   r¯   r   r�   rV   r^   r   r¤   r°   r,   r   r   rŽ   r¥   )r-   r±   r�   Úbad_dirr¦   r²   r   r*   s           r   Ú-test_change_cwd__non_existent_dir__quiet_truez9TestSupport.test_change_cwd__non_existent_dir__quiet_true   s-  € å”y‘{”{ˆåÔÑ!Ô!ð 	G ZÝ”g—l’l :Ð/?Ñ@Ô@ˆGÝ Ô/Ñ1Ô1ð G°XÝÔ)¨'¸Ð>Ñ>Ô>ð ;À'Ø×$Ò$ W¨lÑ;Ô;Ð;Ø×$Ò$¥R¤Y¡[¤[°'Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð GÐF°HÔ4EÐFÑFÔF�ð	Gð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	×Ò�˜X™œ¨¨8Ñ4Ô4Ð4Ø˜Œ{ˆØ�Š˜Ÿšð )<à.5ð)<ð )<ð )<ñ =ô =ð ñ	ô 	ð 	ð 	ð 	sY   §4C;ÁC$Á2>B<Â0C$Â<C Ã C$ÃC ÃC$ÃC;Ã$C(	Ã(C;Ã+C(	Ã,C;Ã;C?ÄC?c                 ó¢  — t           dz   }t          j        ¦   «         5 }t          j        |d¬¦  «        5  	 ddd¦  «         n# 1 swxY w Y   d„ |j        D ¦   «         }ddd¦  «         n# 1 swxY w Y   |                      t          |¦  «        d|¦  «         |d         }|                      | 	                    d|›d	�¦  «        |¦  «         dS )
z0Check the warning message when os.chdir() fails.Ú_does_not_existT)rV   rŸ   Nc                 ó6   — g | ]}t          |j        ¦  «        ‘ŒS r    r!   r$   s     r   r'   z>TestSupport.test_change_cwd__chdir_warning.<locals>.<listcomp>  s    € ÐBÐBÐB¨1�˜AœI™œÐBÐBÐBr   r¢   r   r½   r£   )
rR   r   r¤   r   r°   r   r,   r   rŽ   r¥   )r-   rV   r¦   r/   Úmsgs        r   Útest_change_cwd__chdir_warningz*TestSupport.test_change_cwd__chdir_warning  sw  € åÐ)Ñ)ˆÝÔ+Ñ-Ô-ð 	C°ÝÔ%¨4°tÐ<Ñ<Ô<ð ð Øðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð àBÐB°Ô0AÐBÑBÔBˆHð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð
 	×Ò�˜X™œ¨¨8Ñ4Ô4Ð4Ø�qŒkˆØ�Š˜Ÿšð (8à-1ð(8ð (8ð (8ñ 9ô 9ð ñ	ô 	ð 	ð 	ð 	s3   žA+µA·A+ÁA	ÁA+Á
A	ÁA+Á+A/Á2A/c                 óÞ  — t          j        ¦   «         }t          j        t          ¬¦  «        5  |                      t           j                             t          j        ¦   «         ¦  «        t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t           j         	                    t          ¦  «        ¦  «         |                      t          j        ¦   «         |¦  «         d S )N©Úname)
rU   r¯   r   Útemp_cwdrR   r,   rV   ÚbasenamerT   rW   )r-   Úheres     r   Útest_temp_cwdzTestSupport.test_temp_cwd&  s÷   € ÝŒy‰{Œ{ˆÝÔ¥VÐ,Ñ,Ô,ð 	Dð 	DØ×Ò�RœW×-Ò-­b¬i©k¬kÑ:Ô:½FÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dà×Ò�œŸš­Ñ/Ô/Ñ0Ô0Ð0Ø×Ò�œ™œ dÑ+Ô+Ð+Ð+Ð+s   ®A
BÂBÂBc                 ó²  — t          j        ¦   «         }t          j        d¬¦  «        5 }|                      ||¦  «         |                      t           j                             |¦  «        ¦  «         |                      t          j        ¦   «         |¦  «         ddd¦  «         n# 1 swxY w Y   |                      t          j        ¦   «         |¦  «         dS )z Test passing None to temp_cwd().NrÆ   )	rU   r¯   r   rÈ   ÚassertNotEqualrŽ   rV   rŒ   r,   )r-   r±   r²   s      r   Útest_temp_cwd__name_nonez$TestSupport.test_temp_cwd__name_none.  sé   € å”y‘{”{ˆÝÔ TÐ*Ñ*Ô*ð 	3¨gØ×Ò ¨Ñ6Ô6Ð6Ø�OŠO�BœGŸMšM¨'Ñ2Ô2Ñ3Ô3Ð3Ø×Ò�RœY™[œ[¨'Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	×Ò�œ™œ lÑ3Ô3Ð3Ð3Ð3s   ©A0B%Â%B)Â,B)c                 ó^   — |                       t          j        ddddœ¦  «        d¦  «         d S )Né   r   r¢   )rÐ   r   r¢   z{1: 1, 2: 2, 3: 3})r,   r   Úsortdictr8   s    r   Útest_sortdictzTestSupport.test_sortdict7  s2   € Ø×Ò�Ô)¨Q°!°q¨/¨/Ñ:Ô:Ð<PÑQÔQÐQÐQÐQr   c                 ó  — t          j        ¦   «         }|                      t          ¦  «        5 }t	          j        |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |j        j        t          j	        ¦  «         d S )Ns   foo)
r   Úmake_bad_fdr5   ÚOSErrorrU   Úwriter,   Ú	exceptionÚerrnoÚEBADF)r-   ÚfdÚcms      r   Útest_make_bad_fdzTestSupport.test_make_bad_fd:  s«   € ÝÔ"Ñ$Ô$ˆØ×Ò�wÑ'Ô'ð 	!¨2ÝŒH�R˜Ñ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!à×Ò˜œÔ+­U¬[Ñ9Ô9Ð9Ð9Ð9s   ®AÁAÁAc                 óÆ   — t          j        | ddd¬¦  «         |                      t          ¦  «        5  t          j        | d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz	def classr¢   é   )ÚlinenoÚoffsetzx=1)r   Úcheck_syntax_errorr5   ÚAssertionErrorr8   s    r   Útest_check_syntax_errorz#TestSupport.test_check_syntax_error@  s§   € ÝÔ" 4¨¸QÀqÐIÑIÔIÐIØ×Ò�~Ñ.Ô.ð 	4ð 	4ÝÔ& t¨UÑ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   ³AÁAÁAc                 óˆ   — dd l }t          j        d¦  «        5   |j        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   Úpprint)rp   r   ÚCleanImportr4   )r-   rp   s     r   Útest_CleanImportzTestSupport.test_CleanImportE  s–   € ØÐÐÐÝÔ& xÑ0Ô0ð 	.ð 	.Ø#ˆIÔ# HÑ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.s   ™7·;¾;c                 ó`  — t          j        dd¦  «        5  |                      dt          j        ¦  «         |                      dt          j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          j        ¦  «         |                      dt          j        ¦  «         d S )Nr3   Úbar)r   ÚDirsOnSysPathrH   rC   rV   rK   r8   s    r   Útest_DirsOnSysPathzTestSupport.test_DirsOnSysPathJ  sÎ   € ÝÔ(¨°Ñ6Ô6ð 	+ð 	+Ø�MŠM˜%¥¤Ñ*Ô*Ð*Ø�MŠM˜%¥¤Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	×Ò˜¥¤Ñ)Ô)Ð)Ø×Ò˜¥¤Ñ)Ô)Ð)Ð)Ð)s   –AA#Á#A'Á*A'c                 óÊ   — t          j        ¦   «         5 }t          d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «         d¦  «         d S )NÚhelloúhello
)r   Úcaptured_stdoutrm   r,   Úgetvalue)r-   rD   s     r   Útest_captured_stdoutz TestSupport.test_captured_stdoutQ  s”   € ÝÔ$Ñ&Ô&ð 	¨&Ý�'‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò˜ŸšÑ*Ô*¨IÑ6Ô6Ð6Ð6Ð6s   ”0°4·4c                 óâ   — t          j        ¦   «         5 }t          dt          j        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «         d¦  «         d S )Nrí   rj   rî   )r   Úcaptured_stderrrm   rC   Ústderrr,   rð   )r-   rô   s     r   Útest_captured_stderrz TestSupport.test_captured_stderrV  sž   € ÝÔ$Ñ&Ô&ð 	,¨&Ý�'¥¤
Ð+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,à×Ò˜ŸšÑ*Ô*¨IÑ6Ô6Ð6Ð6Ð6s   ”<¼A ÁA c                 óø   — t          j        ¦   «         5 }|                     d¦  «         |                     d¦  «         t	          ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                      |d¦  «         d S )Nrî   r   rí   )r   Úcaptured_stdinrÖ   ÚseekÚinputr,   )r-   ÚstdinÚcaptureds      r   Útest_captured_stdinzTestSupport.test_captured_stdin[  s«   € ÝÔ#Ñ%Ô%ð 	¨Ø�KŠK˜	Ñ"Ô"Ð"Ø�JŠJ�q‰MŒMˆMå‘w”wˆHð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 	×Ò˜ 7Ñ+Ô+Ð+Ð+Ð+s   ”9AÁAÁ Ac                 ó,   — t          j        ¦   «          d S rA   )r   Ú
gc_collectr8   s    r   Útest_gc_collectzTestSupport.test_gc_collectc  s   € ÝÔÑÔÐÐÐr   c                 ó^   — |                       t          j        ¦   «         t          ¦  «         d S rA   )ÚassertIsInstancer   Úpython_is_optimizedÚboolr8   s    r   Útest_python_is_optimizedz$TestSupport.test_python_is_optimizedf  s'   € Ø×Ò�gÔ9Ñ;Ô;½TÑBÔBÐBÐBÐBr   c                 óÞ  —  G d„ d¦  «        } |¦   «         }d|_         t          j        |dd¦  «        5 }|                      |j         d¦  «         |                      |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |j         d¦  «         t          j        |dd¦  «        5 }|                      |j        d¦  «         |                      |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |d¦  «        ¦  «         t          j        |dd¦  «        5  |`d d d ¦  «         n# 1 swxY w Y   |                      t          |d¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú'TestSupport.test_swap_attr.<locals>.ObjN)Ú__name__Ú
__module__Ú__qualname__r    r   r   ÚObjr  j  s   € € € € € ØˆDr   r  r¢   ÚxrÞ   Úy)r  r   ra   r,   r  ÚassertIsNonerT   Úhasattr)r-   r  Úobjr  r  s        r   Útest_swap_attrzTestSupport.test_swap_attri  s1  € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	àˆc‰eŒeˆØˆŒÝÔ˜s C¨Ñ+Ô+ð 	#¨qØ×Ò˜SœU AÑ&Ô&Ð&Ø×Ò˜Q Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	×Ò˜œ Ñ"Ô"Ð"ÝÔ˜s C¨Ñ+Ô+ð 	!¨qØ×Ò˜SœU AÑ&Ô&Ð&Ø×Ò˜aÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	×Ò�  cÑ*Ô*Ñ+Ô+Ð+ÝÔ˜s C¨Ñ+Ô+ð 	ð 	Ø�ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�  cÑ*Ô*Ñ+Ô+Ð+Ð+Ð+s5   µ2A3Á3A7Á:A7Â/1C,Ã,C0Ã3C0Ä0D?Ä?EÅEc                 ó~  — ddi}t          j        |dd¦  «        5 }|                      |d         d¦  «         |                      |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |d         d¦  «         t          j        |dd¦  «        5 }|                      |d         d¦  «         |                      |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d|¦  «         t          j        |dd¦  «        5  |d= d d d ¦  «         n# 1 swxY w Y   |                      d|¦  «         d S )Nr  r¢   rÞ   r  )r   Ú	swap_itemr,   r  rK   )r-   ÚDr  r  s       r   Útest_swap_itemzTestSupport.test_swap_itemz  sø  € Ø�ˆGˆÝÔ˜q # qÑ)Ô)ð 	#¨QØ×Ò˜Q˜sœV QÑ'Ô'Ð'Ø×Ò˜Q Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	×Ò˜˜3œ Ñ#Ô#Ð#ÝÔ˜q # qÑ)Ô)ð 	!¨QØ×Ò˜Q˜sœV QÑ'Ô'Ð'Ø×Ò˜aÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	×Ò˜˜aÑ Ô Ð ÝÔ˜q # qÑ)Ô)ð 	ð 	Ø�#�ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò˜˜aÑ Ô Ð Ð Ð s5   ›3AÁAÁ!AÂ2CÃCÃCÄDÄD Ä#D c                   ó   — e Zd ZdZdZdZdZdS )úTestSupport.RefClassN)r  r	  r
  Ú
attribute1Ú
attribute2Ú_hidden_attribute1Ú__magic_1__r    r   r   ÚRefClassr  ˆ  s#   € € € € € Øˆ
Øˆ
Ø!ÐØˆˆˆr   r  c                   ó   — e Zd ZdZdZdZdZdS )úTestSupport.OtherClassN)r  r	  r
  r  Ú
attribute3r  Ú__magic_2__r    r   r   Ú
OtherClassr  Ž  s"   € € € € € Øˆ
Øˆ
ØˆØˆˆˆr   r!  c                 óà   — t          j        | j        | j        ¦  «        }|                      dh|¦  «         t          j        | j        | j        ¦  «        }|                      ddh|¦  «         d S )Nr  r  r   )r   Údetect_api_mismatchr  r!  r,   )r-   Úmissing_itemss     r   Útest_detect_api_mismatchz$TestSupport.test_detect_api_mismatch”  su   € ÝÔ3°D´MØ48´OñEô Eˆà×Ò˜,˜¨Ñ7Ô7Ð7åÔ3°D´OØ48´MñCô Cˆà×Ò˜,¨Ð6¸ÑFÔFÐFÐFÐFr   c                 ó  — g d¢}t          j        | j        | j        |¬¦  «        }|                      t          ¦   «         |¦  «         t          j        | j        | j        |¬¦  «        }|                      t          ¦   «         |¦  «         d S )N)r  r  r   Únot_in_either)Úignore)r   r#  r  r!  r,   Úset)r-   r(  r$  s      r   Ú test_detect_api_mismatch__ignorez,TestSupport.test_detect_api_mismatch__ignore�  s‹   € ØMÐMÐMˆåÔ3Ø”˜tœ°vð?ñ ?ô ?ˆà×Ò�™œ Ñ.Ô.Ð.åÔ3Ø” ¤°vð?ñ ?ô ?ˆà×Ò�™œ Ñ.Ô.Ð.Ð.Ð.r   c                 óð   — dh}dh}t          j        | t          ||¬¦  «         h d£}h d£}t          j        | t          d||¬¦  «         |                      t
          t           j        | t          ¦  «         d S )NÚtempdirÚtemplate)ÚextraÚnot_exported>   Ú	makeSuiteÚfindTestCasesÚTextTestResultÚinstallHandlerÚgetTestCaseNames>   Ú
load_testsÚTestProgramÚBaseTestSuite)zunittest.resultzunittest.casezunittest.suitezunittest.loaderzunittest.mainzunittest.runnerzunittest.signalszunittest.async_case)r   Úcheck__all__r‰   r6   r5   râ   )r-   r.  r/  s      r   Útest_check__all__zTestSupport.test_check__all__¨  s¦   € Ø�ˆØ"�|ˆÝÔ˜TÝ%Ø#(Ø*6ð	8ñ 	8ô 	8ð 	8ð

ð 
ð 
ˆð FÐEÐEˆÝÔ˜TÝ%ðIð $)Ø*6ð	8ñ 	8ô 	8ð 	8ð 	×Ò�.­'Ô*>ÀÅhÑOÔOÐOÐOÐOr   ÚwaitpidÚWNOHANGz need os.waitpid() and os.WNOHANGc                 ór  — t          j        ¦   «          t          j        ¦   «         }|dk    rt          j        d¦  «         t          j        ¦   «         }t          j        ¦   «         t           j        z   }t           j        }	 dt           _        t          j
        ¦   «         }	 t          j        ¦   «         |k    r|                      d¦  «         t          j        t           j        d|¦  «        5  t          j        ¦   «          d d d ¦  «         n# 1 swxY w Y   t           j        rnt          j        d¦  «         Œ™d|z  }|                      ||                     ¦   «         ¦  «         |                      t           j        ¦  «         |t           _        n# |t           _        w xY wt          j        ¦   «          d S )Nr   FTÚtimeoutÚorig_stderrgš™™™™™¹?z2Warning -- reap_children() reaped child process %s)r   Úreap_childrenrU   ÚforkÚ_exitÚtimeÚ	monotonicÚSHORT_TIMEOUTÚenvironment_alteredÚioÚStringIOÚfailra   Úprint_warningÚsleeprH   rð   rŽ   )r-   ÚpidÚt0ÚdeadlineÚwas_alteredrô   rÃ   s          r   Útest_reap_childrenzTestSupport.test_reap_childrenÃ  s»  € õ
 	ÔÑÔÐõ Œg‰iŒiˆØ�!Š8ˆ8åŒH�Q‰KŒKˆKåŒ^ÑÔˆÝ”>Ñ#Ô#¥gÔ&;Ñ;ˆåÔ1ˆð	6Ø*/�GÔ'Ý”[‘]”]ˆFð"Ý”>Ñ#Ô# hÒ.Ð.Ø—I’I˜iÑ(Ô(Ð(åÔ&¥wÔ'<¸mÈVÑTÔTð ,ð ,ÝÔ)Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,õ
 Ô.ð Øõ ”
˜5Ñ!Ô!Ð!ð"ð GÈÑLˆCØ�MŠM˜#˜vŸšÑ0Ô0Ñ1Ô1Ð1Ø�OŠO�GÔ7Ñ8Ô8Ð8à*5�GÔ'Ð'ø¨+�GÔ'Ð5Ð5Ð5Ð5õ 	ÔÑÔÐÐÐs2   ÂA,F Ã-DÄF ÄDÄF ÄDÄA1F ÆF!Nc                 óš  — d|› d|› d�}t           j        g|¢d‘|‘}d„ t          j                             ¦   «         D ¦   «         }t          j        |t
          j        t
          j        d|¬¦  «        }|€|}|  	                    |j
                             ¦   «         t          |¦  «        ¦  «         |  	                    |j        d¦  «         d S )	Nzfrom test.support import z; print(repr(z()))r©   c                 óD   — i | ]\  }}|                      d ¦  «        °||“ŒS )ÚPYTHON)r¥   )r%   ÚkeyÚvalues      r   ú
<dictcomp>z-TestSupport.check_options.<locals>.<dictcomp>õ  s>   € ð 0ð 0ð 0™j˜c 5Ø—n’n XÑ.Ô.ð0ˆs�Eð 0ð 0ð 0r   T)rD   rô   Úuniversal_newlinesÚenvr   )rC   Ú
executablerU   ÚenvironÚitemsÚ
subprocessÚrunÚPIPEÚDEVNULLr,   rD   ÚrstripÚreprÚ
returncode)r-   ÚargsÚfuncÚexpectedÚcodeÚcmdrW  Úprocs           r   Úcheck_optionszTestSupport.check_optionsñ  sÜ   € àH¨4ÐHÐH¸dÐHÐHÐHˆÝŒ~Ð1 Ð1 dÐ1¨DÐ1ˆð0ð 0­B¬J×,<Ò,<Ñ,>Ô,>ð 0ñ 0ô 0ˆåŒ~˜cÝ%/¤_Ý%/Ô%7Ø15Ø"%ð	'ñ 'ô 'ˆð
 ÐØˆHØ×Ò˜œ×+Ò+Ñ-Ô-­t°H©~¬~Ñ>Ô>Ð>Ø×Ò˜œ¨!Ñ,Ô,Ð,Ð,Ð,r   c                 ó(  — g dgdgdgdgdgdgdgdgd	gd
gdgdgddgg d¢ddgddgddgddgddgfD ]F}|                       |¬¦  «        5  |                      |d¦  «         d d d ¦  «         n# 1 swxY w Y   ŒG|                      g d¢dd	g¦  «         d S )Nz-Bú-sz-Sú-Ez-vz-bú-Pz-qú-Iz-bbz-vvvú-Wignoreú-XÚdev)rn  ro  rp  ÚfaulthandlerÚ
importtimeÚshowrefcountÚtracemallocztracemalloc=3©ÚoptsÚargs_from_interpreter_flags)rm  rk  rj  rl  ©ÚsubTestrh  ©r-   rv  s     r   Ú test_args_from_interpreter_flagsz,TestSupport.test_args_from_interpreter_flags  sW  € ð àˆFØˆFØˆFØˆFØˆFØˆFØˆFØˆFØˆFàˆGØˆHàˆLà�5ˆMØ%Ð%Ð%Ø�>Ð"Ø�<Ð Ø�>Ð"Ø�=Ð!Ø�?Ð#ð3
ð 	Hð 	HˆDð6 —’ 4�Ñ(Ô(ð Hð HØ×"Ò" 4Ð)FÑGÔGÐGðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Høð 	×ÒÐ3Ð3Ð3Ø8Ø ˜6ñ	#ô 	#ð 	#ð 	#ð 	#s   Á	A,Á,A0	Á3A0	c                 ó¦   — g dgdgdgfD ]F}|                       |¬¦  «        5  |                      |d¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGd S )Nz-Oz-OOz-OOOOru  Ú!optim_args_from_interpreter_flagsrx  rz  s     r   Ú&test_optim_args_from_interpreter_flagsz2TestSupport.test_optim_args_from_interpreter_flags%  sÉ   € ð ØˆFØˆGØˆIð
ð 	Nð 	NˆDð —’ 4�Ñ(Ô(ð Nð NØ×"Ò" 4Ð)LÑMÔMÐMðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nøð	Nð 	Ns   ¢AÁA		ÁA		c                 óX  —  G d„ d¦  «        } |d¦  «        } |d¦  «        }t          j        t           dd ¦  «        5  t          j        g ¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        d d ¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        |                     ¦   «         gd ¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        dgd ¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        dgd ¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        dgd ¦  «         |                      t          j        |¦  «        ¦  «         t          j        d	gd ¦  «         |                      t          j        |¦  «        ¦  «         t          j        d
gd ¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        |                     ¦   «         |                     ¦   «         gd ¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        ddgd ¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t           dd ¦  «        5  t          j        g ¬¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        d d ¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        d |                     ¦   «         g¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        d dg¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        d dg¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        d dg¦  «         |                      t          j        |¦  «        ¦  «         t          j        d d	g¦  «         |                      t          j        |¦  «        ¦  «         t          j        d d
g¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        d |                     ¦   «         |                     ¦   «         g¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         t          j        d ddg¦  «         |                      t          j        |¦  «        ¦  «         |                      t          j        |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú)TestSupport.test_match_test.<locals>.Testc                 ó   — || _         d S rA   ©Útest_id)r-   r„  s     r   Ú__init__z2TestSupport.test_match_test.<locals>.Test.__init__3  s   € Ø&�”��r   c                 ó   — | j         S rA   rƒ  r8   s    r   Úidz,TestSupport.test_match_test.<locals>.Test.id6  s
   € Ø”|Ð#r   N)r  r	  r
  r…  r‡  r    r   r   ÚTestr�  2  s2   € € € € € ð'ð 'ð 'ð$ð $ð $ð $ð $r   rˆ  z"test.test_os.FileTests.test_accessz'test.test_os.Win32ErrorTests.test_chdirÚ_match_test_funcÚtest_osztest_*Ú	filetestsÚ	FileTestsz*test_os.*.test_*Útest_accessÚ	DONTMATCH)Úignore_patterns)r   ra   Úset_match_testsrŽ   Ú
match_testr‡  rT   )r-   rˆ  r�  Ú
test_chdirs       r   Útest_match_testzTestSupport.test_match_test1  si  € ð	$ð 	$ð 	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð �dÐ?Ñ@Ô@ˆØ�TÐCÑDÔDˆ
õ Ô�wÐ(:¸DÑAÔAð ,	=ð ,	=åÔ# BÑ'Ô'Ð'Ø�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<Ø�OŠO�GÔ.¨zÑ:Ô:Ñ;Ô;Ð;õ Ô# D¨$Ñ/Ô/Ð/Ø�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<Ø�OŠO�GÔ.¨zÑ:Ô:Ñ;Ô;Ð;õ Ô# [§^¢^Ñ%5Ô%5Ð$6¸Ñ=Ô=Ð=Ø�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�WÔ/°
Ñ;Ô;Ñ<Ô<Ð<õ Ô# Y K°Ñ6Ô6Ð6Ø�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<Ø�OŠO�GÔ.¨zÑ:Ô:Ñ;Ô;Ð;õ Ô# X J°Ñ5Ô5Ð5Ø�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<Ø�OŠO�GÔ.¨zÑ:Ô:Ñ;Ô;Ð;õ Ô# [ M°4Ñ8Ô8Ð8Ø×Ò�WÔ/°Ñ<Ô<Ñ=Ô=Ð=ÝÔ# [ M°4Ñ8Ô8Ð8Ø�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<õ Ô#Ð%8Ð$9¸4Ñ@Ô@Ð@Ø�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<Ø�OŠO�GÔ.¨zÑ:Ô:Ñ;Ô;Ð;õ Ô# [§^¢^Ñ%5Ô%5°z·}²}±´Ð$GÈÑNÔNÐNØ�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<Ø�OŠO�GÔ.¨zÑ:Ô:Ñ;Ô;Ð;åÔ# ]°KÐ$@À$ÑGÔGÐGØ�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�WÔ/°
Ñ;Ô;Ñ<Ô<Ð<ðY,	=ð ,	=ð ,	=ñ ,	=ô ,	=ð ,	=ð ,	=ð ,	=ð ,	=ð ,	=ð ,	=øøøð ,	=ð ,	=ð ,	=ð ,	=õ^ Ô�wÐ(:¸DÑAÔAð ,	<ð ,	<åÔ#°BÐ7Ñ7Ô7Ð7Ø�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<Ø�OŠO�GÔ.¨zÑ:Ô:Ñ;Ô;Ð;õ Ô# D¨$Ñ/Ô/Ð/Ø�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<Ø�OŠO�GÔ.¨zÑ:Ô:Ñ;Ô;Ð;õ Ô# D¨;¯>ª>Ñ+;Ô+;Ð*<Ñ=Ô=Ð=Ø×Ò�WÔ/°Ñ<Ô<Ñ=Ô=Ð=Ø�OŠO�GÔ.¨zÑ:Ô:Ñ;Ô;Ð;õ Ô# D¨9¨+Ñ6Ô6Ð6Ø×Ò�WÔ/°Ñ<Ô<Ñ=Ô=Ð=Ø×Ò�WÔ/°
Ñ;Ô;Ñ<Ô<Ð<õ Ô# D¨8¨*Ñ5Ô5Ð5Ø×Ò�WÔ/°Ñ<Ô<Ñ=Ô=Ð=Ø×Ò�WÔ/°
Ñ;Ô;Ñ<Ô<Ð<õ Ô# D¨;¨-Ñ8Ô8Ð8Ø�OŠO�GÔ.¨{Ñ;Ô;Ñ<Ô<Ð<ÝÔ# D¨;¨-Ñ8Ô8Ð8Ø×Ò�WÔ/°Ñ<Ô<Ñ=Ô=Ð=õ Ô# DÐ+>Ð*?Ñ@Ô@Ð@Ø×Ò�WÔ/°Ñ<Ô<Ñ=Ô=Ð=Ø×Ò�WÔ/°
Ñ;Ô;Ñ<Ô<Ð<õ Ô# D¨;¯>ª>Ñ+;Ô+;¸Z¿]º]¹_¼_Ð*MÑNÔNÐNØ×Ò�WÔ/°Ñ<Ô<Ñ=Ô=Ð=Ø×Ò�WÔ/°
Ñ;Ô;Ñ<Ô<Ð<åÔ# D¨=¸+Ð*FÑGÔGÐGØ×Ò�WÔ/°Ñ<Ô<Ñ=Ô=Ð=Ø�OŠO�GÔ.¨zÑ:Ô:Ñ;Ô;Ð;ðY,	<ð ,	<ð ,	<ñ ,	<ô ,	<ð ,	<ð ,	<ð ,	<ð ,	<ð ,	<ð ,	<ð ,	<øøøð ,	<ð ,	<ð ,	<ð ,	<ð ,	<ð ,	<s%   ¿OPÐPÐ"PÑO`à`#à&`#zUnstable in EmscriptenzUnavailable on WASIc                 ó*  — t          j        ¦   «         }t          j        t          t          j        ¦  «        }	 t          j        ¦   «         }t          j        |¦  «         n# t          j        |¦  «         w xY w|                      ||z
  d¦  «         d S )Nr¢   )r   Úfd_countrU   rQ   Ú__file__ÚO_RDONLYr{   r,   )r-   ÚstartrÚ   Úmores       r   Útest_fd_countzTestSupport.test_fd_countš  sy   € õ Ô"Ñ$Ô$ˆÝŒW•X�rœ{Ñ+Ô+ˆð	ÝÔ%Ñ'Ô'ˆDåŒH�R‰LŒLˆLˆLø�BŒH�R‰LŒLˆLˆLøøøØ×Ò˜ ™ qÑ)Ô)Ð)Ð)Ð)s   ¹A! Á!A7c                 ó  — t          j        ¦   «         }t          j        t          j        d|¦  «        5  t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «         |¦  «         d S )Nr>  )rF  rG  r   ra   rI  r,   rð   )r-   rÃ   rd  rô   s       r   Úcheck_print_warningzTestSupport.check_print_warningª  s±   € Ý”‘”ˆÝÔ�wÔ4°mÀVÑLÔLð 	'ð 	'ÝÔ! #Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'à×Ò˜ŸšÑ*Ô*¨HÑ5Ô5Ð5Ð5Ð5s   ´AÁAÁAc                 ó^   — |                       dd¦  «         |                       dd¦  «         d S )NrÃ   zWarning -- msg
za
bzWarning -- a
Warning -- b
)rœ  r8   s    r   Útest_print_warningzTestSupport.test_print_warning°  sK   € Ø× Ò  Ø!3ñ	5ô 	5ð 	5à× Ò  Ø!?ñ	Aô 	Að 	Að 	Að 	Ar   c                 ó¾   — t           j        st          j        dk    r!|                      t           j        ¦  «         d S |                      t           j        ¦  «         d S )NÚwin32)r   Úis_emscriptenrC   ÚplatformrT   Úhas_strftime_extensionsrŽ   r8   s    r   Útest_has_strftime_extensionsz(TestSupport.test_has_strftime_extensions¶  sQ   € ÝÔ ð 	=¥C¤L°GÒ$;Ð$;Ø×Ò�WÔ<Ñ=Ô=Ð=Ð=Ð=à�OŠO�GÔ;Ñ<Ô<Ð<Ð<Ð<r   rA   )Cr  r	  r
  Úclassmethodr   r   r0   r9   r<   r>   r6   ÚskiprE   rL   rY   rh   rv   r   Úrequires_working_socketr~   r‚   r†   r‘   r“   rœ   r§   Úrequires_forkr­   r³   rº   r¿   rÄ   rË   rÎ   rÒ   rÜ   rã   rç   rë   rñ   rõ   rü   rÿ   r  r  r  r  r!  r%  r*  r9  Ú
skipUnlessr  rU   rO  Úrequires_subprocessrh  r{  r~  r“  ÚskipIfr¡  Úis_wasirš  rœ  rž  r¤  r    r   r   r
   r
      s   € € € € € Øð<ð <ñ „[ð<ð ð<ð <ñ „[ð<ð5ð 5ð 5ð>ð >ð >ð
4ð 4ð 4ðQð Qð Qð
 €X„]Ð&Ñ'Ô'ðDð Dñ (Ô'ðDð/ð /ð /ð!ð !ð !ð2ð 2ð 2ð0,ð ,ð ,ð" %€WÔ$Ñ&Ô&ðð ñ 'Ô&ðð %€WÔ$Ñ&Ô&ðð ñ 'Ô&ðð
 %€WÔ$Ñ&Ô&ðð ñ 'Ô&ðð)ð )ð )ð3ð 3ð 3ð ð  ð  ð ð ð ð* €WÔÑÔðð ñ Ôðð44ð 4ð 4ð4ð 4ð 4ðð ð ð*ð ð ð",ð ,ð ,ð4ð 4ð 4ðRð Rð Rð:ð :ð :ð4ð 4ð 4ð
.ð .ð .ð
*ð *ð *ð7ð 7ð 7ð
7ð 7ð 7ð
,ð ,ð ,ðð ð ðCð Cð Cð,ð ,ð ,ð"!ð !ð !ðð ð ð ð ñ ô ð ðð ð ð ð ñ ô ð ðGð Gð Gð	/ð 	/ð 	/ðPð Pð Pð6 €XÔ˜˜  YÑ/Ô/ÐJ°G°G¸BÀ	Ñ4JÔ4JØ;ñ=ô =à€WÔÑÔð) ð ) ñ Ôñ=ô =ð) ðV !€WÔ Ñ"Ô"ð-ð -ð -ñ #Ô"ð-ð"#ð "#ð "#ðH
Nð 
Nð 
Nðg<ð g<ð g<ðR €X„_�WÔ*Ð,DÑEÔEØ€X„_�W”_Ð&;Ñ<Ô<ð*ð *ñ =Ô<ñ FÔEð*ð6ð 6ð 6ðAð Að Að=ð =ð =ð =ð =r   r
   Ú__main__)rØ   rp   rF  rU   r›   rx   rc   r[  rC   r‰   r«   rB  r6   r   Útestr   Útest.supportr   r   r   r   r   rR   ÚTestCaser
   r  Úmainr    r   r   ú<module>r²     sY  ðØ €€€Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€à Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø "Ð "Ð "Ð "Ð "Ð "Ø &Ð &Ð &Ð &Ð &Ð &Ø &Ð &Ð &Ð &Ð &Ð &Ø (Ð (Ð (Ð (Ð (Ð (à	Ô	€ð`
=ð `
=ð `
=ð `
=ð `
=�(Ô#ñ `
=ô `
=ð `
=ðt ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   