HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/test/test_importlib/__pycache__/test_lazy.cpython-312.pyc
�

h�eS���ddlZddlmZddlmZddlZddlZddlZddlmZGd�d�ZGd�dej�Z
Gd�d	ejej�Z
Gd
�dej�Zedk(rej �yy)
�N)�abc)�utilc��eZdZd�Zd�Zy)�CollectInitc� �||_||_y�N)�args�kwargs)�selfr	r
s   �D/opt/alt/python312/lib64/python3.12/test/test_importlib/test_lazy.py�__init__zCollectInit.__init__
s����	����c��|Sr��r�modules  r�exec_modulezCollectInit.exec_modules���rN)�__name__�
__module__�__qualname__r
rrrrrrs���rrc��eZdZd�Zd�Zy)�LazyLoaderFactoryTestsc���tjjt�}|ddd��}|j}|jd|j�|jddi|j�y)N�module name�module path�kw)r)rr)r�
LazyLoader�factoryr�loader�assertEqualr	r
)rr�lazy_loaderrs    r�	test_initz LazyLoaderFactoryTests.test_inits^���/�/�)�)�+�6���m�]�t�D���#�#�����7����E����$���v�}�}�5rc��|jt�5tjj	t
�ddd�y#1swYyxYwr)�assertRaises�	TypeErrorrrr�object�rs r�test_validationz&LazyLoaderFactoryTests.test_validation s7��
�
�
�y�
)�	,��O�O�#�#�F�+�	,�	,�	,�s�$A�AN)rrrr"r(rrrrrs��6�,rrc�H�eZdZdZdZdZdj
e�Zdd�Zd�Z	y)�TestingImporter�lazy_loader_test�changedNzattr = 42; __name__ = {!r}c�t�||jk7rytj|tj|��Sr)�module_namer�spec_from_loaderr)r�name�path�targets    r�	find_speczTestingImporter.find_spec-s/���4�#�#�#���$�$�T�4�?�?�4�+@�A�Arc�R�t|j|j�||_yr)�exec�source_code�__dict__�loadedrs  rrzTestingImporter.exec_module2s���T�
�
�v���/���rr)
rrrr.�mutated_namer8�formatr6r3rrrrr*r*&s,��$�K��L�
�F�.�5�5�l�C�K�B�
rr*c�P�eZdZd�Zd
d�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
y)�LazyLoaderTestsc��|jt�5tjt�ddd�y#1swYyxYwr)r$r%rrr&r's rr"zLazyLoaderTests.test_init9s1��
�
�
�y�
)�	$��O�O�F�#�	$�	$�	$�s	�9�ANc��t�}|�||_tjtjtj
|��}|jj|�}|�#tjtj�}||_
|j|_|jj|�|j|j�|Sr)r*r6rr/r.rr�
create_module�types�
ModuleType�__spec__�
__loader__r�assertIsNoner8)rr6r�specrs     r�
new_modulezLazyLoaderTests.new_module>s��� �"���"�!,�F���$�$�_�%@�%@�%)�_�_�V�%<�>�����*�*�4�0���>��%�%�o�&A�&A�B�F���� �K�K���������'����&�-�-�(��
rc��t�}|j�J�tj|j�5tj
|g��5t
j|j�}ddd�ddd�|j|j�|jj|�|j|j�|j||j�y#1swY��xYw#1swY��xYw)N)�	meta_path)r*r8�	test_util�uncacher.�import_state�	importlib�
import_modulerDr rC�assertIsNotNone)r�importerrs   r�test_e2ezLazyLoaderTests.test_e2eNs���"�$�����&�&�
�
�
�x�3�3�
4�	G��'�'�8�*�=�
G�"�0�0��1E�1E�F��
G�	G�	
���(�/�/�*�����*�*�H�5����X�_�_�-��������1�

G�
G��	G�	G�s#�C;� C/�0C;�/C8	�4C;�;Dc�x�|j�}|jtj|j�yr)rFr r*r9rrs  r�test_attr_unchangedz#LazyLoaderTests.test_attr_unchanged[s*�����"������5�5�v���Grc�j�|j�}d|_|jd|j�y)N�*)rF�new_attrr rs  r�
test_new_attrzLazyLoaderTests.test_new_attras)�����"���������V�_�_�-rc�j�|j�}d|_|jd|j�y)N�bogus)rFrr rs  r�test_mutated_preexisting_attrz-LazyLoaderTests.test_mutated_preexisting_attrgs+�����"��!�������&�/�/�2rc�j�|j�}d|_|jd|j�y)N�)rF�attrr rs  r�test_mutated_attrz!LazyLoaderTests.test_mutated_attrns+�����"���������F�K�K�(rc�^�|j�}|`|jt|d��y)Nr\)rFr\�assertFalse�hasattrrs  r�test_delete_eventual_attrz)LazyLoaderTests.test_delete_eventual_attrus(�����"���K�������0�1rc�^�|j�}|`|jt|d��y)Nr)rFrr_r`rs  r�test_delete_preexisting_attrz,LazyLoaderTests.test_delete_preexisting_attr{s(�����"���O�������4�5rc��tjtj�5t	j
tj�}|tjtj<|j�}|jtd�5|jddd�ddd�y#1swY�xYw#1swYyxYw)N�substituted)rIrJr*r.r@rA�sys�modulesrF�assertRaisesRegex�
ValueErrorr)r�fresh_modulers   r�test_module_substitution_errorz.LazyLoaderTests.test_module_substitution_error�s���
�
�
��:�:�
;�	 � �+�+�O�,G�,G�H�L�7C�C�K�K��3�3�4��_�_�&�F��'�'�
�M�B�
 ����
 �		 �	 �
 �
 ��		 �	 �s$�A+B9�
B-�B9�-B6	�2B9�9Cc���tjtj�5|j	�}|t
jtj<|jddd�y#1swYyxYwr)rIrJr*r.rFrfrgrrs  r�test_module_already_in_sysz*LazyLoaderTests.test_module_already_in_sys�sR��
�
�
��:�:�
;�	��_�_�&�F�7=�C�K�K��3�3�4��O�O�		�	�	�s�>A+�+A4r)rrrr"rFrPrRrVrYr]rarcrkrmrrrr<r<7s:��$�
� 2�H�.�3�)�2�6�
 �rr<�__main__)rLrrrfr@�unittest�test.test_importlibrIr�TestCaser�MetaPathFinder�Loaderr*r<r�mainrrr�<module>rus}�����
���1���,�X�.�.�,�"�c�(�(�#�*�*��"V�h�'�'�V�r�z���H�M�M�O�r