File: D:/Python311/Lib/test/test_importlib/source/__pycache__/test_case_sensitivity.cpython-311.pyc
�
��Vc* � � � d Z ddlZddlmZ ej d� � Z ej d� � ZddlZddlm Z ddl
Z
ddlZej G d� dej
� � � � Z G d � d
e� � Z ej eee�� � \ ZZ G d� d
e� � Z ej eee�� � \ ZZedk r e
j � � dS dS )z Test case-sensitivity (PEP 235).� N)�util� importlibzimportlib.machinery)� os_helperc �� � e Zd ZdZdZee� � � k sJ �d� Zd� Z ej e
j j d� � d� � � Z
ej e
j j d� � d� � � ZdS ) �CaseSensitivityTestz�PEP 235 dictates that on case-preserving, case-insensitive file systems
that imports are case-sensitive unless the PYTHONCASEOK environment
variable is set.�MoDuLec � � | j � || j j | j j f| j j | j j f� � S �N)� machinery�
FileFinder�SourceFileLoader�SOURCE_SUFFIXES�SourcelessFileLoader�BYTECODE_SUFFIXES)�self�paths �DD:\Python311\Lib\test\test_importlib\source\test_case_sensitivity.py�finderzCaseSensitivityTest.finder sM � ��~�(�(��'+�~�'F�,0�N�,J�'L�)-��)L�,0�N�,L�)N�O� O� O� c �0 � d� | j � � }d� | j � � � � � }t j ||� � }|5 }t
j � |d d� � }t
j � |d d� � }| � |� � }| � |� � }| � |� � | � |� � fcddd� � S # 1 swxY w Y dS )z=Look for a module with matching and non-matching sensitivity.z
sensitive.{0}zinsensitive.{0}z.root� sensitive�insensitiveN)
�format�name�lowerr �create_modules�osr �joinr �find) r �
sensitive_pkg�insensitive_pkg�context�mapping�sensitive_path�insensitive_path�sensitive_finder�insensitive_finders r �sensitivity_testz$CaseSensitivityTest.sensitivity_test s> � �'�.�.�t�y�9�9�
�+�2�2�4�9�?�?�3D�3D�E�E���%�o�}�E�E��
� N���W�\�\�'�'�*:�K�H�H�N�!�w�|�|�G�G�,<�m�L�L��#�{�{�>�:�:��!%���-=�!>�!>���9�9�-�.�.�� � �:L�0M�0M�M� N� N� N� N� N� N� N� N� N� N� N� N���� N� N� N� N� N� Ns �B D�D�Dzignore_environment flag was setc � � t j � � 5 }|� d� � | � d�� � | � � � \ }}| � |� � | � | j |� | j � � � � | � |� � d d d � � d S # 1 swxY w Y d S )N�PYTHONCASEOKF��should_exist)
r �EnvironmentVarGuard�unset�caseok_env_changedr( �assertIsNotNone�assertInr �get_filename�assertIsNone�r �envr r s r �test_sensitivez"CaseSensitivityTest.test_sensitive, s� � �
�
*�
,�
,� +���I�I�n�%�%�%��#�#��#�7�7�7�%)�%:�%:�%<�%<�"�I�{�� � ��+�+�+��M�M�$�)�Y�%;�%;�D�I�%F�%F�G�G�G����k�*�*�*�
+� +� +� +� +� +� +� +� +� +� +� +���� +� +� +� +� +� +s �B C�C�Cc � � t j � � 5 }|� dd� � | � d�� � | � � � \ }}| � |� � | � | j |� | j � � � � | � |� � | � | j |� | j � � � � d d d � � d S # 1 swxY w Y d S )Nr* �1Tr+ ) r r- �setr/ r( r0 r1 r r2 r4 s r �test_insensitivez$CaseSensitivityTest.test_insensitive6 s: � �
�
*�
,�
,� J���G�G�N�C�(�(�(��#�#��#�6�6�6�%)�%:�%:�%<�%<�"�I�{�� � ��+�+�+��M�M�$�)�Y�%;�%;�D�I�%F�%F�G�G�G�� � ��-�-�-��M�M�$�)�[�%=�%=�d�i�%H�%H�I�I�I� J� J� J� J� J� J� J� J� J� J� J� J���� J� J� J� J� J� Js �CC5�5C9�<C9N)�__name__�
__module__�__qualname__�__doc__r r r r( �unittest�skipIf�sys�flags�ignore_environmentr6 r: � r r r r s� � � � � � �� � �D��4�:�:�<�<�����O� O� O�
N�
N�
N� �X�_�S�Y�1�3T�U�U�+� +� V�U�+� �X�_�S�Y�1�3T�U�U�J� J� V�U�J� J� Jr r c � � e Zd Zd� ZdS )�CaseSensitivityTestPEP302c �� � t j � � 5 t j dt � � |� | j � � cd d d � � S # 1 swxY w Y d S )N�ignore)�warnings�catch_warnings�simplefilter�DeprecationWarning�find_moduler )r r s r r zCaseSensitivityTestPEP302.findC s� � �
�
$�
&�
&� 1� 1��!�(�,>�?�?�?��%�%�d�i�0�0� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1���� 1� 1� 1� 1� 1� 1s �4A�A�AN�r; r<