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/__pycache__/test_filecmp.cpython-312.pyc
�

�h�eN)����ddlZddlZddlZddlZddlZddlmZddlmZGd�dej�Z
Gd�dej�Zedk(rej�yy)	�N)�support)�	os_helperc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�FileCompareTestCasec��tj|_tjdz|_tjdz|_d}|j|j|jfD]*}t|dd��5}|j
|�ddd��,t|jdd��5}|j
d�ddd�tj�|_	y#1swY��xYw#1swY�/xYw)	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    �8/opt/alt/python312/lib64/python3.12/test/test_filecmp.py�setUpzFileCompareTestCase.setUps����$�$��	�"�)�)�G�3���"�)�)�G�3���,���Y�Y�������?�	#�D��d�C�'�2�
#�f����T�"�
#�
#�	#��$�.�.�$��
9�	-�V��L�L�+�,�	-��&�&�(���
#�
#��	-�	-�s�<C$�0C0�$C-	�0C9c��tj|j�tj|j�tj|j�y�N)�os�unlinkrrr�rs r�tearDownzFileCompareTestCase.tearDowns2��
�	�	�$�)�)��
�	�	�$�.�.�!�
�	�	�$�.�.�!�c���|jtj|j|j�d�|jtj|j|jd��d�|jtj|j|j�d�|jtj|j|jd��d�y)NzComparing file to itself failsF��shallowz&Comparing file to identical file fails)�
assertTrue�filecmp�cmprrrs r�
test_matchingz!FileCompareTestCase.test_matchings���������D�I�I�t�y�y�9�8�	:�������D�I�I�t�y�y�%�H�8�	:�������D�I�I�t�~�~�>�@�	B�������D�I�I�t�~�~�u�M�@�	Br!c���|jtj|j|j�d�|jtj|j|j
�d�y)Nz!Mismatched files compare as equalz#File and directory compare as equal)�assertFalser&r'rrrrs r�test_differentz"FileCompareTestCase.test_different(sN��������T�Y�Y����?�7�	9�������T�Y�Y����9�9�	;r!c�4�tj|j|jd��}tj|j|jd��}tj
�|j
ttj�dk(d�y)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.sb�����D�I�I�t�~�~�u�M�
� ���T�Y�Y�����N����������G�N�N�+�q�0�E�	Gr!N)�__name__�
__module__�__qualname__rr r(r+r2�r!rrrs��)�"�
B�;�Gr!rc�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�DirCompareTestCasec��tj�}tjj	|d�|_tjj	|d�|_tjj	|d�|_tjj	|jd�|_tjjd�tjjd�k(|_
d}|j
|j|j|jfD]�}tj|d�tj|�tjj	|d	�}tj|�|jr||jurd
}nd}ttjj	||�dd
��5}|j|�ddd���ttjj	|jd�dd
��5}|jd�ddd�y#1swY��%xYw#1swYyxYw)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.setUp6s����$�$�&���7�7�<�<���.��������V�Z�8��
������V�Z�8��
��7�7�<�<��
�
�u�=���!�w�w�/�/��4����8H�8H��8M�M���,���H�H�d�m�m�T�]�]�D�<L�<L�M�
	#�C��M�M�#�t�$��H�H�S�M��'�'�,�,�s�H�5�K��H�H�[�!��#�#��t�}�}�(<������b�g�g�l�l�3��+�S�7�C�
#�v����T�"�
#�
#�
	#��"�'�'�,�,�t�}�}�g�6��g�
N�	-�RX��L�L�+�,�	-�	-�
#�
#��	-�	-�s�I�'I�I	�Ic�~�|j|j|jfD]}tj|��yr)rrCrDrHrI)rrs  rr zDirCompareTestCase.tearDownQs0���H�H�d�m�m�T�]�]�;�	�C��M�M�#��	r!c�D�|jdtj�y)Nr:)�assertInr&�DEFAULT_IGNORESrs r�test_default_ignoresz'DirCompareTestCase.test_default_ignoresUs���
�
�e�W�4�4�5r!c�X�|jtj|j|jdg�dgggfk(d�|jtj|j|jdg�dgggfk(d�|jtj|j|jdgd��dgggfk(d�|jtj|j|jdgd��d�ttjj|jd�dd�	�5}|jd
�ddd�|jtj|j|jddg�dgdggfk(d�y#1swY�OxYw)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�8�f�X�F� ��2�r�*�+�=�	?�	
����(�(����4�=�=�6�(�K� ��2�r�*�+�;�	=�
	
����(�(����4�8�8�f�X�16�8� ��2�r�*�+�>�	?�	
����(�(����4�=�=�6�(�16�8�;�	=�
�"�'�'�,�,�t�x�x��1�3��
I�	2�V��L�L�0�1�	2�	
����)�)�$�(�(�D�M�M�&,�g�%6�8��X��y�"�-�.�=�	>�	2�	2�s�F � F)c�L�|jt|�t|��y)z0Assert that two lists are equal, up to ordering.N)�assertEqual�sorted)r�actual�expecteds   r�
_assert_listsz DirCompareTestCase._assert_listsss����������)9�:r!c�
�|j|j}}tj||�}|j	|j
|�|j	|j|�|jr=|j|jddg�|j|jddg�n<|j|jddg�|j|jddg�|j|jddg�|j|jdg�|j	|jg�|j	|jg�|j	|jdg�|j	|j g�dj#|j|j�ddg}|j%|j&|�|j|j(}}tj||�}|j	|j
|�|j	|j|�|j|jddg�|j|jgd��|j|jddg�|j|jdg�|j	|jg�|j	|jdg�|j	|jdg�|j	|j g�dj#|j|j(�d	j#|j(�ddg}|j%|j&|�|j|j(}}t+j,t.j0j3|j(d�t.j0j3|jd��tj||�}|j	|j
|�|j	|j|�|j|jgd��|j|jddg�|j|jddg�|j	|jdg�|j	|jg�|j	|jdg�|j	|j g�dj#|j|j(�d	j#|j�ddg}|j%|j&|�t5t.j0j3|j(d�d
d��5}|j7d
�ddd�tj|j|j(�}|j	|jdg�|j	|j dg�dj#|j|j(�dddg}|j%|j&|�y#1swY��xYw)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�h��
�
�)���N�N�8�Y�/���������*�������)�,�������q�{�{�V�X�,>�?����q�|�|�f�h�-?�@����q�{�{�V�X�,>�?����q�|�|�f�h�-?�@����1�8�8�f�h�%7�8����1�=�=�8�*�5�������b�)�������r�*��������x�0�������r�*�������$�-�-�8�(�0�
��
	
���A�H�H�o�6�#�h�h��
�
�)���N�N�8�Y�/���������*�������)�,����1�;�;���(:�;����1�<�<�)D�E����1�8�8�f�h�%7�8����1�=�=�8�*�5�������b�)��������y�1��������x�0�������r�*�������$�-�-�8�$�+�+�D�M�M�:�(�0�	
��	
���A�H�H�o�6�#�h�h��
�
�)������G�G�L�L�����0��G�G�L�L����7�+�	
�
�N�N�8�Y�/���������*�������)�,����1�;�;�(C�D����1�<�<�&�(�);�<����1�8�8�f�h�%7�8�������w�i�0�������r�*��������x�0�������r�*�������$�-�-�8�$�+�+�D�H�H�5�(�0�	
��	
���A�H�H�o�6��"�'�'�,�,�t�}�}�g�6��g�
N�	2�RX��L�L�0�1�	2��N�N�4�8�8�T�]�]�3���������x�0��������y�1�������$�-�-�8�(�)�0�	
��	
���A�H�H�o�6�	2�	2�s�8Y=�=Zc��Gd�dtj�}||j|j�}|j}|jt
|j��dg�|d}|jt|�|�y)z/Check that dircmp.subdirs respects subclassing.c��eZdZy)�=DirCompareTestCase.test_dircmp_subdirs_type.<locals>.MyDirCmpN)r3r4r5r6r!r�MyDirCmprw�s��r!rxr=N)	r&rarrD�subdirsrX�list�keys�type)rrxrr�sub_dirs�sub_dcmps     r�test_dircmp_subdirs_typez+DirCompareTestCase.test_dircmp_subdirs_type�sj��	�w�~�~�	��T�X�X�t�}�}�-���9�9������h�m�m�o�.��
�;��H�%������h���2r!c��|j|j}}tj||�}tj
j
|d�}tj
j
|d�}dj|j|j�ddddj||�g}|j|j|�y�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�h��
�
�)���N�N�8�Y�/���g�g�l�l�8�X�6���w�w�|�|�I�x�8��������$�-�-�8�(�0������\�:�
��	
���A�4�4�o�Fr!c��|j|j}}tj||�}tj
j
|d�}tj
j
|d�}dj|j|j�ddddj||�g}|j|j|�yr�)
rrCr&rarrArBrlrm�report_full_closurer�s       r�test_report_full_closurez+DirCompareTestCase.test_report_full_closure�s���"�h�h��
�
�)���N�N�8�Y�/���g�g�l�l�8�X�6���w�w�|�|�I�x�8��������$�-�-�8�(�0������\�:�
��	
���A�1�1�?�Cr!c���tj�5}|�|j�j�j	d�}|j||�ddd�y#1swYyxYw)N�
)r�captured_stdout�getvalue�strip�splitrX)r�
dircmp_report�expected_report_lines�stdout�report_liness     rrmz!DirCompareTestCase._assert_report�s_��
�
$�
$�
&�	B�&��O�!�?�?�,�2�2�4�:�:�4�@�L����\�+@�A�	B�	B�	B�s�AA%�%A.N)
r3r4r5rr rRrVr\rtrr�r�rmr6r!rr8r85s9��-�6�6�>�6;�
R7�h3�G�D�Br!r8�__main__)r&rrHr�unittest�testr�test.supportr�TestCaserr8r3�mainr6r!r�<module>r�s`���	�
����"�(G�(�+�+�(G�TAB��*�*�AB�H�z���H�M�M�O�r!