Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/__pycache__/pythoninfo.cpython-310.pyc

o

0�i^�@s�dZddlmZddlZddlZddlZddlZddlZejdkZ	dd�Z
Gdd�d�Zdd	�d
d�Zdd
�Z
dd	�dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Z d4d5�Z!d6d7�Z"d8d9�Z#d:d;�Z$d<d=�Z%d>d?�Z&d@dA�Z'dBdC�Z(dDdE�Z)dFdG�Z*dHdI�Z+dJdK�Z,dQdLdM�Z-dNdO�Z.e/dPkr�e.�dSdS)RzK
Collect various information about Python to help debugging test failures.
�)�print_functionNZwin32cCs*|durdSt|�}t�dd|�}|��S)Nz\s+� )�str�re�sub�strip)�text�r	�6/opt/alt/python310/lib64/python3.10/test/pythoninfo.py�normalize_texts
rc@s$eZdZdd�Zdd�Zdd�ZdS)�
PythonInfocCs
i|_dS�N)�info��selfr	r	r
�__init__s
zPythonInfo.__init__cCs\||jvrtd|��|durdSt|t�s't|t�st|�}|��}|s'dS||j|<dS)Nzduplicate key: %r)r�
ValueError�
isinstance�intrr)r�key�valuer	r	r
�adds


zPythonInfo.addcCsdd�|j��D�S)zU
        Get information as a key:value dictionary where values are strings.
        cSsi|]	\}}|t|��qSr	)r)�.0rrr	r	r
�
<dictcomp>1�z(PythonInfo.get_infos.<locals>.<dictcomp>)r�itemsrr	r	r
�	get_infos-szPythonInfo.get_infosN)�__name__�
__module__�__qualname__rrrr	r	r	r
rsr��	formattercCsH|D]}t||d�}|durq||}|dur|||�}|||�qdSr
)�getattr)�info_add�objZname_fmt�
attributesr!�attrr�namer	r	r
�copy_attributes4s
�r(cCs2zt||�}Wn
tyYdSw|||�dSr
�r"�AttributeError)r#r'�modZ	attr_namerr	r	r
�	copy_attr?s�r,cCsHzt||�}Wn
tyYdSw|�}|dur||�}|||�dSr
r))r#r'r+Z	func_namer!�funcrr	r	r
�	call_funcGs�r.c	Cs�d}t|td|�t|dtd�t|dtd�t��}ttd�r(d|t��f}|d	|�d
D]*}tt|�}|dur;q/t|dd�}|sDq/t|dd�}|rRd||f}|d
||�q/ttd�}|rdd}nd}|d|�ttd�}|rud}nd}|d|�dS)N)�
_framework�abiflags�api_version�builtin_module_names�	byteorder�dont_write_bytecode�
executable�flags�
float_info�float_repr_style�	hash_info�
hexversion�implementation�int_info�maxsize�
maxunicode�path�platform�
platlibdir�prefix�thread_info�version�version_info�winverzsys.%szsys.androidapilevelZgetandroidapilevelzsys.windowsversionZgetwindowsversion�getfilesystemencodeerrorsz%s/%szsys.filesystem_encoding)�stdin�stdout�stderr�encoding�errorszsys.%s.encodingZgettotalrefcountz$Yes (sys.gettotalrefcount() present)z#No (sys.gettotalrefcount() missing)zbuild.Py_DEBUGZ
getobjectszYes (sys.getobjects() present)zNo (sys.getobjects() missing)zbuild.Py_TRACE_REFS)r(�sysr.�getfilesystemencoding�hasattrrGr")	r#r%rKr'�streamrL�Py_DEBUGrZ
Py_TRACE_REFSr	r	r
�collect_sysRs:





rRcCspddl}|��}d�tt|��}|d|�|d|���|d|jdd��d|����}|r6|d	|�dSdS)
Nrrzplatform.architecturezplatform.python_implementationzplatform.platformT)Zaliasedz%s %szplatform.libc_ver)r@Zarchitecture�join�filter�boolZpython_implementation�libc_verr)r#r@ZarchrVr	r	r
�collect_platform�s
�
��rWcCsddl}|d|�d��dS)Nrzlocale.encodingF)�localeZgetpreferredencoding)r#rXr	r	r
�collect_locale�srYcCs$|dt�d��|dt�d��dS)Nzbuiltins.float.float_format�floatzbuiltins.float.double_formatZdouble)rZ�
__getformat__)r#r	r	r
�collect_builtins�sr\c
Cs�ddl}t|d�rNz*z|�d|j�d}Wnty+}z
d|}WYd}~nd}~ww|d|�WdStyM}z|jtjkrB�WYd}~dSd}~wwdS)Nr�	getrandom�zready (initialized)znot seeded yet (%s)zos.getrandom)�osrOr]�
GRND_NONBLOCK�BlockingIOError�OSError�errnoZENOSYS)r#r_�state�excr	r	r
�collect_urandom�s$
������rfcCsddl}dd�}d}t||d||d�dD]}t|d|||�qdd	�}t|d
|d|d�t|d�rHz|��}Wn	tyBYnw|d
|�td�}|j��D]"\}}	|�	�}
|
|vsl|
�
d�sl|
�
d�rs|
�d�rs|d||	�qQt|d�r�|�d�}|�|�|dd|�dSdS)NrcSs"|dvrttdd�|D���S|S)N)�supports_follow_symlinks�supports_fd�supports_effective_idscss�|]}|jVqdSr
)r)rr-r	r	r
�	<genexpr>�s�z2collect_os.<locals>.format_attr.<locals>.<genexpr>)r�sorted�r&rr	r	r
�format_attr�szcollect_os.<locals>.format_attr)r'�supports_bytes_environrirhrgzos.%sr )
�	cpu_count�getcwd�getegid�geteuid�getgid�
getloadavg�	getresgid�	getresuid�getuid�unamecSsd�tt|��S)N�, )rS�mapr)�groupsr	r	r
�
format_groups�sz!collect_os.<locals>.format_groupszos.getgroups�	getgroups�getloginzos.login)>�APPDATAZARZ	ARCHFLAGSZARFLAGSZAUDIODEV�CC�CFLAGSZCOLUMNSZCOMPUTERNAMEZCOMSPECZCPPZCPPFLAGSZDISPLAYZDISTUTILS_DEBUGZDISTUTILS_USE_SDKZDYLD_LIBRARY_PATHZENSUREPIP_OPTIONSZHISTORY_FILE�HOMEZ	HOMEDRIVEZHOMEPATHZIDLESTARTUPZLANGZLDFLAGSZLDSHAREDZLD_LIBRARY_PATHZLINESZMACOSX_DEPLOYMENT_TARGETZMAILCAPSZ	MAKEFLAGSZMIXERDEVZMSSDK�PATHZPATHEXTZPIP_CONFIG_FILEZPLATZPOSIXLY_CORRECTZ
PY_SAX_PARSERZProgramFileszProgramFiles(x86)ZRUNNING_ON_VALGRINDZ
SDK_TOOLS_BINZSERVER_SOFTWARE�SHELL�SOURCE_DATE_EPOCHZ
SYSTEMROOTZTEMPZTERMZTILE_LIBRARYZTIX_LIBRARYZTMPZTMPDIRZTRAVISZTZZUSERPROFILEZVIRTUAL_ENVZWAYLAND_DISPLAYZWINDIRZ_PYTHON_HOST_PLATFORMZ_PYTHON_PROJECT_BASEZ_PYTHON_SYSCONFIGDATA_NAME�__PYVENV_LAUNCHER__)ZPYTHONZLC_ZVSZ	COMNTOOLSzos.environ[%s]�umaskzos.umaskz0o%03o)
r_r(r.rOr~rb�	frozenset�environr�upper�
startswith�endswithr�)r#r_rmr%r-r|ZloginZENV_VARSr'rrx�maskr	r	r
�
collect_os�s@
�
@����


�r�cCs�zddl}Wn
tyYdSwddl}|��}z|�|�}Wnty+d}Ynw|d||dur6|nd�|dur?dSt|d�r[|�|j|j	�}d�
tt|��}|d|�dSdS)Nrzpwd.getpwuid(%s)z
<KeyError>�getgrouplistryzos.getgrouplist)
�pwd�ImportErrorr_rw�getpwuid�KeyErrorrOr�Zpw_nameZpw_gidrSrzr)r#r�r_Zuid�entryr{r	r	r
�collect_pwdFs,���
�r�cCs�zddl}Wn
tyYdSwdd�}d}t||d||d�t|d�sAt|dd	�}d
|vr6|dd
�dSd|vrC|dd�dSdSdS)
NrcSst|t�r	d|S|S)Nz%#x)rrrlr	r	r
rmg�
z%collect_readline.<locals>.format_attr)Z_READLINE_VERSIONZ_READLINE_RUNTIME_VERSION�_READLINE_LIBRARY_VERSIONzreadline.%sr r��__doc__�zlibedit readlinezreadline.libraryzGNU readline)�readliner�r(rOr")r#r�rmr%�docr	r	r
�collect_readlineas$�
�
�r�cCsnddl}z|jgd�|j|jdd�}|��d}|jrWdSWn
ty)YdSw|��d}|d|�dS)Nr)Zgdbz-nx�	--versionT�rIrJZuniversal_newlinesZgdb_version)�
subprocess�Popen�PIPE�communicate�
returncoderb�
splitlines)r#r��procrDr	r	r
�collect_gdb~s 
���r�cCsvzddl}Wn	tyYn
wd}t||d|�zddl}Wn
ty)YdSw|��}|�dd�}|d|�dS)Nr)Z
TK_VERSIONZTCL_VERSIONz
tkinter.%sr�
patchlevelztkinter.info_patchlevel)�_tkinterr�r(�tkinterZTclZcall)r#r�r%r�Ztclr�r	r	r
�collect_tkinter�s��r�c	Cs�ddl}|d|���d}t||d|�t|d�rLdD]2}ztjdd��
|�|�}Wd�n1s4wYWn	tyCYqw|d	||�qdSdS)
Nrz	time.time)�altzone�daylight�timezone�tznameztime.%s�get_clock_info)�clock�	monotonic�perf_counter�process_time�thread_time�timeT)�recordztime.get_clock_info(%s))r�r(rO�warnings�catch_warningsr�r)r#r�r%r�Z
clock_infor	r	r
�collect_time�s"
����r�cCs6zddl}Wn
tyYdSw|d|j���dS)Nrzdatetime.datetime.now)�datetimer�Znow)r#r�r	r	r
�collect_datetime�s�r�cCs�trdSddl}dD]}|�|�}|dkr|sq
t|�}|d||�q
|�d�}|o.d|v}|r4d}nd}|d	|�d
D]}|�|�}|rId}nd}|d
|��|�q=dS)Nr)ZABIFLAGS�ANDROID_API_LEVELr�ZCCSHAREDr�ZCFLAGSFORSHAREDZCONFIG_ARGSZ
HOST_GNU_TYPEZMACHDEPZ	MULTIARCHZOPT�	PY_CFLAGSZPY_CFLAGS_NODISTZPY_CORE_LDFLAGSZ
PY_LDFLAGSZPY_LDFLAGS_NODISTZPY_STDMODULE_CFLAGSrQZPy_ENABLE_SHAREDr�ZSOABIrBr�z
sysconfig[%s]r�z-DNDEBUGz!ignore assertions (macro defined)z$build assertions (macro not defined)zbuild.NDEBUG)ZWITH_DOC_STRINGSZWITH_DTRACEZWITH_FREELISTSZ
WITH_PYMALLOCZ
WITH_VALGRINDZYesZNozbuild.)�
MS_WINDOWS�	sysconfig�get_config_varr)r#r�r'rr�ZNDEBUGrr	r	r
�collect_sysconfig�s,



�r�c	Cs,ddl}zddl}Wn
tyYdSwzddl}Wnty&d}Ynwdd�}d}t||d||d�d|�|j�fd|��fd	|��ffD]\}}d
}t||d|�d�|�qId
dg}|durwt	|d�rw|�
�}	|�|	d|	df�|D]}z|j|}
Wn	t
y�Yqyw|d||
�qydS)NrcSs|�d�r	d|S|S)NZOP_z%#8x�r�rlr	r	r
rmr�z collect_ssl.<locals>.format_attr)ZOPENSSL_VERSIONZOPENSSL_VERSION_INFOZHAS_SNIZOP_ALLZ
OP_NO_TLSv1_1zssl.%sr �
SSLContextZdefault_https_contextZstdlib_context)Zminimum_versionZmaximum_versionZprotocolZoptionsZverify_modezssl.z.%sZOPENSSL_CONFZ
SSLKEYLOGFILE�get_default_verify_paths�zssl.environ[%s])r_�sslr��_sslr(r�ZPROTOCOL_TLS_CLIENTZ_create_default_https_contextZ_create_stdlib_contextrOr��extendr�r�)r#r_r�r�rmr%r'�ctxZ	env_names�partsrr	r	r
�collect_ssls@��

���r�cCs8zddl}Wn
tyYdSw|��}|d|�dS)Nrzsocket.hostname)�socketr�Zgethostname)r#r�Zhostnamer	r	r
�collect_socket<s�r�cC�8zddl}Wn
tyYdSwd}t||d|�dS)Nr)rDZsqlite_versionz
sqlite3.%s)�sqlite3r�r()r#r�r%r	r	r
�collect_sqliteF��r�cCr�)Nr)ZZLIB_VERSIONZZLIB_RUNTIME_VERSIONzzlib.%s)�zlibr�r()r#r�r%r	r	r
�collect_zlibPr�r�cCs<zddlm}Wn
tyYdSwd}t||d|�dS)Nr)�expat)Z
EXPAT_VERSIONzexpat.%s)Zxml.parsersr�r�r()r#r�r%r	r	r
�
collect_expatZs�r�cCr�)Nr)Z__libmpdec_version__z_decimal.%s)�_decimalr�r()r#r�r%r	r	r
�collect_decimaldr�r�cCs4zddl}Wn
tyYdSwt|d|d�dS)Nrzpymem.allocatorZpymem_getallocatorsname)�	_testcapir�r.)r#r�r	r	r
�collect_testcapins�r�cCsrzddl}Wn
tyYdSwdd�t|�D�}|D]}t||�}|�|�}|d||�qt|d|d�dS)NrcS�g|]	}|�d�r|�qS)ZRLIMIT_r�)rr&r	r	r
�
<listcomp>}rz$collect_resource.<locals>.<listcomp>zresource.%szresource.pagesizeZgetpagesize)�resourcer��dirr"Z	getrlimitr.)r#r�Zlimitsr'rrr	r	r
�collect_resourcews�

r�cCsJzddlm}Wn
tyYdSwdd�t|�D�}t||d|�dS)Nr)�test_socketcSr�)ZHAVE_r�)rr'r	r	r
r��s
�z'collect_test_socket.<locals>.<listcomp>ztest_socket.%s)�testr�r�r�r()r#r�r%r	r	r
�collect_test_socket�s�r�cCs�zddlm}Wn
tyYdSwd}t||d|�t|d|d�t|d|d�|d	|jd
d��|d|jd
d
��|d|jd
d��dS)Nr)�support)ZIPV6_ENABLEDztest_support.%sztest_support._is_gui_availableZ_is_gui_availablez test_support.python_is_optimizedZpython_is_optimizedz*test_support.check_sanitizer(address=True)T)Zaddressz)test_support.check_sanitizer(memory=True))Zmemoryz%test_support.check_sanitizer(ub=True))Zub)r�r�r�r(r.Zcheck_sanitizer)r#r�r%r	r	r
�collect_test_support�s$�
�
�
�r�c	Cs�ddl}ddl}|�d�}|sdSzddl}|�|�}Wn
ty)|��}Ynw|�d�z
|j||j|j	dd�}Wn
t
yFYdSw|��d}|jrRdS|�
�d}t|�}|d|�dS)Nrr�r�Tr�z
CC.version)r�r�r��shlex�splitr��appendr�r�ZSTDOUTrbr�r�r�r)	r#r�r�r�r��argsr�rIrr	r	r
�
collect_cc�s6
�

��r�cCs@zddlm}Wn
tyYdSw|dd�tt|���dS)Nr)�
_GDBM_VERSIONzgdbm.GDBM_VERSION�.)Z_gdbmr�r�rSrzr)r#r�r	r	r
�collect_gdbm�s�r�cCsnzddlm}Wn
tyYdSw|�}t|�D]}||}t|�D]}|d||ft||��q$qdS)Nr)�get_configsz%s[%s])Z_testinternalcapir�r�rk�repr)r#r�Zall_configsZconfig_typeZconfigrr	r	r
�collect_get_config�s���r�cCsddl}t||dd�dS)Nrz
subprocess.%s)Z_USE_POSIX_SPAWN)r�r()r#r�r	r	r
�collect_subprocess�sr�c
	Cs�zddl}Wn
tyYdSwt|d�sdS|�d�}|j}z|j}Wnty0d}Ynw||_d|_t	|��}|d|�zddl
}|�tj
�}|d|�Wnttfy]Ynwddl}z|jgd�|j|jd	d
d�}	|	��\}
}|	jr|d}
Wn	ty�Yn3w|
��D]-}|��}|�d
�r�|�d
���}|r�|d|�q�|�d�r�|�d���}|r�|d|�q�z|jdgd
|j|jd
d�}	|	��d}
|	jr�d}
Wn
ty�YdSw|
��}
|
��d}|r�|d|�dSdS)Nr�WinDLL�ntdllz<function not available>r	zwindows.RtlAreLongPathsEnabledzwindows.dll_path)Zwmicr_�getzCaption,Versionz/valueZoemT)rIrJrKrr�zCaption=zwindows.version_captionzVersion=zwindows.versionZver)�shellrIrJrzwindows.ver)�ctypesr�rOr�Zc_ubyte�RtlAreLongPathsEnabledr*Zrestype�argtypesrU�_winapiZGetModuleFileNamerMZ	dllhandler�r�r�r�r�rbr�rr��removeprefix)
r#r�r�ZBOOLEANr��resr�Zdll_pathr�r��outputrJ�liner	r	r
�collect_windows�s��


�

�
���

�

�
����r�cCs�zddl}Wntyd}Ynw|durt|d|d�z)tddd��}|����}Wd�n1s5wY|rD|d|�WdSWdStyPYdSw)Nrzfips.openssl_fips_modeZ
get_fips_modez/proc/sys/crypto/fips_enabledzutf-8)rKzfips.linux_crypto_fips_enabled)�_hashlibr�r.�openr��rstriprb)r#r��fpr�r	r	r
�collect_fips-s"����rcCs�d}|j}ttttttttt	t
ttt
ttttttttttttttttfD]/}z||�Wq$tySd}td|j t!j"d�t#j$t!j"d�tt!j"d�t!j"�%�Yq$w|S)NFTzERROR: %s() failed��file)&rrfr\r�r�r�r�rr�r�r�rYr�rWr�r�r�r�r�r�r�rRr�r�r�r�r�r�r�r��	Exception�printrrMrJ�	traceback�	print_exc�flush)r�errorr#Zcollect_funcr	r	r
�collect_info@sX�%
��r
cCsjd}t|�tdt|��t�|��}t|���}|D]\}}|�dd�}td||f�qt�dS)NzPython debug information�=�
rz%s: %s)r�lenrrkr�replace)rr�titleZinfosrrr	r	r
�	dump_infovs
rcCs:t�}t|�}t|�|rtdtjd�t�d�dSdS)Nz"Collection failed: exit with errorrr^)rr
rrrMrJ�exit)rr	r	r	r
�main�s�r�__main__r
)0r�Z
__future__rrcrrMrr�r@r�rrr(r,r.rRrWrYr\rfr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrr	r	r	r
�<module>sb
B	>5




	#	H
6

�