File: //usr/local/lib/python3.7/test/test_importlib/extension/__pycache__/test_loader.cpython-37.pyc
B
��gy. � @ s� d dl mZ d dl mZ e�d�ZddlZddlZddlZddl Z ddl
ZddlZddlm
Z
G dd� dej�Zejeed �\ZZG d
d� dej�Zejeed �\ZZedkr�e �� dS )
� )�abc)�utilzimportlib.machinery� N)�assert_python_failurec @ sd e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dZ
dZdd� ZdZ
dd� Zdd� ZdS )�LoaderTestsz)Test load_module() for extension modules.c C s | j �tjjtjj�| _d S )N)� machinery�ExtensionFileLoaderr �
EXTENSIONS�name� file_path�loader)�self� r �E/usr/local/lib/python3.7/test/test_importlib/extension/test_loader.py�setUp s zLoaderTests.setUpc C s | j �|�S )N)r �load_module)r
�fullnamer r r r s zLoaderTests.load_modulec C s: | j �� | j �d � | �t�� | �d� W d Q R X d S )NZXXX)r r �assertRaises�ImportError)r
r r r �test_load_module_API s
z LoaderTests.test_load_module_APIc C s( | j �tjjtjj�}| �| j|� d S )N)r r r r r
r �assertEqualr )r
�otherr r r �
test_equality s
zLoaderTests.test_equalityc C s, | j �dtjj tjj�}| �| j|� d S )N�_)r r r r r
r �assertNotEqualr )r
r r r r �test_inequality% s
zLoaderTests.test_inequalityc C s� t �t jj��r | �t jj�}x8dt jjfdt jjfdgD ]\}}| �t||�|� q:W | �t jjt j
� | �|j| j
j� W d Q R X d S )N�__name__�__file__)�__package__� )r �uncacher r
r r r �getattrZassertIn�sys�modules�assertIsInstance�
__loader__r r )r
�module�attr�valuer r r �test_module* s
zLoaderTests.test_moduleNc C sF t �t jj��. | �t jj�}| �t jj�}| �||� W d Q R X d S )N)r r r r
r �assertIs)r
�module1�module2r r r �test_module_reuse; s zLoaderTests.test_module_reusec C s8 d}| � t��}| �|� W d Q R X | �|jj|� d S )Nzasdfjkl;)r r r r � exceptionr
)r
r
�cmr r r �test_unloadableD s zLoaderTests.test_unloadablec C s` | � | j�tjj�� xD| jjD ]8}tj �
dddd| �}| j�d|�}| �|�d�� q W d S )NZsome�pathZpkg�__init__)
ZassertFalser �
is_packager r r
r �EXTENSION_SUFFIXES�osr1 �joinr Z
assertTrue)r
�suffixr1 r r r r �test_is_packageJ s
zLoaderTests.test_is_package)r �
__module__�__qualname__�__doc__r r r r r r) �test_package�test_lacking_parentr- �test_state_after_failurer0 r8 r r r r r s r )r c @ s� e Zd ZdZdd� ZdZdZdZdd� Zdd� Z d d
� Z
dd� Zd
d� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Ze�eed%� d&�d'd(� �ZdS ))�MultiPhaseExtensionModuleTestszMTest loading extension modules with multi-phase initialization (PEP 489)
c C sF d| _ | j�d �}tj�| j �| _| js,t�| j�| j | jj �| _
d S )NZ_testmultiphase)r
r �
FileFinder� importlibr � find_spec�spec�AssertionErrorr �originr )r
�finderr r r r Y s
z$MultiPhaseExtensionModuleTests.setUpNc
C s� t �| j��� | �� }x6d| jfd| jjfdgD ]\}}| �t||�|� q0W | �t �� |j
W dQ R X | �|tj
| j � | �|j| jj� W dQ R X dS )z Test loading an extension moduler r )r r N)r r r
r rC rE r r! r �AttributeError�__path__r* r"