HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/support/__pycache__/__init__.cpython-310.opt-2.pyc
o

�i��@s�	edkr	ed��ddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZzddlmZWneyNdZYnwgd�ZdZejd	krbd
ejvrbdZnejdkridZd
ZdZdZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�dej�Zdd�Zdd�Z dd�Z!dZ"dZ#da$da%dZ&d Z'da(d!d"�Z)d#d$�Z*d%d&�Z+d'd(�Z,d)d*�Z-�dd+d,�Z.d-d.�Z/d/d0�Z0d1d2�Z1d3d4�Z2d d d d5�d6d7�Z3�dd d d d5�d8d9�Z4d:d;�Z5d<Z6d=Z7e�8e9�:d>��;d?�d@�Z<�ddBdC�Z=�ddEdF�Z>�d	dHdI�Z?�d
dKdL�Z@e�8edM�ZAej�;dN�ZBeCedO�ZDejdPv�r;eD�r8dQndRZEndZEdSZFd ZGd ZHejI�JejI�KeL��ZMejI�JeM�ZNejI�OeNdT�ZPdUdV�ZQ�ddWdX�ZRdYdZ�ZS�dddd\�d]d^�ZTd_d`�ZUejVdadb��ZWdcdd�ZXdedf�ZYdgdh�ZZdidj�Z[ejVdkdl��Z\dmdn�Z]doZ^dpZ_eCedq��r�dre^Z^dsZ_e^dtZ`dudv�Zadwdx�ZbdyZcdzZdd{d|�ZeejVd}d~��Zfdd��Zgd�Zhd�ehZid�eiZjd�eiZkejlZmd�d��ZnGd�d��d��Zo�dd�d��Zpd�d��ZqGd�d��d��Zrd�d��Zsd�d��Ztd�d��Zu�dd�d��Zvd�d��Zwd�d��Zxd�d��Zyd�d��Zzd�d��Z{d�d��Z|da}da~dad�d��Z�d�d��Z��d
d�d��Z�d�d��Z�d�d��Z�d�d��Z�ex��oMejd	k�oMe��d��Z�e�j�du�oVe�Z�e�8e�d��Z��dd�d��Z�d�d��Z�d a�d�d��Z�ejVd�d���Z�ejVd�d���Z�d�d��Z�d�d��Z�Gd�d��d�e��Z�da�d�dÄZ�Gd�dńdŃZ�d�dDŽZ�d�dɜd�d˄Z�	�	Ȑdd�d̈́Z��dd�dτZ�Gd�dфdуZ�d�dӄZ�ejVd�dՄ�Z�d�dׄZ��dd�dلZ�gfd�dۄZ�da�d�d݄Z�ejVd�d߄�Z�Gd�d�d�Z�d�d�Z�Gd�d�d�Z�e��Z�Gd�d�d�Z�e��Z�ej�Gd�d�d��Z�e��Z�ej�Gd�d�d��Z�e��Z�d�d�Z�ej�j�Z�d�d�Z�Gd�d�d�Z�dd�d�d�Z�d�d��Z�ejV�dd�d���Z�d�d��Z�d�e�d�e�d�e�fd��d�Z��de�d�df�d�d�Z�ejV�d�d��Z�dS(ztest.supportz.support must be imported from the test package�N�)�get_test_runner)�unicode_legacy_string)B�
PIPE_MAX_SIZE�verbose�
max_memuse�
use_resources�failfast�Error�
TestFailed�
TestDidNotRun�ResourceDenied�record_original_stdout�get_original_stdout�captured_stdout�captured_stdin�captured_stderr�is_resource_enabled�requires�requires_freebsd_version�requires_linux_version�requires_mac_ver�check_syntax_error�BasicTestRunner�run_unittest�run_doctest�
requires_gzip�requires_bz2�
requires_lzma�
bigmemtest�bigaddrspacetest�cpython_only�
get_attribute�requires_IEEE_754�
requires_zlib�anticipate_failure�load_package_tests�detect_api_mismatch�check__all__�skip_if_buggy_ucrt_strfptime�check_disallow_instantiation�check_sanitizer�skip_if_sanitizer�	is_jython�
is_android�check_impl_detail�
unix_shell�setswitchinterval�open_urlresource�
reap_children�run_with_locale�	swap_item�findfile�	swap_attr�Matcher�set_memlimit�SuppressCrashReport�sortdict�run_with_tz�PGO�missing_compiler_executable�	ALWAYS_EQ�NEVER_EQ�LARGEST�SMALLEST�LOOPBACK_TIMEOUT�INTERNET_TIMEOUT�
SHORT_TIMEOUT�LONG_TIMEOUTg@�win32z
 32 bit (ARM)�
�vxworksgN@g>@g�r@c@�eZdZdS)r
N��__name__�
__module__�__qualname__�rOrO�2/usr/local/lib/python3.10/test/support/__init__.pyr
g�r
c@rJ)rNrKrOrOrOrPrjrQrcs&eZdZ	�fdd�Zdd�Z�ZS)�TestFailedWithDetailscs&||_||_||_t��|||�dS�N)�msg�errors�failures�super�__init__)�selfrTrUrV��	__class__rOrPrXoszTestFailedWithDetails.__init__cCs|jSrS)rT�rYrOrOrP�__str__uszTestFailedWithDetails.__str__)rLrMrNrXr]�
__classcell__rOrOrZrPrRmsrRc@rJ)rNrKrOrOrOrPrxrQrc@rJ)r
NrKrOrOrOrPr
{rQr
cCs	|rtjSdd�S)NcS�|SrSrO��frOrOrP�<lambda>�sz$anticipate_failure.<locals>.<lambda>)�unittestZexpectedFailure)Z	conditionrOrOrPr%�sr%cCsH	|durd}tj�tj�tj�t���}|j|||d�}|�|�|S)Nztest*)Z	start_dirZ
top_level_dir�pattern)�os�path�dirname�__file__ZdiscoverZaddTests)Zpkg_dir�loaderZstandard_testsrdZtop_dirZ
package_testsrOrOrPr&�s
���
r&cCs4	zt||�}W|Styt�d||f��w)Nzobject %r has no attribute %r)�getattr�AttributeErrorrc�SkipTest)�obj�nameZ	attributerOrOrPr"�s��r"FcCs|adSrS)�_original_stdout)�stdoutrOrOrPr�srcCs
tptjSrS)ro�sysrprOrOrOrPr��
rc
Gstz||�WSty9}z(tdkr$td|jj|f�td|j|f�t�|tj�||�WYd}~Sd}~ww)N�z%s: %szre-run %s%r)	�OSErrorr�printr[rLre�chmod�stat�S_IRWXU)rf�func�args�errrOrOrP�
_force_run�s
��r|c
sttd�rtjSddl}d}tj�d�r|��rd}n�tj�d�rpddl�ddl�d}d}G�fdd�d�j	�}�j
j}|��}|sF��
��|�}�j��}|�||��|���|���|��}	|	sf��
��t|j|@�sod}nHtjd	kr�dd
lm}
m�m}m	}ddlm}
|
�|
d��}|��dkr�d
}n!G�fdd�d|�}|�}||�}|�|�dks�|�|�dkr�d}|s�zddlm}|�}|� �|�!�|�"�Wn-t#y�}z!t$|�}t%|�dkr�|dd�d}d�&t'|�j(|�}WYd}~nd}~ww|t_)|t_tjS)N�resultr�winz(gui is not available on Windows IoT Corercs.eZdZd�jjfd�jjfd�jjfgZdS)z*_is_gui_available.<locals>.USEROBJECTFLAGSZfInheritZ	fReserved�dwFlagsN)rLrMrN�wintypesZBOOL�DWORD�_fields_rO)�ctypesrOrP�USEROBJECTFLAGS�s



�r�z,gui not available (WSF_VISIBLE flag not set)�darwin)�cdll�c_int�pointer�	Structure)�find_libraryZApplicationServicesz0gui tests cannot run without OS X window managercseZdZd�fd�fgZdS)z._is_gui_available.<locals>.ProcessSerialNumberZ
highLongOfPSNZlowLongOfPSNN)rLrMrNr�rO)r�rOrP�ProcessSerialNumber�s�r�z#cannot run without OS X gui process)�Tk�2z [...]zTk unavailable due to {}: {})*�hasattr�_is_gui_availabler}�platformrq�
startswithZwin32_is_iotr�Zctypes.wintypesr�ZwindllZuser32ZGetProcessWindowStationZWinErrorr�r�ZGetUserObjectInformationWZbyrefZsizeof�boolrr�r�r�Zctypes.utilr�ZLoadLibraryZCGMainDisplayIDZGetCurrentProcessZSetFrontProcess�tkinterr�Zwithdraw�updateZdestroy�	Exception�str�len�format�typerL�reason)r�r�Z	UOI_FLAGSZWSF_VISIBLEr��dll�hZuofZneeded�resr�r�r�r�Zapp_servicesr�ZpsnZpsn_pr��root�eZ
err_stringrO)r�r�rPr��sx

��
���r�cCs	tdup|tvSrS)r��resourcerOrOrPrsrcCsB	t|�s|dur
d|}t|��|dkrt�sttj��dSdS)Nz"Use of the %r resource not enabled�gui)rr
r�r�)r�rTrOrOrPrs
�rcCs�	ddl}d�tt|��}|���dd�d}|��|kr:zttt|�d���}Wnt	y4d}Ynw||k}nd}t
�||�d|�d|���S)Nr�.�-rFz	 version z or higher required, not )r��join�mapr��release�split�system�tuple�int�
ValueErrorrc�skipIf)�sysname�min_versionr��min_version_txt�version_txt�version�skiprOrOrP�_requires_unix_version(s$�
��r�cG�	td|�S)NZFreeBSD�r��r�rOrOrPrC�
rcGr�)NZLinuxr�r�rOrOrPrLr�rc�	�fdd�}|S)Ncs"t�����fdd��}�|_|S)Ncs�tjdkr:ddl}|��d}zttt|�d���}Wn	ty$Ynw|�kr:d�tt	���}t
�d||f���|i|��S)Nr�rr�z&Mac OS X %s or higher required, not %s)rqr�Zmac_verr�r�r�r�r�r�r�rcrl)rz�kwr�r�r�r�)ryr�rOrP�wrapper]s 
���z4requires_mac_ver.<locals>.decorator.<locals>.wrapper)�	functools�wrapsr��ryr�r��ryrP�	decorator\sz#requires_mac_ver.<locals>.decoratorrO)r�r�rOr�rPrUsr��address�memory�ubcCsz	|s|s|std��t�d�pd}t�d�pd}d|vp d|v}d|vp(d|v}d|vp0d	|v}|r5|p<|o8|p<|o<|S)
Nz3At least one of address, memory, or ub must be TrueZCFLAGS�ZCONFIG_ARGSz-fsanitize=memoryz--with-memory-sanitizerz-fsanitize=addressz-fsanitize=undefinedz#--with-undefined-behavior-sanitizer)r��	sysconfig�get_config_var)r�r�r�Z_cflagsZ_config_argsZmemory_sanitizerZaddress_sanitizerZub_sanitizerrOrOrPr+rs&�����r+cCs$	|sd}t|||d�}t�||�S)Nz"not working with sanitizers activer�)r+rcr�)r�r�r�r�r�rOrOrPr,�s
r,cs	t����fdd��}|S)Nc
sFz
�|i|��WdSty"}zdt|�vrt�d���d}~ww)NZCERTIFICATE_VERIFY_FAILEDz.system does not contain necessary certificates)rtr�rcrl)rz�kwargsr�r`rOrP�dec�s
��z&system_must_validate_cert.<locals>.dec)r�r�)rar�rOr`rP�system_must_validate_cert�sr�i@iZdoubleZIEEEztest requires IEEE 754 doubles�
requires zlibcC�0zddl}Wntyd}Ynwt�||�S�Nr)�zlib�ImportErrorrc�
skipUnless)r�r�rOrOrPr$���r$�
requires gzipcCr�r�)�gzipr�rcr�)r�r�rOrOrPr�r�r�requires bz2cCr�r�)�bz2r�rcr�)r�r�rOrOrPr�r�r�
requires lzmacCr�r�)�lzmar�rcr�)r�r�rOrOrPr�r�rzrequires legacy Unicode C API�java�getandroidapilevel)rGrIz/system/bin/shz/bin/shzhttp://www.pythontest.net�datacCsZ	tjdkrdSddl}d}|�d�}|��\}}t|�|d��t|�td|�dS)Nr�rz NOTICE z� may generate "malloc can't allocate region"
warnings on macOS systems. This behavior is known. Do not
report a bug unless tests are also failing. See bpo-40928.r�)rqr��shutil�get_terminal_sizeru�center)Z	test_namer�rTZdetailZpadding�_rOrOrP�darwin_malloc_err_warning�s

r�cCsd	tj�|�r	|S|durtj�||�}tgtj}|D]}tj�||�}tj�|�r/|Sq|SrS)rerf�isabsr��
TEST_HOME_DIRrq�exists)�filenameZsubdirrf�dn�fnrOrOrPr6sr6cCs.	t|���}dd�|D�}d�|�}d|S)NcSsg|]}d|�qS)z%r: %rrO)�.0ZpairrOrOrP�
<listcomp>szsortdict.<locals>.<listcomp>z, z{%s})�sorted�itemsr�)�dictr�Z	reprpairsZ
withcommasrOrOrPr;s

r;r�)�lineno�offsetcCs�|�t|��}t|dd�Wd�n1swY|j}|�|j�|dur0|�|j|�|�|j�|durC|�|j|�dSdS)Nz
<test string>�exec)�assertRaisesRegex�SyntaxError�compile�	exceptionZassertIsNotNoner��assertEqualr�)�testcaseZ	statementZerrtextr�r��cmr{rOrOrPrs��rc
s�ddl}ddl}ddlm}zddl}Wntyd}Ynw��dd��|j�|�d�	d�d}t
j�t
|�}���fdd	�}t
j�|�rV||�}	|	durR|	S||�td
�tretd|t�d�|j��}
|rr|
j�d
�|
j|td�}	|r�|	j�d�dkr�|j|	d�}	z,t|d��}|	��}|r�|�|�|	��}|s�Wd�n1s�wYW|	��n|	��w||�}	|	dur�|	Std|��)Nrr)�unlink�checkrs�/���csDt|g��Ri���}�dur|S�|�r|�d�|S|��dSr�)�open�seek�close)r�ra�rzr�r�rOrP�check_valid_file8s
z*open_urlresource.<locals>.check_valid_fileZurlfetchz	fetching %s ...��file)zAccept-Encodingr���timeoutzContent-Encodingr�)�fileobj�wbzinvalid resource %r) Zurllib.request�urllib.parse�	os_helperr�r�r��pop�parse�urlparser�rerfr��
TEST_DATA_DIRr�rrrurZrequestZbuild_openerZ
addheaders�appendr�rDZheaders�getZGzipFile�read�writer�r)
�urlrzr��urllibr�r�r�r�r�ra�opener�out�srOr�rPr2*sP�	

����r2c
csT�	ddl}tt|�}tt||���ztt|�VWtt||�dStt||�wr�)�iorjrq�setattr�StringIO)Zstream_namerZorig_stdoutrOrOrP�captured_outputas�
rcC�
	td�S)Nrp�rrOrOrOrPrm�rcCr)N�stderrrrOrOrOrPrvrrcCr)N�stdinrrOrOrOrPrs	rcCs4	ddl}|��trt�d�|��|��dS)Nr皙�����?)�gcZcollectr-�time�sleep)rrOrOrP�
gc_collect�s	
r ccsH�ddl}|��}|��zdVW|r|��dSdS|r#|��wwr�)r�	isenabled�disable�enable)rZhave_gcrOrOrP�
disable_gc�s��
�r$cCs8	t�d�pd}d}|��D]	}|�d�r|}q|dvS)NZ	PY_CFLAGSr�z-O)r�z-O0z-Og)r�r�r�r�)ZcflagsZ	final_opt�optrOrOrP�python_is_optimized�s
�r&ZnPZ0nZ
getobjectsZ2PZ0P�ncC�ddl}|�t|t�Sr�)�struct�calcsize�_header�_align��fmtr)rOrOrP�calcobjsize��r/cCr(r�)r)r*�_vheaderr,r-rOrOrP�calcvobjsize�r0r2i@icCspddl}t�|�}t|�tkr|jt@s!t|�tkr&t|�jt@r&||j7}dt|�||f}|�|||�dS)Nrz&wrong size for %s: got %d, expected %d)	�_testinternalcapirq�	getsizeofr��	__flags__�_TPFLAGS_HEAPTYPE�_TPFLAGS_HAVE_GCZSIZEOF_PYGC_HEADr�)�test�o�sizer3r}rTrOrOrP�check_sizeof�s

�r;c
gs��zddl}t||�}|�|�}Wnty�d}}Yn|D]}z	|�||�WnYq$zdVW|rF|rH|�||�dSdSdS|rU|rV|�||�wwwr�)�localerj�	setlocalerk)ZcatstrZlocalesr<�categoryZorig_locale�locrOrOrPr4�s,�
��r4cs�fdd�}|S)Ncs"��fdd�}�j|_�j|_|S)Nc	s�ztj}Wntyt�d��wdtjvrtjd}nd}�tjd<|�z�|i|��W|dur8tjd=n|tjd<t��S|durKtjd=n|tjd<t��w)Nztzset requiredZTZ)r�tzsetrkrcrlre�environ)rz�kwdsr@Zorig_tz)ry�tzrOrP�inner�s(

�




�


z-run_with_tz.<locals>.decorator.<locals>.inner)rL�__doc__)ryrD�rCr�rPr��szrun_with_tz.<locals>.decoratorrO)rCr�rOrFrPr<�sr<i�rs�cCs�dttdtd�}t�d|tjtjB�}|durtd|f��tt|�	d��||�	d��
��}|a|tkr9t}|t
dkrFtd|f��|adS)NrG)�k�m�g�tz(\d+(\.\d+)?) (K|M|G|T)b?$zInvalid memory limit %rr�z$Memory limit %r too low to be useful)�_1M�_1G�re�match�
IGNORECASE�VERBOSEr�r��float�group�lower�real_max_memuse�MAX_Py_ssize_t�_2Gr)�limitZsizesrJ�memlimitrOrOrPr9s"�
�$r9c@�&eZdZ	dd�Zdd�Zdd�ZdS)�_MemoryWatchdogcCsdjt��d�|_d|_dS)Nz/proc/{pid}/statm)�pidF)r�re�getpid�procfile�startedr\rOrOrPrX7s
z_MemoryWatchdog.__init__c
Cs�ddl}zt|jd�}Wn!ty-}z|�d�|�t�tj�	�WYd}~dSd}~wwddl
}|�td�}|jtj
|g||jd�|_Wd�n1sPwYd|_dS)Nr�rz!/proc not available for stats: {}zmemory_watchdog.py)rrT)�warningsr�r`rt�warnr��RuntimeWarningrqr�flush�
subprocessr6�Popen�
executable�DEVNULL�mem_watchdogra)rYrcrar�rgZwatchdog_scriptrOrOrP�start;s(�
��
��
z_MemoryWatchdog.startcCs"|jr|j��|j��dSdSrS)rark�	terminate�waitr\rOrOrP�stopMs
�z_MemoryWatchdog.stopN)rLrMrNrXrlrorOrOrOrPr]2s
r]Tcs	���fdd�}|S)Ncs ���fdd����_��_�S)Ncs��j}�j}tsd}n|}ts�s"t||kr"t�d||d��tr=tr=t�tdj||dd��t�}|�	�nd}z
�||�W|rL|�
�SS|rT|�
�ww)Ni�'not enough memory: %.1fG minimum needed�@z* ... expected peak memory use: {peak:.1f}G)Zpeak)r:�memuserWrcrlrrur�r]rlro)rYr:rr�maxsizeZwatchdog)�dry_runrar�rOrPr�as6
���


�
�z.bigmemtest.<locals>.decorator.<locals>.wrapper)r:rrr`�rtrrr:�rar�rPr�`szbigmemtest.<locals>.decoratorrO)r:rrrtr�rOrurPrSs!rcr�)Ncs<ttkrtdkrtdkrt�d��t�dtd���|�S)Nl����lz-not enough memory: try a 32-bit build insteadrprq)rrXrcrlr\r`rOrPr��s���z!bigaddrspacetest.<locals>.wrapperrOrvrOr`rPr �sr c@seZdZdd�ZdS)rcCst��}||�|SrS)rcZ
TestResult)rYr8r}rOrOrP�run��zBasicTestRunner.runN)rLrMrNrwrOrOrOrPr�srcCr_rSrO)rmrOrOrP�_id��rycCs6|dkr
t�s
t�tj�St|�rtSt�d�|��S)Nr�zresource {0!r} is not enabled)r�rcr�r�rryr�r�rOrOrP�requires_resource�s
r{cCs	tdd�|�S)NT)�cpython)�impl_detail�r8rOrOrPr!�sr!cKsZtdi|��r	tS|dur(t|�\}}|rd}nd}t|���}|�d�|��}t�|�S)Nz*implementation detail not available on {0}z%implementation detail specific to {0}z or rO)	r/ry�
_parse_guardsr��keysr�r�rcr�)rT�guardsZ
guardnames�defaultrOrOrPr}�s
r}cCs*|sddidfSt|���d}||fS)Nr|TFr)�list�values)r�Zis_truerOrOrPr�s
rcKs	t|�\}}|�tjj|�SrS)rrrq�implementationrn)r�r�rOrOrPr/�sr/cs*	ttd�s�St����fdd��}|S)N�gettracec	s:t��}zt�d��|i|��Wt�|�St�|�wrS)rqr��settrace)rzr�Zoriginal_tracer�rOrPr��s

zno_tracing.<locals>.wrapper)r�rqr�r�r�rOr�rP�
no_tracing�s
r�cCs	tt|��SrS)r�r!r~rOrOrP�
refcount_test�sr�cCsP	g}|jD]}t|tj�rt||�|�|�q||�r"|�|�q||_dSrS)Z_tests�
isinstancerc�	TestSuite�
_filter_suiter
)�suiteZpredZnewtestsr8rOrOrPr��s


�
r�cCs�	ttjttdud�}|�|�}tdurt�|���|js#|j	s#t
�|��sit|j
�dkr9|js9|j
dd}nt|j�dkrK|j
sK|jdd}nd}tsS|d7}dd�|j
D�}dd�|jD�}t|||��dS)	N)�	verbosity�capture_outputrrzmultiple errors occurredz!; run in verbose mode for detailscS�g|]
\}}t|�|f�qSrO�r��r�ZtcZexc_strrOrOrPr�
�z_run_suite.<locals>.<listcomp>cSr�rOr�r�rOrOrPr�r�)rrqrpr�junit_xml_listrwr
Zget_xml_elementZtestsRunZskippedrZ
wasSuccessfulr�rUrVrR)r�Zrunnerr}r{rUrVrOrOrP�
_run_suite�s*�
�r�cCstdurdSt|���S�NT)�_match_test_func�idr~rOrOrP�
match_testsr�cCsd|vo
t�d|�S)Nr�z[?*\[\]])rP�search)rdrOrOrP�_is_full_match_testsr�cs�|durd}|durd}d��|tkrt|�\}�|tkr$t|�\}�t|�at|�a�dus4�dur?��fdd�}|adSdS)NrOcs*d}d}�r
�|�}�r�|�}|o|S�NTFrO)�test_id�accept�ignore�Zaccept_funcZignore_funcrOrP�match_function=s
z'set_match_tests.<locals>.match_function)�_accept_test_patterns�_compile_match_function�_ignore_test_patternsr�r�)Zaccept_patterns�ignore_patternsr�rOr�rP�set_match_tests(s	�r�csr|s
d}d}||fSttt|��rt|�j}||fSddl}d�t|j|��}t�	|�j
��fdd�}|}||fS)NrOr�|cs �|�rdStt�|�d���S)NTr�)�anyr�r�)r��Zregex_matchrOrP�match_test_regexYsz1_compile_match_function.<locals>.match_test_regex)�allr�r��set�__contains__�fnmatchr��	translaterPr�rQ)�patternsryr�Zregexr�rOr�rPr�Is�
�r�cGs�	tjtjf}t��}|D]/}t|t�r)|tjvr%|�t�tj|��q
t	d��t||�r4|�|�q
|�t�
|��q
t|t�t
|�dS)Nz)str arguments must be keys in sys.modules)rcr�ZTestCaser�r�rq�modulesZaddTestZ
findTestCasesr�Z	makeSuiter�r�r�)ZclassesZvalid_typesr��clsrOrOrPris



rcC�dSrSrOrOrOrOrP�_check_docstrings�rzr�ZWITH_DOC_STRINGSztest requires docstringscCsb	ddl}|durt}nd}|j|||d�\}}|r"td||f��tr-td|j|f�||fS)Nr)r�optionflagsz%d of %d doctests failedz,doctest (%s) ... %d tests with zero failures)�doctestr�testmodrrurL)�moduler�r�r�rarLrOrOrPr�s�rcCs(|��D]
}td|��tjdd�qdS)NzWarning -- T)r�rf)�
splitlinesrurq�
__stderr__)rT�linerOrOrP�
print_warning�s�r�cCsh	ttd�rttd�s
dS	zt�dtj�\}}Wn
ty#YdSw|dkr*dStd|���daq)N�waitpid�WNOHANGTr�rz%reap_children() reaped child process )r�rer�r�rtr��environment_altered)r^�statusrOrOrPr3�s��r3c
cs��	t||�r&t||�}t|||�z|VWt|||�dSt|||�wt|||�zdVWt||�r=t||�dSdSt||�rJt||�wwrS)r�rjr�delattr)rm�attr�new_val�real_valrOrOrPr7�s �


��r7c	cst�	||vr||}|||<z
|VW|||<dS|||<w|||<zdVW||vr0||=dSdS||vr9||=wrSrO)rm�itemr�r�rOrOrPr5�s�
�r5cC�	ddl}|��Sr�)rg�_args_from_interpreter_flags�rgrOrOrP�args_from_interpreter_flags�r�cCr�r�)rg�"_optim_args_from_interpreter_flagsr�rOrOrP�!optim_args_from_interpreter_flagsr�r�c@s eZdZdZdd�Zdd�ZdS)r8)rT�messagecKs>	d}|D]}||}|�|�}|�|||�sd}|Sq|Sr�)r�match_value)rY�dr�r}rI�v�dvrOrOrP�matches&s
�zMatcher.matchescCsN	t|�t|�kr
d}|St|�tus||jvr||k}|S|�|�dk}|S)NFr)r�r��_partial_matches�find)rYrIr�r�r}rOrOrPr�7s��zMatcher.match_valueN)rLrMrNr�r�r�rOrOrOrPr8"sr8cCsZ	ddl}tdur"tjdkr |��ddkr t��jdkr dandatr+t�	d�|�S|S)	NrrGr�cp65001r�TFz!buggy MSVC UCRT strptime/strftime)
r<�_buggy_ucrtrqr��getdefaultlocaler�	localtime�tm_zonercr�)r8r<rOrOrPr)Es	
r)c@sheZdZ	ddd�Zejdkrdd�Zndd�Zdd	�Zd
d�Zdd
�Z	dd�dd�Z
dd�dd�ZdS)�
PythonSymlinkNcCsLddlm}|p
tj�|�|_g|_tj�tj	�|_
g|_d|_|�
�dS)Nr)�TESTFN)rr�rerf�abspath�link�_linked�realpathrqri�real�
_also_link�_env�_platform_specific)rYr�r�rOrOrPrX\szPythonSymlink.__init__rGc
Csddl}ddl}tj�|j�rtj�|j�s|�d�|_|�tj	�}tj�
|�}tj�
|j�}|j�
|tj�|tj�|��f�|�tj�|�|�d��D]}|j�
|tj�|tj�|��f�qMdd�tjD�|_tj�
|j�|jd<t�d�r�tj�
tj�|jd<dSdS)Nrzvcruntime*.dllcSsi|]
}|��t�|��qSrO)�upperre�getenv)r�rIrOrOrP�
<dictcomp>r�z4PythonSymlink._platform_specific.<locals>.<dictcomp>Z
PYTHONHOMETZ
PYTHONPATH)�glob�_winapirerf�lexistsr�r�ZGetModuleFileNamerqZ	dllhandlergr�r�r
r��basename�escaperAr�r�Zis_python_buildrh)rYr�r�r�Zsrc_dirZdest_dirZruntimerOrOrPr�is*��
�z PythonSymlink._platform_specificcCr�rSrOr\rOrOrPr��rzcCsJt�|j|j�|j�|j�|jD]\}}t�||�|j�|�q|SrS)re�symlinkr�r�r�r
r�)rYr�r�rOrOrP�	__enter__�szPythonSymlink.__enter__cCsV|jD]%}zt�|�Wqty(}ztrtd�||��WYd}~qd}~wwdS)Nzfailed to clean up {}: {})r�re�remove�IOErrorrrur�)rY�exc_type�	exc_value�exc_tbr��exrOrOrP�__exit__�s
���zPythonSymlink.__exit__c	Csxddl}|g|�}|j||j|j|d�}|��}|j|kr:tr2tt|d��tt|d�tj	d�t
d�|j���|S)Nr)rpr�envrr�z'unexpected return code: {0} (0x{0:08X}))rgrh�PIPE�communicate�
returncoderru�reprrqr�RuntimeErrorr�)	rYZpythonrzr�r�rg�cmd�prbrOrOrP�_call�s

�

�zPythonSymlink._callr)r�cGs|�|j|d|�SrS)r�r��rYr�rzrOrOrP�	call_real�szPythonSymlink.call_realcGs|�|j||j|�SrS)r�r�r�r�rOrOrP�	call_link�szPythonSymlink.call_linkrS)rLrMrNrXrqr�r�r�r�r�r�rrOrOrOrPr�Zs


r�cCs&	tpt}d}|r|St�|�|�S)Nz#Not run for (non-extended) PGO task)r=�PGO_EXTENDEDrcr�)r8�okrTrOrOrP�skip_if_pgo_task�s
rrO)r�cCs@	tt|��tt|��}|r|t|�8}tdd�|D��}|S)Ncss(�|]}|�d�r|�d�r|VqdS)r��__N)r��endswith)r�rJrOrOrP�	<genexpr>�s���z&detect_api_mismatch.<locals>.<genexpr>)r��dir)Zref_apiZ	other_apir�Z
missing_itemsrOrOrPr'�sr'cCs�	|dur
|jf}nt|t�r|f}t|�}t|�D])}|�d�s%||vr&qt||�}t|dd�|vs>t|d�sCt|tj	�sC|�
|�q|�|j|�dS)Nr�rM)
rLr�r�r�rr�rjr��types�
ModuleType�addZassertCountEqual�__all__)Z	test_caser�Zname_of_module�extraZnot_exportedZexpectedrnrmrOrOrPr(�s$'


�
�
�r(cCs�zddl}Wn
tyYdSw|�|j|jB|jB|jB�t|d�rG|j|j	|j
fD]}|r@|�||j�|�
||j�q-|�|d�q-dSdS)Nr�CrtSetReportMode)�msvcrtr��SetErrorModeZSEM_FAILCRITICALERRORSZSEM_NOALIGNMENTFAULTEXCEPT�SEM_NOGPFAULTERRORBOXZSEM_NOOPENFILEERRORBOXr��CRT_WARN�	CRT_ERROR�
CRT_ASSERTr
�CRTDBG_MODE_FILE�CrtSetReportFile�CRTDBG_FILE_STDERR)rrrJrOrOrP�suppress_msvcrt_asserts�s(����
�rc@s&eZdZ	dZdZdd�Zdd�ZdS)r:Nc
	Cs�	tj�d�rPzddl}Wn
tyYdSw|��|_|�|j|jB�t	|d�rNi|_
|j|j|j
fD]}|�||j�}|�||j�}||f|j
|<q6|Sz	ddl}||_Wntyed|_Ynw|jdur�z|j�|jj�|_|j�|jjd|jdf�Wnttfy�Ynwtjdkr�ddl}gd�}|j||j|jd�}|�|��d}	Wd�n1s�wY|	��dkr�td	d
dd�|S)
Nr~rr
rr�)z/usr/bin/defaultsrzcom.apple.CrashReporterZ
DialogType)rprs	developerz:this test triggers the Crash Reporter, that is intentionalr�T)�endrf)rqr�r�rr�ZGetErrorMode�	old_valuerrr��	old_modesrrrr
rrrr�Z	getrlimit�RLIMIT_CORE�	setrlimitr�rtrgrhr�r��stripru)
rYr�report_type�old_mode�old_filer�rgr��procrprOrOrPr�sj�

���#�

�
��
���zSuppressCrashReport.__enter__c	Gs�	|jdurdStj�d�r7ddl}|�|j�|jr3|j��D]\}\}}|�||�|�	||�q dSdS|j
durVz
|j
�|j
j|j�WdSt
tfyUYdSwdS)Nr~r)rrqr�r�rrrr�r
rr�rrr�rt)rYZ
ignore_excrrrr rOrOrPr�]s&
�
��zSuppressCrashReport.__exit__)rLrMrNrrr�r�rOrOrOrPr:sBr:c	sr	t���d�z�j��Wnttfy t��d��Ynwd�����fdd�}|�|�t��|�dS)NFTcs"�r
t����dSt���dSrS)rr�rO�Z
attr_is_local�	attr_name�object_to_patchrrOrP�cleanup�szpatch.<locals>.cleanup)rj�__dict__rk�KeyErrorZ
addCleanupr)Z
test_instancer$r#Z	new_valuer%rOr"rP�patchrs
	�
r(c
cs8�	z|dd�}dVW||dd�<dS||dd�<wrSrO)ZorigZsavedrOrOrP�
patch_list�s�r)cCsF	zddl}Wn	tyYn
w|��rt�d��ddl}|�|�S)NrzUrun_in_subinterp() cannot be used if tracemalloc module is tracing memory allocations)�tracemallocr��
is_tracingrcrl�	_testcapi�run_in_subinterp)�coder*r,rOrOrPr-�s�

r-csHG��fdd�d|�}d�|||���|�tt��t�|���dS)NcseZdZ��fdd�ZdS)z%check_free_after_iterating.<locals>.Acs(d�zt��WdStyYdSwr�)�next�
StopIterationr\��done�itrOrP�__del__�s�z-check_free_after_iterating.<locals>.A.__del__N)rLrMrNr4rOr1rOrP�A�sr5F)ZassertRaisesr0r/r Z
assertTrue)r8�iterr�rzr5rOr1rP�check_free_after_iterating�s	r7cCs�	ddlm}m}m}m}|��}|�|�|jdkr-z|��Wn|j	y,YdSw|j
D]#}|r9||vr9q0t||�}|rAn|sDq0|�|d�durS|dSq0dS)Nr)�	ccompilerr��spawnrUZmsvc)
Z	distutilsr8r�r9rUZnew_compilerZcustomize_compilerZ
compiler_typeZ
initializeZDistutilsPlatformErrorZexecutablesrjZfind_executable)Z	cmd_namesr8r�r9rUZcompilerrnr�rOrOrPr>�s*	

�

��r>cCsHd}tr||krtdurddl}|�ddg���dkatr|}t�|�S)Ng�h㈵��>rZgetpropzro.kernel.qemu�1)r.�_is_android_emulatorrg�check_outputrrqr1)�intervalZminimum_intervalrgrOrOrPr1�s��
r1c
cs^�ddl}tj��}|��}z|��dVW|r"|j|dd�dSdS|r.|j|dd�ww)NrT)r�Zall_threads)�faulthandlerrqr��fileno�
is_enabledr"r#)r>�fdr@rOrOrP�disable_faulthandler�s�
��rBc@r\)�SaveSignalsc	CsZddl}||_|��|_dD]}zt||�}Wn	ty Yqw|j�|�qi|_dS)Nr)�SIGKILL�SIGSTOP)�signal�
valid_signals�signalsrjrkr��handlers)rYrF�signame�signumrOrOrPrXs
�
zSaveSignals.__init__cCs0|jD]}|j�|�}|durq||j|<qdSrS)rHrF�	getsignalrI�rYrK�handlerrOrOrP�saves
�zSaveSignals.savecCs&|j��D]\}}|j�||�qdSrS)rIr�rFrMrOrOrP�restore)s�zSaveSignals.restoreN)rLrMrNrXrOrPrOrOrOrPrCs

rCcCsddl}|jSr�)r,Z
WITH_PYMALLOC)r,rOrOrP�
with_pymalloc.srQc@�eZdZ	dd�Zdd�ZdS)�
_ALWAYS_EQcC�dSr�rO�rY�otherrOrOrP�__eq__7rzz_ALWAYS_EQ.__eq__cCrT�NFrOrUrOrOrP�__ne__9rzz_ALWAYS_EQ.__ne__N)rLrMrNrWrYrOrOrOrPrS3srSc@r\)�	_NEVER_EQcCrTrXrOrUrOrOrPrWBrzz_NEVER_EQ.__eq__cCrTr�rOrUrOrOrPrYDrzz_NEVER_EQ.__ne__cCrT)NrrOr\rOrOrP�__hash__Frzz_NEVER_EQ.__hash__N)rLrMrNrWrYr[rOrOrOrPrZ>s
rZc@rR)�_LARGESTcC�
t|t�SrS)r�r\rUrOrOrPrWPrrz_LARGEST.__eq__cCrTrXrOrUrOrOrP�__lt__Rrzz_LARGEST.__lt__N)rLrMrNrWr^rOrOrOrPr\K�r\c@rR)�	_SMALLESTcCr]rS)r�r`rUrOrOrPrW\rrz_SMALLEST.__eq__cCrTrXrOrUrOrOrP�__gt__^rzz_SMALLEST.__gt__N)rLrMrNrWrarOrOrOrPr`Wr_r`cCs	ddl}|jjSr�)Zasyncio.events�eventsZ_event_loop_policy)ZasynciorOrOrP�maybe_get_event_loop_policycsrcc
Cs�||}}ddl}|���K}|��d}t|d�|_|�|�}|d||}||}	||	}
||
}||d|d|||	d|	}t|�t|���fWd�S1s[wYdS)Nrrs�r)�decimalZlocalcontext�
bit_length�maxZprecZDecimalrT�sqrt)
ZnbinsZnballsr'rIre�ctx�bitsr�Zp1emptyZ	meanemptyZoccupiedZ
collisions�varrOrOrP�collision_statsps


($�rlc@s.eZdZ	dd�Zdd�Zdd�Zdd�Zd	S)
�catch_unraisable_exceptioncCsd|_d|_dSrS)�
unraisable�	_old_hookr\rOrOrPrX�s
z#catch_unraisable_exception.__init__cCs
||_dSrS)rn)rYrnrOrOrP�_hook�s
z catch_unraisable_exception._hookcCstj|_|jt_|SrS)rq�unraisablehookrorpr\rOrOrPr��rxz$catch_unraisable_exception.__enter__cGs|jt_|`dSrS)rorqrqrn)rY�exc_inforOrOrPr��sz#catch_unraisable_exception.__exit__N)rLrMrNrXrpr�r�rOrOrOrPrm�srmrcCs&	tjdkrdddl}|durt}t��}d}d}	t�|tj�\}}|dkr'n<t��|}	|	|krVzt�||j	�t�|d�Wn	t
yIYnwtd|�d|	d�d	���t|d
|�}t�
|�qnt�|d�\}}t�|�}
|
|kr�td|�d|
�d|�d
���||kr�td|�d|����dS)N�ntrg����MbP?rTzprocess z is still running after z.1fz secondsrsz exited with code z, but exit code z is expectedzpid z != pid )rernrFrFr�	monotonicr�r��killrDrt�AssertionError�minr�waitstatus_to_exitcode)r^�exitcoderrF�t0rZ	max_sleepZpid2r�ZdtZ	exitcode2rOrOrP�wait_process�sH

�

�
�

��r{c
Csh	ddlm}|d�|d�}tjdkr2z	|jdd�WdSty1}zt�d|����d}~wwdS)Nr)�
import_module�_multiprocessingzmultiprocessing.synchronize�linux)riz broken multiprocessing SemLock: )Z
import_helperr|rqr��Lockrtrcrl)r|�synchronize�excrOrOrP�*skip_if_broken_multiprocessing_synchronize�s
���r��Kc	cs8�t��}zt�|�dVWt�|�dSt�|�wrS)rq�getrecursionlimit�setrecursionlimit)Z	max_depthZoriginal_depthrOrOrP�infinite_recursions�
r�cOs^	|j}|j}|dkr|�d|��}n|�}dt�|��d�}|jt||g|�Ri|��dS)N�builtinsr�zcannot create 'z' instances)rMrLrPr�r��	TypeError)r��tprzrB�modrn�qualnamerTrOrOrPr*s r*r��like�returncCs,t�}tjdt||dt|��d�d�|S)Nr��
(?#support�))r>r�r�)�objectrc�filterwarnings�DeprecationWarningr�)r�r��tokenrOrOrP�ignore_deprecations_from%s�r��tokensc	Gs�|std��g}tdd�|D��}tjD]-\}}}}}|dkr7|tur7t|tj�r-|j}n|p0d}|�	|�r7q|�
|||||f�qtj|krT|tjdd�<t��dSdS)Nz<Provide token or tokens returned by ignore_deprecations_fromcss �|]}dt|��d�VqdS)r�r�N)r�)r�r�rOrOrPr5s�z-clear_ignored_deprecations.<locals>.<genexpr>r�r�)r�r�rc�filtersr�r�rP�Patternrdrr
�_filters_mutated)	r�Znew_filtersr�actionr�r>r�r�rTrOrOrP�clear_ignored_deprecations0s 

�r�c	cs:�	t��}zt�|�dVWt�|�dSt�|�wrS)rq�get_int_max_str_digits�set_int_max_str_digits)Z
max_digits�currentrOrOrP�adjust_int_max_str_digitsDs�
r�rS)r�)r�)r�)r�)r�)T)NNr�)NrOrO)F)rO)r�)�rLr��
contextlibr�rerPrwrqr�rrrcrcZ
testresultrr,rrrCr�r�rDrErFr�r
rrRrrlr
r%r&r"rrrrWr�r	rorrr|r�rrr�rrrr+r,r�rZ
SOCK_MAX_SIZEr�rT�
__getformat__r�r#r$rrrZrequires_legacy_unicode_capir-r�r.r0Z
TEST_HTTP_URLr=rrfrgr�rhZTEST_SUPPORT_DIRr�r�r	r�r6r;rr2�contextmanagerrrrrr r$r&r+r,r1r/r2r7r6r;r4r<rNrOrYZ_4GrsrXr9r]rr rryr{r!r}rr/r�r�r�r�r�r�r�r�r�r�r�rr�r�ZMISSING_C_DOCSTRINGSrEZHAVE_DOCSTRINGSZrequires_docstringsrr�r�r3r7r5r�r�r�r8r�r)r�rr'r(rr:r(r)r-r7r>r;r1rBrCrQrSr?rZr@�total_orderingr\rAr`rBrc�	hash_info�widthZ	NHASHBITSrlrmr{r�r�r*r�r�r�r�rOrOrOrP�<module>s��,

	M			��
7
		



#!0


! �
���


"R�;`"
	 
'			",4