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

�Ke����dZddlZddlmZddlZddlZddlmZGd�de��Z	Gd�dej
��Zed	krej
��dSdS)
z[Unit tests for the PickleBuffer object.

Pickling tests themselves are in pickletester.py.
�N)�PickleBuffer)�
import_helperc��eZdZdS)�BN)�__name__�
__module__�__qualname__���@/usr/local/apps/python3/lib/python3.11/test/test_picklebuffer.pyrrs�������Drrc�V�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�PickleBufferTestc��t|��5}t|��5}|�|j|j��|�|j|j��|�|j|j��|�|j|j��|�|j|j��|�|j|j��|�|j|j��|�|j	|j	��|�|�
��|�
����ddd��n#1swxYwYddd��dS#1swxYwYdS�N)�
memoryview�assertEqual�nbytes�readonly�itemsize�shape�strides�c_contiguous�f_contiguous�format�tobytes)�self�pb�equiv�m�expecteds     r�check_memoryviewz!PickleBufferTest.check_memoryviews���
��^�^�
	B�q��E�"�"�	
B�h�� � ���8�?�;�;�;�� � ���X�->�?�?�?�� � ���X�->�?�?�?�� � ���(�.�9�9�9�� � ���H�,<�=�=�=�� � ����1F�G�G�G�� � ����1F�G�G�G�� � ���8�?�;�;�;�� � ������h�.>�.>�.@�.@�A�A�A�	
B�	
B�	
B�	
B�	
B�	
B�	
B�	
B�	
B�	
B�	
B����	
B�	
B�	
B�	
B�
	B�
	B�
	B�
	B�
	B�
	B�
	B�
	B�
	B�
	B�
	B�
	B����
	B�
	B�
	B�
	B�
	B�
	Bs5�E?�D;E'�E?�'E+	�+E?�.E+	�/E?�?F�Fc���|�t��5t��ddd��n#1swxYwY|�t��5td��ddd��n#1swxYwYtd��}|���|�t
��5t|��ddd��dS#1swxYwYdS)N�foo�foo)�assertRaises�	TypeErrorrr�release�
ValueError)rrs  r�test_constructor_failurez)PickleBufferTest.test_constructor_failure!s���
�
�
�y�
)�
)�	�	��N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	 �	 ������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�v����	�	�	����
�
�
�z�
*�
*�	�	���O�O�O�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s0�6�:�:�A7�7A;�>A;�?C�C �#C c�<�td��}|�dt|����t|��5}|�|j��ddd��n#1swxYwYtt
d����}|�dt|����t|��5}|�|j��d|d<ddd��n#1swxYwY|�dt|����dS)Nr$�0rs0oo)rr�bytesr�
assertTruer�	bytearray�assertFalse)rrrs   r�test_basicszPickleBufferTest.test_basics,sq��
�&�
!�
!�������r���+�+�+�
��^�^�	(�q��O�O�A�J�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(��)�F�+�+�
,�
,�������r���+�+�+�
��^�^�	�q����Q�Z�(�(�(��A�a�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
�����r���+�+�+�+�+s$�A)�)A-�0A-� C.�.C2�5C2c�F�td��}|���|�t��5}t	|��ddd��n#1swxYwY|�dt
|j����|���dS)Nr$z3operation forbidden on released PickleBuffer object)rr'r%r(r�assertIn�str�	exception�rr�raisess   r�test_releasezPickleBufferTest.test_release9s���
�&�
!�
!��
�
�
����
�
�
�z�
*�
*�	�f��r�N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�K��&�*�+�+�	-�	-�	-�	�
�
�����s�A�A�!Ac���td��}t|��}||_tj|��}~~tj��|�|����dS�Nr$)rr�cycle�weakref�ref�gc�collect�assertIsNone)r�br�wpbs    r�
test_cyclezPickleBufferTest.test_cycleCs\��
�f�I�I��
�!�_�_������k�"�o�o��
�r�
�
�������#�#�%�%� � � � � rc��tjd��j}|tt	d����dd���}|�|j��|�|j��t|��}|�
||��|ddd�}|�|j��|�|j��t|��}|�
||��|tt	d����ddd�	��}|�|j��|�|j��t|��}|�
||��dS)
N�_testbuffer�����<i�rr�)rHrG)rGrE�rrr)r�
import_module�ndarray�list�ranger-rr/rrr!)rrN�arrrs    r�test_ndarray_2dz PickleBufferTest.test_ndarray_2dLs_���-�m�<�<�D���g�d�5��9�9�o�o�V�D�A�A�A������(�)�)�)�����)�*�*�*�
�#�
�
�����b�#�&�&�&��#�#�A�#�h������)�*�*�*�����)�*�*�*�
�#�
�
�����b�#�&�&�&��g�d�5��9�9�o�o�V�W�T�R�R�R������(�)�)�)�����)�*�*�*�
�#�
�
�����b�#�&�&�&�&�&rc���t|��}|���5}|�|t��|�||��ddd��dS#1swxYwYdSr)r�raw�assertIsInstancerr!)r�objrrrs     r�	check_rawzPickleBufferTest.check_rawcs���
�#�
�
��
�V�V�X�X�	,���!�!�!�Z�0�0�0��!�!�!�U�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s�2A#�#A'�*A'c��dtd��fD]F}|�|���5|�||��ddd��n#1swxYwY�GdS)Nr$)rV)r.�subTestrW)rrVs  r�test_rawzPickleBufferTest.test_rawis����I�f�-�-�.�	)�	)�C����#��&�&�
)�
)����s�C�(�(�(�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)����
)�
)�
)�
)��	)�	)s�A
�
A	�A	c��tjd��j}|tt	d����dd���}d}|�||��|tt	d����dd���}d	}|�||��|tt	d����dd
d���}d	}|�||��|dd
d���}d}|�||��dS)NrDrH)rHz<hrJs�)rKrHs)rKrGrLi�r
rIs�)rrMrNrOrPrW)rrNrQrs    r�test_raw_ndarrayz!PickleBufferTest.test_raw_ndarrayns���-�m�<�<�D���g�d�5��8�8�n�n�D��>�>�>��+�����s�E�"�"�"��g�d�5��8�8�n�n�F�4�@�@�@��C�����s�E�"�"�"��g�d�5��8�8�n�n�F�F�!�#�#�#��D�����s�E�"�"�"��g�c��D�1�1�1��#�����s�E�"�"�"�"�"rc��t|��}|�td��5|���ddd��dS#1swxYwYdS)Nznon-contiguous)r�assertRaisesRegex�BufferErrorrT)rrVrs   r�check_raw_non_contiguousz)PickleBufferTest.check_raw_non_contiguous�s���
�#�
�
��
�
#�
#�K�1A�
B�
B�	�	��F�F�H�H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A
�
A�Ac�P�tjd��j}|tt	d����dd���ddd�}|�|��|tt	d����dd���ddd�}|�|��dS)	NrDr\)r\rIrJrKrErF)rrMrNrOrPra)rrNrQs   r�test_raw_non_contiguousz(PickleBufferTest.test_raw_non_contiguous�s����-�m�<�<�D���g�d�5��8�8�n�n�D��>�>�>�s�s��s�C���%�%�c�*�*�*��g�d�5��9�9�o�o�V�D�A�A�A�#�#�A�#�F���%�%�c�*�*�*�*�*rc���td��}|���|�t��5}|���ddd��dS#1swxYwYdSr9)rr'r%r(rTr5s   r�test_raw_releasedz"PickleBufferTest.test_raw_released�s���
�&�
!�
!��
�
�
����
�
�
�z�
*�
*�	�f��F�F�H�H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A � A$�'A$N)rrr	r!r)r0r7rBrRrWrZr]rarcrer
rrrrs�������B�B�B�	�	�	�,�,�,����!�!�!�'�'�'�.,�,�,�)�)�)�
#�#�#�*���
+�+�+�����rr�__main__)�__doc__r=�picklerr;�unittest�test.supportrr,r�TestCaserr�mainr
rr�<module>rms�����

�	�	�	���������������&�&�&�&�&�&�	�	�	�	�	��	�	�	�C�C�C�C�C�x�(�C�C�C�L�z����H�M�O�O�O�O�O��r