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

�Ke`(����dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlmZddlmZddl
mZmZddlZddlZdZedzZGd	�d
��ZGd�de��Zd
�ZGd�deej��Zejeed��d��Gd�deej����Zd�ZGd�deej��ZGd�deej��Zd�Z e!dkrej"��dSdS)z9Test largefile support on system where this makes sense.
�N)�requires�
bigmemtest)�
SHORT_TIMEOUT)�
socket_helper)�TESTFN�unlinkly*�2c�*�eZdZd�Zed���ZdS)�
LargeFileTestc���tj�t��rd}nd}|�t|��5}tj|�����tj}|tdzkr	ddd��dS|dkr|�
d��|�d��|�t��|�
d��|���|�
tj|�����tjtdz��ddd��dS#1swxYwYdS)N�r+bzw+b�r�z�a)�os�path�existsr�open�fstat�fileno�stat�ST_SIZE�size�write�seek�flush�assertEqual)�self�mode�f�current_sizes    �=/usr/local/apps/python3/lib/python3.11/test/test_largefile.py�setUpzLargeFileTest.setUps���
�7�>�>�&�!�!�	��D�D��D�
�Y�Y�v�t�
$�
$�	I���8�A�H�H�J�J�/�/���=�L��t�A�v�%�%��	I�	I�	I�	I�	I�	I�	I�	I�
�q� � �����
�
�
�
�F�F�1�I�I�I�
�F�F�4�L�L�L�
�G�G�D�M�M�M�
�G�G�I�I�I����R�X�a�h�h�j�j�1�1�$�,�?��a��H�H�H�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	I�	Is�AE*�CE*�*E.�1E.c��|�td��5	ddd��n#1swxYwYtjt��tjdks|�d���t
t��dS)N�wbrz0File was not truncated by opening with mode "wb")rrrrr�failureExceptionr�TESTFN2)�clss r"�
tearDownClasszLargeFileTest.tearDownClass-s���
�X�X�f�d�
#�
#�	�	��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��w�v���t�|�,��1�1��&�&�(8�9�9�
9��w�����s�*�.�.N)�__name__�
__module__�__qualname__r#�classmethodr)��r"rrsA������I�I�I�(����[���r/rc�^�eZdZdZeedd���d���Zd�Zd�Zd�Z	d	�Z
d
�ZdS)�TestFileMethodszWTest that each file function works as expected for large
    (i.e. > 2 GiB) files.
    �F)r�memuse�dry_runc�H�|�td��5}|�t|�����t
dz��|�|���t
dz��ddd��dS#1swxYwYdS)N�rbr)rrr�len�readr�tell)r�_sizer s   r"�test_large_readzTestFileMethods.test_large_read>s����Y�Y�v�t�
$�
$�	1�����S������]�]�D�1�H�5�5�5����Q�V�V�X�X�t�a�x�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1s�A.B�B�Bc��|�tjt��tjt
dz��dS)Nr)rrrrrr)rs r"�test_osstatzTestFileMethods.test_osstatEs1������������6��Q��?�?�?�?�?r/c��|�td��5}|�|���d��|�|�d��d��|�|���d��|�d��|�|���d��|�dd��|�|���d��|�d��|�|���d��|�dd��|�|���d��|�dd��|�|���d��|�dd��|�|���d��|�dd��|�|���tdzdz��|�dd��|�|���tdzd	z
��|�tdz
d��|�|���d��|�t��|�|���t��|�|�d��d
��|�tdz
d��|�|�d��d��|�|���d��ddd��dS#1swxYwYdS)Nr6rrr�*�Tr2����
r)rrrr9r8rr�rr s  r"�test_seek_readzTestFileMethods.test_seek_readHs4��
�Y�Y�v�t�
$�
$�	*�����Q�V�V�X�X�q�)�)�)����Q�V�V�A�Y�Y��-�-�-����Q�V�V�X�X�q�)�)�)�
�F�F�1�I�I�I����Q�V�V�X�X�q�)�)�)�
�F�F�1�a�L�L�L����Q�V�V�X�X�q�)�)�)�
�F�F�2�J�J�J����Q�V�V�X�X�r�*�*�*�
�F�F�2�q�M�M�M����Q�V�V�X�X�r�*�*�*�
�F�F�2�q�M�M�M����Q�V�V�X�X�r�*�*�*�
�F�F�1�a�L�L�L����Q�V�V�X�X�r�*�*�*�
�F�F�1�a�L�L�L����Q�V�V�X�X�t�a�x�!�|�4�4�4�
�F�F�3��N�N�N����Q�V�V�X�X�t�a�x�"�}�5�5�5�
�F�F�D�5��7�A�������Q�V�V�X�X�q�)�)�)�
�F�F�4�L�L�L����Q�V�V�X�X�t�,�,�,����Q�V�V�A�Y�Y��-�-�-�
�F�F�D�5��7�A�������Q�V�V�A�Y�Y��-�-�-����Q�V�V�X�X�q�)�)�)�9	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*s�N%O�O�Oc���|�td��5}|�tj|���dd��d��|�tj|���dd��d��|�tj|���dd��d��|�tj|���dd��d��|�tj|���dd��tdzdz��|�tj|���dd��tdzdz
��|�tj|���tdz
d��d��|�tj|���td��t��|�|�d��d	��ddd��dS#1swxYwYdS)
Nr6rr?rr@r2rArBr)rrrr�lseekrrr8rCs  r"�
test_lseekzTestFileMethods.test_lseekgs
��
�Y�Y�v�t�
$�
$�
	.�����R�X�a�h�h�j�j�!�Q�7�7��;�;�;����R�X�a�h�h�j�j�"�a�8�8�"�=�=�=����R�X�a�h�h�j�j�"�a�8�8�"�=�=�=����R�X�a�h�h�j�j�!�Q�7�7��<�<�<����R�X�a�h�h�j�j�!�Q�7�7��a����B�B�B����R�X�a�h�h�j�j�#�q�9�9�4��6�"�9�E�E�E����R�X�a�h�h�j�j�4�%��'�1�=�=�q�A�A�A����R�X�a�h�h�j�j�$��:�:�D�A�A�A����Q�V�V�A�Y�Y��-�-�-�
	.�
	.�
	.�
	.�
	.�
	.�
	.�
	.�
	.�
	.�
	.�
	.����
	.�
	.�
	.�
	.�
	.�
	.s�H3I�I �#I c���|�td��5}t|d��stjd���|�dd��|�|���tdz��tdz
}|�|��|�	��|�|���|��|�dd��|�|���|��|dz}|�d��|�	|��|�|���d��|�dd��|�|���|��|�d��|�	d��|�|���d��|�d��|�t|�����d��ddd��dS#1swxYwYdS)	Nr
�truncatez.open().truncate() not available on this systemrr2rrBr?)rr�hasattr�unittest�SkipTestrrr9rrIr7r8)rr �newsizes   r"�
test_truncatezTestFileMethods.test_truncatets2��
�Y�Y�v�u�
%�
%�	/���1�j�)�)�
:��'�)9�:�:�:�
�F�F�1�a�L�L�L����Q�V�V�X�X�t�A�v�.�.�.��R�i�G�
�F�F�7�O�O�O�
�J�J�L�L�L����Q�V�V�X�X�w�/�/�/�
�F�F�1�a�L�L�L����Q�V�V�X�X�w�/�/�/�
�q�L�G�
�F�F�2�J�J�J�
�J�J�w�������Q�V�V�X�X�r�*�*�*�
�F�F�1�a�L�L�L����Q�V�V�X�X�w�/�/�/�
�F�F�1�I�I�I�
�J�J�q�M�M�M����Q�V�V�X�X�q�)�)�)�
�F�F�1�I�I�I����S������]�]�A�.�.�.�9	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/s�H5I�I"�%I"c���dD]q}|�td��5}|�|��|�|�����ddd��n#1swxYwY�rdS)N)i���l�r6)rrr�
assertTrue�seekable)r�posr s   r"�
test_seekablezTestFileMethods.test_seekable�s���-�	.�	.�C����6�4�(�(�
.�A����s��������
�
���-�-�-�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.����
.�
.�
.�
.��	.�	.s�=A)�)A-	�0A-	N)r*r+r,�__doc__rrr;r=rDrGrNrTr.r/r"r1r17s����������Z�T�!�U�3�3�3�1�1�4�3�1�@�@�@�*�*�*�>.�.�.�/�/�/�>.�.�.�.�.r/r1c������fd�}|S)Nc�������fd�}|S)Nc�4��ttd��stjd���tjt
j������j�kr-t�dzdz��}tjd|�d�����|i|��S)N�
disk_usagezrequires shutil.disk_usageiz	required z MiB of free disk space)
rJ�shutilrKrLrYrr�realpath�free�int)�args�kwargs�hsize�funr�requireds   ���r"�wrapperz6skip_no_disk_space.<locals>.decorator.<locals>.wrapper�s�����6�<�0�0�
F��'�(D�E�E�E�� ���!1�!1�$�!7�!7�8�8�=��H�H��H�t�O�d�2�3�3���'�>��>�>�>�@�@�@��3��'��'�'�'r/r.)rarcrrbs` ��r"�	decoratorz%skip_no_disk_space.<locals>.decorator�s.����	(�	(�	(�	(�	(�	(�	(��r/r.)rrbrds`` r"�skip_no_disk_spacere�s*����	�	�	�	�	�	��r/c�^�eZdZeej��Zeeedz��d���Z	dS)�TestCopyfile�@c�*�tj�t��}t	jtt��|�tj�t��|��ttd��5}|�|�	d��d��|�
|dz
��|�|�	��d��ddd��dS#1swxYwYdS)Nr6��z�a)rr�getsizerrZ�copyfiler'rrr8r)rrr s   r"�test_itzTestCopyfile.test_it�s���w���v�&�&������(�(�(���������1�1�4�8�8�8�
�'�4�
 �
 �	=�A����Q�V�V�A�Y�Y�(<�=�=�=�
�F�F�4�!�8�������Q�V�V�X�X�';�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=s�A*D�D�DN)
r*r+r,�staticmethod�iorrerrror.r/r"rgrg�sR�������<��� � �D�����s�
�+�+�	=�	=�,�+�	=�	=�	=r/rg�sendfilezsendfile not supportedc���eZdZeej��ZeZ�fd�Z�fd�Z	d�Z
eee
dz��d���Z�xZS)�TestSocketSendfilec�V��t�����d|_dS�N)�superr#�thread�r�	__class__s �r"r#zTestSocketSendfile.setUp�s���
���
�
��������r/c���t�����|j�(|j�|j��d|_dSdSrv)rw�tearDownrx�join�timeoutrys �r"r|zTestSocketSendfile.tearDown�sL���
���������;�"��K���T�\�*�*�*��D�K�K�K�#�"r/c������fd�}tj���|��j��tj||f����_�j�������dS)Nc����|5|���\}}|��j��|5ttd��5}���j��	|�d��}|s$	ddd��ddd��ddd��dS|�|���Q#1swxYwYddd��n#1swxYwYddd��dS#1swxYwYdS)Nr%Ti)�accept�
settimeoutr~rr'�wait�recvr)�sock�conn�_r �chunk�eventrs     ��r"�runz*TestSocketSendfile.tcp_server.<locals>.run�s�����	
'�	
'��+�+�-�-���a������-�-�-��'�'�4���.�.�'�!��J�J�t�|�,�,�,�'� $�	�	�%� 0� 0��$�#�"�'�'�'�'�'�'�'�'�'�'�'�'�	
'�	
'�	
'�	
'�	
'�	
'�	
'�	
'��������	'�'�'�'�'����'�'�'�'�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'�	
'�	
'�	
'�	
'�	
'�	
'�	
'�	
'�	
'�	
'�	
'�	
'����	
'�	
'�	
'�	
'�	
'�	
'sd�4C*�C�4B;�C�
C*�%B;�;B?�?C�B?�C�C*�C	�C*�C	�C*�*C.�1C.)�targetr^)�	threading�Eventr�r~�Threadrx�start�set)rr�r�r�s`  @r"�
tcp_serverzTestSocketSendfile.tcp_server�s�����
	'�
	'�
	'�
	'�
	'�
	'���!�!�������%�%�%��&�c���A�A�A����������
�	�	�����r/rhc��tj��}tjd|f��5}|�|��tjd|f��5}t
td��5}|�|��ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwY|�	��tj�t��}|�
tj�t��|��t
td��5}|�
|�d��d��|�|dz
��|�
|���d��ddd��dS#1swxYwYdS)N�z	127.0.0.1r6rjrkrl)r�find_unused_port�socket�
create_serverr��create_connectionrrrrr|rrrmrr'r8r)r�portr��clientr rs      r"rozTestSocketSendfile.test_it�sr���-�/�/��
�
!�2�t�*�
-�
-�	'���O�O�D�!�!�!��)�;��*=�>�>�
'�&��&�$�'�'�'�1��O�O�A�&�&�&�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'����
'�
'�
'�
'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�
	
�
�
�����w���v�&�&����������1�1�4�8�8�8�
�'�4�
 �
 �	=�A����Q�V�V�A�Y�Y�(<�=�=�=�
�F�F�4�!�8�������Q�V�V�X�X�';�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=sl�,B<�B%�,B�B%�B�B%�B�B%�B<�%B)	�)B<�,B)	�-B<�<C�C�A*G�G�
G)r*r+r,rprqrrr~r#r|r�rerrro�
__classcell__)rzs@r"rtrt�s���������<��� � �D��G��������������*����s�
�+�+�=�=�,�+�=�=�=�=�=r/rtc���	ddl}|�|j|j��n#ttf$rYnwxYwt
jdd�dkst
jdkr'tddtt��z��dSttdd���}	|�d	��|�
d
��|���n)#tt f$rt#jd���wxYw	|���t)t��dS#|���t)t��wxYw)Nr��win�darwin�	largefilez-test requires %s bytes and a long time to runr%)�	bufferingrP�xz*filesystem does not have largefile support)�signal�SIGXFSZ�SIG_IGN�ImportError�AttributeError�sys�platformr�strrrrrrr�OSError�
OverflowErrorrKrL�closer)r�r s  r"�setUpModuler��so��
��
�
�
�	�
�
�f�n�f�n�5�5�5�5����(�
�
�
���
�����|�B�Q�B��5� � �C�L�H�$<�$<���@�3�t�9�9�L�	N�	N�	N�	N�	N�
����+�+�+��	�
�F�F�:����
�G�G�D�M�M�M�
�G�G�I�I�I�I����'�	9�	9�	9��#�%8�9�9�
9�	9����
�

�G�G�I�I�I��6�N�N�N�N�N��
�G�G�I�I�I��6�N�N�N�N���s*�$'�;�;�%>C$�#D8�$&D
�
D8�8*E"c�.�eZdZeej��ZdS)�CLargeFileTestN)r*r+r,rprqrr.r/r"r�r�s�������<��� � �D�D�Dr/r�c�.�eZdZeej��ZdS)�PyLargeFileTestN)r*r+r,rp�pyiorr.r/r"r�r�s�������<��	�"�"�D�D�Dr/r�c�V�tt��tt��dSrv)rrr'r.r/r"�tearDownModuler�s��
�6�N�N�N�
�7�O�O�O�O�Or/�__main__)#rUrrr�rKr�rZr��test.supportrrrr�test.support.os_helperrrrq�_pyior�rr'rr1re�TestCaserg�skipIfrJrtr�r�r�r�r*�mainr.r/r"�<module>r�se����
�	�	�	�����
�
�
�
�����
�
�
�
�
�
�
�
�����-�-�-�-�-�-�-�-�&�&�&�&�&�&�&�&�&�&�&�&�1�1�1�1�1�1�1�1�	�	�	�	�������
�3�,����������@b.�b.�b.�b.�b.�m�b.�b.�b.�J���=�=�=�=�=�=�(�"3�=�=�=�$���W�W�R��,�,�,�.F�G�G�2=�2=�2=�2=�2=���(9�2=�2=�H�G�2=�j!�!�!�H!�!�!�!�!�_�h�&7�!�!�!�#�#�#�#�#�o�x�'8�#�#�#����
�z����H�M�O�O�O�O�O��r/