Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_filecmp.cpython-311.opt-1.pyc
�

�KeN)���ddlZddlZddlZddlZddlZddlmZddlmZGd�dej	��Z
Gd�dej	��Zedkrej
��dSdS)	�N)�support)�	os_helperc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�FileCompareTestCasec���tj|_tjdz|_tjdz|_d}|j|j|jfD]A}t|dd���5}|�|��ddd��n#1swxYwY�Bt|jdd���5}|�d��ddd��n#1swxYwYtj��|_	dS)	Nz-samez-diff�Contents of file go here.
�w�utf-8��encodingza+zAn extra line.
)
r�TESTFN�name�	name_same�	name_diff�open�write�tempfile�
gettempdir�dir)�self�datar�outputs    �;/usr/local/apps/python3/lib/python3.11/test/test_filecmp.py�setUpzFileCompareTestCase.setUpsW���$��	�"�)�G�3���"�)�G�3���,���Y�����?�	#�	#�D��d�C�'�2�2�2�
#�f����T�"�"�"�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#����
#�
#�
#�
#���$�.�$��
9�
9�
9�	-�V��L�L�+�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-��&�(�(����s$�$B�B
	�
B
	�)C�C�Cc��tj|j��tj|j��tj|j��dS�N)�os�unlinkrrr�rs r�tearDownzFileCompareTestCase.tearDowns>��
�	�$�)����
�	�$�.�!�!�!�
�	�$�.�!�!�!�!�!�c��|�tj|j|j��d��|�tj|j|jd���d��|�tj|j|j��d��|�tj|j|jd���d��dS)NzComparing file to itself failsF��shallowz&Comparing file to identical file fails)�
assertTrue�filecmp�cmprrrs r�
test_matchingz!FileCompareTestCase.test_matchings��������D�I�t�y�9�9�8�	:�	:�	:������D�I�t�y�%�H�H�H�8�	:�	:�	:������D�I�t�~�>�>�@�	B�	B�	B������D�I�t�~�u�M�M�M�@�	B�	B�	B�	B�	Br!c���|�tj|j|j��d��|�tj|j|j��d��dS)Nz!Mismatched files compare as equalz#File and directory compare as equal)�assertFalser&r'rrrrs r�test_differentz"FileCompareTestCase.test_different(sf�������T�Y���?�?�7�	9�	9�	9������T�Y���9�9�9�	;�	;�	;�	;�	;r!c��tj|j|jd���}tj|j|jd���}tj��|�ttj��dkd��dS)NFr#rz+Cache not cleared after calling clear_cache)	r&r'rrr�clear_cacher%�len�_cache)r�
first_compare�second_compares   r�test_cache_clearz$FileCompareTestCase.test_cache_clear.s~����D�I�t�~�u�M�M�M�
� ��T�Y����N�N�N�����������G�N�+�+�q�0�E�	G�	G�	G�	G�	Gr!N)�__name__�
__module__�__qualname__rr r(r+r2�r!rrrsg������)�)�)�"�"�"�
B�B�B�;�;�;�G�G�G�G�Gr!rc�J�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�DirCompareTestCasec��tj��}tj�|d��|_tj�|d��|_tj�|d��|_tj�|jd��|_tj�	d��tj�	d��k|_
d}|j|j|j|jfD]�}tj|d��tj
|��tj�|d	��}tj
|��|j
r||jurd
}nd}ttj�||��dd
���5}|�|��ddd��n#1swxYwY��ttj�|jd��dd
���5}|�d��ddd��dS#1swxYwYdS)Nrzdir-samezdir-diff�.hg�A�arT�subdir�FiLe�filer	r
r�file2zAn extra file.
)rrr�path�joinr�dir_same�dir_diff�dir_ignored�normcase�caseinsensitive�shutil�rmtree�mkdirrr)r�tmpdirrr�subdir_path�fnrs       rrzDirCompareTestCase.setUp6sS���$�&�&���7�<�<���.�.�������V�Z�8�8��
�����V�Z�8�8��
��7�<�<��
�u�=�=���!�w�/�/��4�4���8H�8H��8M�8M�M���,���H�d�m�T�]�D�<L�M�
	#�
	#�C��M�#�t�$�$�$��H�S�M�M�M��'�,�,�s�H�5�5�K��H�[�!�!�!��#�
��t�}�(<�(<�������b�g�l�l�3��+�+�S�7�C�C�C�
#�v����T�"�"�"�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#����
#�
#�
#�
#���"�'�,�,�t�}�g�6�6��g�
N�
N�
N�	-�RX��L�L�+�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s$�2G�G	�G	�H8�8H<�?H<c�\�|j|j|jfD]}tj|���dSr)rrCrDrHrI)rrs  rr zDirCompareTestCase.tearDownQs;���H�d�m�T�]�;�	�	�C��M�#�����	�	r!c�F�|�dtj��dS)Nr:)�assertInr&�DEFAULT_IGNORESrs r�test_default_ignoresz'DirCompareTestCase.test_default_ignoresUs���
�
�e�W�4�5�5�5�5�5r!c�(�|�tj|j|jdg��dgggfkd��|�tj|j|jdg��dgggfkd��|�tj|j|jdgd���dgggfkd��|�tj|j|jdgd���d��ttj�|jd��dd�	��5}|�	d
��ddd��n#1swxYwY|�
tj|j|jddg��dgdggfkd��dS)Nr?z#Comparing directory to itself failsz!Comparing directory to same failsFr#r@r	r
r�Different contents.
z&Comparing mismatched directories fails)r%r&�cmpfilesrrCrrrArBrr*)rrs  r�
test_cmpfilesz DirCompareTestCase.test_cmpfilesXs�������(���4�8�f�X�F�F� ��2�r�*�+�=�	?�	?�	?�	
����(���4�=�6�(�K�K� ��2�r�*�+�;�	=�	=�	=�
	
����(���4�8�f�X�16�8�8�8� ��2�r�*�+�>�	?�	?�	?�	
����(���4�=�6�(�16�8�8�8�;�	=�	=�	=�
�"�'�,�,�t�x��1�1�3��
I�
I�
I�	2�V��L�L�0�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	
����)�$�(�D�M�&,�g�%6�8�8��X��y�"�-�.�=�	>�	>�	>�	>�	>s�&E�E�Ec�f�|�t|��t|����dS)z0Assert that two lists are equal, up to ordering.N)�assertEqual�sorted)r�actual�expecteds   r�
_assert_listsz DirCompareTestCase._assert_listsss,�����������)9�)9�:�:�:�:�:r!c�*�|j|j}}tj||��}|�|j|��|�|j|��|jr;|�|j	ddg��|�|j
ddg��n:|�|j	ddg��|�|j
ddg��|�|jddg��|�|jdg��|�|j
g��|�|jg��|�|jdg��|�|jg��d�|j|j��ddg}|�|j|��|j|j}}tj||��}|�|j|��|�|j|��|�|j	ddg��|�|j
gd���|�|jddg��|�|jdg��|�|j
g��|�|jdg��|�|jdg��|�|jg��d�|j|j��d	�|j��ddg}|�|j|��|j|j}}t+jt.j�|jd��t.j�|jd����tj||��}|�|j|��|�|j|��|�|j	gd���|�|j
ddg��|�|jddg��|�|j
dg��|�|jg��|�|jdg��|�|jg��d�|j|j��d	�|j��ddg}|�|j|��t5t.j�|jd��d
d���5}|�d
��ddd��n#1swxYwYtj|j|j��}|�|jdg��|�|jdg��d�|j|j��dddg}|�|j|��dS)Nr?r=r>�
diff {} {}�Identical files : ['file']�"Common subdirectories : ['subdir'])r?r@r=r@zOnly in {} : ['file2']r	r
rrTzDiffering files : ['file2'])rrCr&�dircmprX�left�rightrGr\�	left_list�
right_list�common�common_dirs�	left_only�
right_only�
same_files�
diff_files�format�_assert_report�reportrDrH�moverrArBrr)r�left_dir�	right_dir�d�expected_reportrs      r�test_dircmpzDirCompareTestCase.test_dircmpxs���"�h��
�)���N�8�Y�/�/��������*�*�*������)�,�,�,���	A����q�{�V�X�,>�?�?�?����q�|�f�h�-?�@�@�@�@����q�{�V�X�,>�?�?�?����q�|�f�h�-?�@�@�@����1�8�f�h�%7�8�8�8����1�=�8�*�5�5�5������b�)�)�)������r�*�*�*�������x�0�0�0������r�*�*�*������$�-�8�8�(�0�
��
	
���A�H�o�6�6�6�#�h��
�)���N�8�Y�/�/��������*�*�*������)�,�,�,����1�;���(:�;�;�;����1�<�)D�)D�)D�E�E�E����1�8�f�h�%7�8�8�8����1�=�8�*�5�5�5������b�)�)�)�������y�1�1�1�������x�0�0�0������r�*�*�*������$�-�8�8�$�+�+�D�M�:�:�(�0�	
��	
���A�H�o�6�6�6�#�h��
�)�����G�L�L����0�0��G�L�L���7�+�+�	
�	
�	
�
�N�8�Y�/�/��������*�*�*������)�,�,�,����1�;�(C�(C�(C�D�D�D����1�<�&�(�);�<�<�<����1�8�f�h�%7�8�8�8������w�i�0�0�0������r�*�*�*�������x�0�0�0������r�*�*�*������$�-�8�8�$�+�+�D�H�5�5�(�0�	
��	
���A�H�o�6�6�6��"�'�,�,�t�}�g�6�6��g�
N�
N�
N�	2�RX��L�L�0�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2��N�4�8�T�]�3�3��������x�0�0�0�������y�1�1�1������$�-�8�8�(�)�0�	
��	
���A�H�o�6�6�6�6�6s�U2�2U6�9U6c�2�Gd�dtj��}||j|j��}|j}|�t
|�����dg��|d}|�t|��|��dS)z/Check that dircmp.subdirs respects subclassing.c��eZdZdS)�=DirCompareTestCase.test_dircmp_subdirs_type.<locals>.MyDirCmpN)r3r4r5r6r!r�MyDirCmprw�s�������Dr!rxr=N)	r&rarrD�subdirsrX�list�keys�type)rrxrr�sub_dirs�sub_dcmps     r�test_dircmp_subdirs_typez+DirCompareTestCase.test_dircmp_subdirs_type�s���	�	�	�	�	�w�~�	�	�	��H�T�X�t�}�-�-���9������h�m�m�o�o�.�.��
�;�;�;��H�%������h����2�2�2�2�2r!c�t�|j|j}}tj||��}tj�|d��}tj�|d��}d�|j|j��dddd�||��g}|�|j	|��dS�Nr=r^r_r`�)
rrCr&rarrArBrlrm�report_partial_closure�rrprqrr�left_subdir�right_subdirrss       r�test_report_partial_closurez.DirCompareTestCase.test_report_partial_closure�s���"�h��
�)���N�8�Y�/�/���g�l�l�8�X�6�6���w�|�|�I�x�8�8�������$�-�8�8�(�0������\�:�:�
��	
���A�4�o�F�F�F�F�Fr!c�t�|j|j}}tj||��}tj�|d��}tj�|d��}d�|j|j��dddd�||��g}|�|j	|��dSr�)
rrCr&rarrArBrlrm�report_full_closurer�s       r�test_report_full_closurez+DirCompareTestCase.test_report_full_closure�s���"�h��
�)���N�8�Y�/�/���g�l�l�8�X�6�6���w�|�|�I�x�8�8�������$�-�8�8�(�0������\�:�:�
��	
���A�1�?�C�C�C�C�Cr!c��tj��5}|��|�������d��}|�||��ddd��dS#1swxYwYdS)N�
)r�captured_stdout�getvalue�strip�splitrX)r�
dircmp_report�expected_report_lines�stdout�report_liness     rrmz!DirCompareTestCase._assert_report�s���
�
$�
&�
&�	B�&��M�O�O�O�!�?�?�,�,�2�2�4�4�:�:�4�@�@�L����\�+@�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Bs�AA;�;A?�A?N)
r3r4r5rr rRrVr\rtrr�r�rmr6r!rr8r85s�������-�-�-�6���6�6�6�>�>�>�6;�;�;�
R7�R7�R7�h3�3�3�G�G�G�D�D�D�B�B�B�B�Br!r8�__main__)r&rrHr�unittest�testr�test.supportr�TestCaserr8r3�mainr6r!r�<module>r�s�������	�	�	�	�
�
�
�
���������������"�"�"�"�"�"�(G�(G�(G�(G�(G�(�+�(G�(G�(G�TAB�AB�AB�AB�AB��*�AB�AB�AB�H�z����H�M�O�O�O�O�O��r!