HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/test/test_importlib/__pycache__/test_windows.cpython-38.opt-2.pyc
U

/D�gM�@sJddlmZe�d�ZddlZddlZddlZddlZddl	m
Z
ddlmZddl
mZddlmZe
jd	d
gd�ddlmZmZmZmZmZmZmZmZmZd
d�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)�get_platform)�contextmanager)�temp_module�winreg�win)Zrequired_on)	�	CreateKey�HKEY_CURRENT_USER�SetValue�REG_SZ�KEY_ALL_ACCESS�EnumKey�CloseKey�	DeleteKey�OpenKeycCstzt||td�}Wntk
r(YdSXzt|d�}Wntk
rPYq^YnXt||�q*t|�t||�dS)N)�accessr)rr�OSErrorr�delete_registry_treerr)�root�subkey�hkeyZ	subsubkey�r�?/opt/cppython/lib/python3.8/test/test_importlib/test_windows.pyrs
rc	cs�|jjr|jj}n|jj}|j|dtjdd�d�}zHt|d��4}t
t|�}|dkr^|d}t|dt|�dVW5QRXW5|jjr�tj�	|�}t
t|�XdS)Nz%d.%d�)�fullname�sys_versionza = 1z.py�)�WindowsRegistryFinder�DEBUG_BUILD�REGISTRY_KEY_DEBUG�REGISTRY_KEY�format�sys�version_info�os�path�dirnamerrrr
rr
)�	machinery�namer'r�key�locationrrrr�setup_module$s 
�
r-zrequires Windowsc@s:eZdZd�e���Zdd�Zdd�Zdd�Z	dd	�Z
d
S)�WindowsRegistryFinderTestsz	spamham{}cCs|jj�d�}|�|d�dS�NZspam)r)r�	find_spec�assertIs)�self�specrrr�test_find_spec_missing?sz1WindowsRegistryFinderTests.test_find_spec_missingcCs|jj�d�}|�|d�dSr/)r)r�find_moduler1)r2�loaderrrr�test_find_module_missingCsz3WindowsRegistryFinderTests.test_find_module_missingc	CsVt|j|j��>|jj�|j�}|jj�|j�}|�|d�|�|d�W5QRXdS)N)r-r)�test_modulerr5r0ZassertIsNot�r2r6r3rrr�test_module_foundGs
z,WindowsRegistryFinderTests.test_module_foundc	CsVt|j|jdd��:|jj�|j�}|jj�|j�}|�|�|�|�W5QRXdS)N�.)r')r-r)r8rr5r0ZassertIsNoner9rrr�test_module_not_foundNs

z0WindowsRegistryFinderTests.test_module_not_foundN)�__name__�
__module__�__qualname__r#r&�getpidr8r4r7r:r<rrrrr.9s
r.)r)c@seZdZdd�ZdS)�WindowsExtensionSuffixTestscCs~|jj}d�tjt�ddt���}z|�d�}Wn&t	k
rV|�d�}d|}YnX|�
||�|�|�}|�||�dS)Nz.cp{0.major}{0.minor}-{1}.pydz[^a-zA-Z0-9]�_z.pydz_d.pydZ_d)r)�EXTENSION_SUFFIXESr#r$r%�re�subr�index�
ValueErrorZassertInZ
assertLess)r2�suffixesZexpected_tagZ
untagged_iZtagged_irrr�test_tagged_suffix[s�

z.WindowsExtensionSuffixTests.test_tagged_suffixN)r=r>r?rIrrrrrAYsrAc@seZdZdd�Zdd�ZdS)�WindowsBootstrapPathTestscGs8ddlm}||�}|��|��kr(dS|�||�dS)Nr)�
_path_join)Zimportlib._bootstrap_externalrK�casefoldZassertEqual)r2ZexpectedZinputsrK�actualrrr�
check_joinrs
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.r;z\\Server\Share\A\B\Cz\\Server\Sharez\Az\\Server2\Share2z\\Serverz\Sharez\\Server\Share\\zC:\AzC:/ArzC:/zC:z//Server/Share\z//Server/Share/z//Server/Share)rN)r2rrr�test_path_joinys<
�z(WindowsBootstrapPathTests.test_path_joinN)r=r>r?rNrSrrrrrJpsrJ)N))rrZ	test_utilZimport_importlibr)r&rDr$Zunittest�testrZdistutils.utilr�
contextlibrr�
import_modulerr
rrr
rrrrrrr-Z
skipUnless�platform�
startswithr.Z	test_bothZ!Frozen_WindowsRegistryFinderTestsZ!Source_WindowsRegistryFinderTestsrAZ"Frozen_WindowsExtensionSuffixTestsZ"Source_WindowsExtensionSuffixTestsZTestCaserJrrrr�<module>s4
,��