Your IP : 216.73.216.213


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

o

0�i
�@sZddlmZe�d�ZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZddlmZe
jd	d
gd�ddlmZmZmZmZmZmZmZmZmZd
d�Zdd�Zeddd��Ze�ej �!d
�d�Gdd�d��Z"ej#e"ed�\Z$Z%e�ej �!d
�d�Gdd�d��Z&ej#e&ed�\Z'Z(e�ej �!d
�d�Gdd�dej)��Z*dS)�)�utilzimportlib.machinery�N)�support)�
import_helper)�contextmanager)�temp_module�winreg�win)Zrequired_on)	�	CreateKey�HKEY_CURRENT_USER�SetValue�REG_SZ�KEY_ALL_ACCESS�EnumKey�CloseKey�	DeleteKey�OpenKeycCsndddd�}dtjvrtjd|vr|tjdSdtj��vr"dSdtj��vr+dSdtj��vr4d	StjS)
NZwin32z	win-amd64z	win-arm32)Zx86Zx64ZarmZVSCMD_ARG_TGT_ARCHZamd64z(arm)z(arm64)z	win-arm64)�os�environ�sys�version�lower�platform)ZTARGET_TO_PLAT�r�G/opt/alt/python310/lib64/python3.10/test/test_importlib/test_windows.py�get_platforms�
rcCsnz	t||td�}Wn
tyYdSw	zt|d�}Wn	ty%Ynwt||�qt|�t||�dS)N)�accessTr)rr�OSErrorr�delete_registry_treerr)�root�subkey�hkeyZ	subsubkeyrrrr(s��
�rc		cs2�|jjr
|jj}n|jj}|j|dtjdd�d�}d�tjjtjj�}|�	��
|�	��s7Jd�||���zXt|d��?}ztt
|�|jjrOtj�|�}n|}Wnty]|}Ynwtt
|�}|durk|d}t|dt|�dVWd�n1swYW|r�tt
|�dSdS|r�tt
|�ww)	Nz%d.%d�)�fullname�sys_versionz Software\Python\PythonCore\{}.{}z$expected key '{}' to start with '{}'za = 1z.py�)�WindowsRegistryFinder�DEBUG_BUILD�REGISTRY_KEY_DEBUG�REGISTRY_KEY�formatr�version_info�major�minor�casefold�
startswithrrrr�path�dirnamerr
rr
r)	�	machinery�namer0r�keyZbase_key�locationZ
delete_keyr rrr�setup_module8sH�
��
�
��
����r6zrequires Windowsc@s:eZdZd�e���Zdd�Zdd�Zdd�Z	dd	�Z
d
S)�WindowsRegistryFinderTestsz	spamham{}cCs|jj�d�}|�|d�dS)N�spam)r2r&�	find_spec�assertIs)�self�specrrr�test_find_spec_missing^sz1WindowsRegistryFinderTests.test_find_spec_missingcCsRt���t�dt�|jj�d�}Wd�n1swY|�|d�dS)N�ignorer8)�warnings�catch_warnings�simplefilter�DeprecationWarningr2r&�find_moduler:)r;�loaderrrr�test_find_module_missingbs

�z3WindowsRegistryFinderTests.test_find_module_missingc	Cs�t|j|j��?t���t�dt�|jj�|j�}Wd�n1s%wY|jj�	|j�}|�
|d�|�
|d�Wd�dS1sIwYdS)Nr>)r6r2�test_moduler?r@rArBr&rCr9ZassertIsNot�r;rDr<rrr�test_module_foundhs
�"�z,WindowsRegistryFinderTests.test_module_foundc	Cs�t|j|jdd��=t���t�dt�|jj�|j�}Wd�n1s'wY|jj�	|j�}|�
|�|�
|�Wd�dS1sIwYdS)N�.)r0r>)r6r2rFr?r@rArBr&rCr9ZassertIsNonerGrrr�test_module_not_foundqs
�
"�z0WindowsRegistryFinderTests.test_module_not_foundN)�__name__�
__module__�__qualname__r*r�getpidrFr=rErHrJrrrrr7Xs	r7)r2c@seZdZdd�ZdS)�WindowsExtensionSuffixTestscCs||jj}d�tjt�ddt���}z|�d�}Wnt	y*|�d�}d|}Ynw|�
||�|�|�}|�||�dS)Nz.cp{0.major}{0.minor}-{1}.pydz[^a-zA-Z0-9]�_z.pydz_d.pydZ_d)r2�EXTENSION_SUFFIXESr*rr+�re�subr�index�
ValueErrorZassertInZ
assertLess)r;�suffixesZexpected_tagZ
untagged_iZtagged_irrr�test_tagged_suffix�s�
�
z.WindowsExtensionSuffixTests.test_tagged_suffixN)rKrLrMrWrrrrrO~srOc@seZdZdd�Zdd�ZdS)�WindowsBootstrapPathTestscGs8ddlm}||�}|��|��krdS|�||�dS)Nr)�
_path_join)Zimportlib._bootstrap_externalrYr.ZassertEqual)r;ZexpectedZinputsrYZactualrrr�
check_join�s
z$WindowsBootstrapPathTests.check_joinc	Cs�|�dddd�|�dddddd�|�dddd�|�ddd�|�dd�|�d	d
d�|�d	dd
d�|�d	dd	�|�dddd
�|�ddd�|�ddd�|�dddd
�|�ddd�|�dddd�|�ddddd
�|�dddddd
�|�ddddddd
�|�dddddd
�|�dd�|�dd�|�dd d!�|�dd"d!�|�d#d#d!�|�d$d%d!�|�d$d&d!�dS)'NzC:\A\BzC:\�A�BzD:\�DzC:BzA\BzD:AzD:zC:\B\CzA\B\C�CzB\CzA\B/CzB/CzA/zB\zA\../Cz../CzA.\.\BzA.rIz\\Server\Share\A\B\Cz\\Server\Sharez\Az\\Server2\Share2z\\Serverz\Sharez\\Server\Share\\zC:\AzC:/Ar%zC:/zC:z//Server/Share\z//Server/Share/z//Server/Share)rZ)r;rrr�test_path_join�s6
�z(WindowsBootstrapPathTests.test_path_joinN)rKrLrMrZr_rrrrrX�srX)N)+r%rZ	test_utilZimport_importlibr2rrRrZunittestr?�testrZtest.supportr�
contextlibrr�
import_modulerr
rrr
rrrrrrrr6Z
skipUnlessrr/r7Z	test_bothZ!Frozen_WindowsRegistryFinderTestsZ!Source_WindowsRegistryFinderTestsrOZ"Frozen_WindowsExtensionSuffixTestsZ"Source_WindowsExtensionSuffixTestsZTestCaserXrrrr�<module>s:
,#��