HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_memoryview.cpython-310.opt-2.pyc
o

�i~U�@s\	ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddlm
Z
Gdd�d�ZGdd�de�ZGdd�de�Z
Gd	d
�d
�ZGdd�d�ZGd
d�d�ZGdd�dejee�ZGdd�dejee
�ZGdd�dejee�ZGdd�dejee
�ZGdd�dejee�ZGdd�dejee
�ZGdd�dej�Zedkr�e��dSdS)�N)�
import_helperc@s�eZdZdZedd��Zedd��Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8S)9�AbstractMemoryTests�abcdefcCs|jS�N)�source_bytes��self�r	�1/usr/local/lib/python3.10/test/test_memoryview.py�_sourceszAbstractMemoryTests._sourcecCstd|j|jg�Sr)�filter�ro_type�rw_typerr	r	r
�_typesszAbstractMemoryTests._typescs$||j�}t�|�}|�|��|��dtd��|��dt�|��dtd��|��dtd��|��dtd��|�t	�fdd��|�t	�fd	d��|�t	�fd
d��|�t	�fdd��|�t
�fdd��|�t
�fd
d��|�t
�fdd��d�|�t�|�|�dS)Nr�a��f���i����c��dS)N�r	r	��mr	r
�<lambda>)�z=AbstractMemoryTests.check_getitem_with_type.<locals>.<lambda>cr)N���r	r	rr	r
r*rcs
�tjSr��sys�maxsizer	rr	r
r+s
cs�tjSrrr	rr	r
r,scs�dSrr	r	rr	r
r.rcr)N�r	r	rr	r
r/rcr)N�ar	r	rr	r
r0r)rr�getrefcount�_view�assertEqual�ord�assertIsInstance�int�assertRaises�
IndexError�	TypeError)r�tp�b�oldrefcountr	rr
�check_getitem_with_types"


z+AbstractMemoryTests.check_getitem_with_typecCs|jD]}|�|�qdSr)rr,)rr)r	r	r
�test_getitem4s
�z AbstractMemoryTests.test_getitemcsJ|jD]}||j�}|�|��|�t���fdd�tt���D��qdS)Ncsg|]}�|�qSr	r	)�.0�irr	r
�
<listcomp><�z1AbstractMemoryTests.test_iter.<locals>.<listcomp>)rrr!r"�list�range�len)rr)r*r	rr
�	test_iter8s



(�zAbstractMemoryTests.test_itercs�|js|�d�|�|j�}t�|�}|�|���fdd�}|�t|d�|�t|d�|�t|td��d�|�	t�|�|�dS)N�no read-only type to testcs|�d<dS)Nrr	)�valuerr	r
�setitemDsz:AbstractMemoryTests.test_setitem_readonly.<locals>.setitemr�A)
r
�skipTestrrr r!r&r(�
memoryviewr")rr*r+r8r	rr
�test_setitem_readonly>s


z)AbstractMemoryTests.test_setitem_readonlyc	s�|js|�d�|j�|�|j�}t�|�}|�|��td��d<|��|d��d��dd�<|��|d��d��dd	�<|��|d
��d��dd�<|��|d
��d��dd�<|��|d��d
d��dd	�<|��|d��d��dd�<�dd	��d
d�<|��|d���fdd�}|�t	|dd�|�t	|dd�|�t	|tj
d�|�t	|tj
d�|�t|dd�|�t|dd�|�t|tddd�dfd�|�t|dtddd�fd�|�t|dd�|�t|dd�tddd�tddd
�f}|�t
||d��jdk�rtnt}|�||dd�|�||dd�|�t|tdd�d�|�t|tdd
�d�d�|�t�|�|�dS)N�no writable type to test�1rs1bcdef�0�s0bcdefs12�s012def�r�rscdedefsababcfcs�|��|<dSrr	)�keyr7�rr)r	r
r8esz:AbstractMemoryTests.test_setitem_writable.<locals>.setitemrrrr)rr�csab)rr:rrr r!r#�_check_contentsr&r'rr(�slice�NotImplementedError�format�
ValueErrorr")rr*r+r8Zslices�excr	rEr
�test_setitem_writableLsR


z)AbstractMemoryTests.test_setitem_writablec	Cs�|jD]>}||j�}|�|�}|�t��|d=Wd�n1s"wY|�t��
|dd�=Wd�n1s<wYqdS)Nr@�)rrr!r&r(�rr)r*rr	r	r
�test_delitem�s


����z AbstractMemoryTests.test_delitemcsX�jD]&}��|�j��}|��}d��fdd�dD��}��||���|t�qdS)NrBc3s �|]}��t|g��VqdSr)�getitem_type�bytes)r.rFrr	r
�	<genexpr>�s�
�z3AbstractMemoryTests.test_tobytes.<locals>.<genexpr>r)rr!r�tobytes�joinr"r$rR)rr)rr*Zexpectedr	rr
�test_tobytes�s
��z AbstractMemoryTests.test_tobytescCs8|jD]}|�||j��}|��}|�|td��qdS)Nr)rr!r�tolistr"r2)rr)r�lr	r	r
�test_tolist�s

�zAbstractMemoryTests.test_tolistcs�|jD]�}|�||j���|jD]8}|��|d�k�|��|d�k�|��|d�k�|��|d�k�|��|d�k�|��|d�k�q|���k�|���dd�k�|��dd��dd�k�|��dd��k�|��dk�|��dk�|�d�k�|�d�k��dfD].�|�t��fdd	��|�t��fd
d	��|�t��fdd	��|�t��fdd	��q�qdS)
Nrsabcdesabcde1rrrZabcdefcs��kSrr	r	�rFrr	r
r�rz2AbstractMemoryTests.test_compare.<locals>.<lambda>cs��kSrr	r	rZr	r
r�rcs��kSrr	r	rZr	r
r�rcs��kSrr	r	rZr	r
r�r)rr!r�
assertTrueZassertFalser&r()rr)Ztp_compr	rZr
�test_compare�s0

��z AbstractMemoryTests.test_comparecCs�|�||j��}|�|j|j�|�|j|j�|�|jd�|�|jd�|�t|�d�|�|j|jf�|�|j	d�|S)Nr@)rrr	)
r!rr"rJ�itemsize�ndim�shaper4�strides�
suboffsets)rr)rr	r	r
�check_attributes_with_type�sz.AbstractMemoryTests.check_attributes_with_typecC�.|js|�d�|�|j�}|�|jd�dS)Nr6T)r
r:rbr"�readonly�rrr	r	r
�test_attributes_readonly��
z,AbstractMemoryTests.test_attributes_readonlycCrc)Nr=F)rr:rbr"rdrer	r	r
�test_attributes_writable�rgz,AbstractMemoryTests.test_attributes_writablecCs~|jD]9}||j�}t�|�}|�|�}t�|�}t|d�}|�|||�d��|�t�|�|�d}|�t�|�|�qdS)Nzutf-8)	rrrr r!�strrG�encoder")rr)r*r+rZoldviewrefcount�sr	r	r
�test_getbuffer�s





�z"AbstractMemoryTests.test_getbufferc	Cs�|jD]q}t|t�sqGdd�d�}Gdd�d|�}Gdd�d�}||d��}|�|�}|�}||_||_t�|�}d}}}t�	�|�
|�du|��||d��}|�}||_||_t�|�}d}}t�	�|�
|�du|��qdS)Nc@�eZdZdd�ZdS)z+AbstractMemoryTests.test_gc.<locals>.MyViewcSst|�|_dSr)r;r)r�baser	r	r
�__init__��z4AbstractMemoryTests.test_gc.<locals>.MyView.__init__N)�__name__�
__module__�__qualname__ror	r	r	r
�MyView�srtc@�eZdZdS)z-AbstractMemoryTests.test_gc.<locals>.MySourceN�rqrrrsr	r	r	r
�MySource��rwc@ru)z-AbstractMemoryTests.test_gc.<locals>.MyObjectNrvr	r	r	r
�MyObject�rxry�abc)r�
isinstance�typer!r�o�weakref�ref�gcZcollectr[�x)	rr)rtrwryr*rr}�wrr	r	r
�test_gc�s0




�zAbstractMemoryTests.test_gcc	Cs�|�td�}|�t|�Wd�n1swY|�|��Wd�n1s-wY|�|��Wd�n1sCwY|�|dWd�n1sYwY|�d|d<Wd�n1sowY|�t|�Wd�n1s�wY|�|jWd�n1s�wY|�|jWd�n1s�wY|�|jWd�n1s�wY|�|j	Wd�n1s�wY|�|j
Wd�n1s�wY|�|jWd�n	1�swY|�|�Wd�n	1�swYWd�n	1�s*wY|�dt
|��|�dt|��|�||�|�|t||j���|�|||j��dS)NZreleasedr�xzreleased memory)�assertRaisesRegexrKrRrTrWr4rJr]r^rdr_r`ZassertInri�reprr"ZassertNotEqualr;r)rrr)�checkr	r	r
�_check_releaseds0,,,,,,*****,���z#AbstractMemoryTests._check_releasedc	Cs�|jD]E}||j�}|�|�}|�}|�||�Wd�n1s"wY|�||�|�|�}|�|��Wd�n1sCwYqdSr)rrr!�assertIsr��release)rr)r*r�cmr	r	r
�test_contextmanagers


�

���z'AbstractMemoryTests.test_contextmanagercCsL|jD] }||j�}|�|�}|��|�||�|��|�||�qdSr)rrr!r�r�rOr	r	r
�test_release%s


�z AbstractMemoryTests.test_releasecCsJ|j}|dur|�d�||j�}|�|�}t�d�}|�t|j|�dS)Nr6sZZZZ)	r
r:rr!�io�BytesIOr&r(�readinto)rr)r*rr/r	r	r
�test_writable_readonly/s



z*AbstractMemoryTests.test_writable_readonlycCs|�t|ji�dSr)r&r(r!rr	r	r
�test_getbuf_fail:�z$AbstractMemoryTests.test_getbuf_failcCs�|j}|dur|�d�||j�}|�|�}|�t|�td��|��|�t|�td��|�|�}|��|�tt|�dS)Nr6r)	r
r:rr!r"�hashr�r&rKrOr	r	r
�	test_hash=s



zAbstractMemoryTests.test_hashcCs>|j}|dur|�d�||j�}|�|�}|�tt|�dS)Nr=)rr:rr!r&rKr�rOr	r	r
�test_hash_writableOs


z&AbstractMemoryTests.test_hash_writablecs||jD]8}||j�}|�|�}g�|f�fdd�	}t�||�}|�|�|�~tj��|�|�d�|��d|�qdS)Ncs��|�dSr)�append)r�r*��Lr	r
�callback^rpz2AbstractMemoryTests.test_weakref.<locals>.callbackr)	rrr!r~rr��test�support�
gc_collect)rr)r*rr�r�r	r�r
�test_weakrefXs



�z AbstractMemoryTests.test_weakrefc	Csj|jD]/}||j�}|�|�}tt|����}|�tt|��|�|�tt|��t|ddd���qdS)Nr)rrr!r2�reversedrWr")rr)r*rZaslistr	r	r
�
test_reversedgs


$�z!AbstractMemoryTests.test_reversedcCsl|jD]0}||j�}|�|�}|��}|�|j�|�t|�j�|�|��|���|�	�|��qdSr)
rrr!�
toreadonlyr[rdr;r"rWr�)rr)r*rZmmr	r	r
�test_toreadonlyos



�z#AbstractMemoryTests.test_toreadonlycCs�t�dgd��}t|�}|�d�}|�d�}|dd�}t|�}~|�|dd�|�|dd�|�|jd�|�|jd�|�d�}|�|dd�|�|dd�|�|jd�|�|jd�dS)N�H)�r�r�r��BrrCr��I)�arrayr;�castr"rJ)rrr�rr*rF�d�_r	r	r
�test_issue22668zs 


z#AbstractMemoryTests.test_issue22668N) rqrrrsr�propertyrrr,r-r5r<rMrPrVrYr\rbrfrhrlr�r�r�r�r�r�r�r�r�r�r�r�r	r	r	r
rs>

4	

&
	rc@s eZdZeZeZeZdZdZ	dS)�BaseBytesMemoryTestsr@r�N)
rqrrrsrRr
�	bytearrayrrQr]rJr	r	r	r
r��sr�c@sTeZdZdZdd�Zdd�Ze�d�jZdZe	�
d�dd��Ze	�
d	�d
d��ZdS)�BaseArrayMemoryTestsNcCst�dt|��S�Nr/)r�r2�rr*r	r	r
r�szBaseArrayMemoryTests.<lambda>cCst�dt|����Sr�)r�r2rTr�r	r	r
r�r1r/z/XXX test should be adapted for non-byte bufferscC�dSrr	rr	r	r
rl��z#BaseArrayMemoryTests.test_getbufferz:XXX NotImplementedError: tolist() only supports byte viewscCr�rr	rr	r	r
rY�r�z BaseArrayMemoryTests.test_tolist)
rqrrrsr
rrQr�r]rJ�unittest�skiprlrYr	r	r	r
r��s
r�c@seZdZdd�Zdd�ZdS)�BaseMemoryviewTestscCst|�Sr�r;)r�objr	r	r
r!�szBaseMemoryviewTests._viewcCs|�|||��dSr�r"�rr)r��contentsr	r	r
rG�r�z#BaseMemoryviewTests._check_contentsN)rqrrrsr!rGr	r	r	r
r��sr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�BaseMemorySliceTests�XabcdefYcCst|�}|dd�S�Nr@�r��rr�rr	r	r
r!�szBaseMemorySliceTests._viewcC�|�|dd�||��dSr�r�r�r	r	r
rG��z$BaseMemorySliceTests._check_contentscCsF|jD]}t||j��}t�|�}|dd�|�t�|�|�qdS)Nr@rC)rr;rrr r")rr)rr+r	r	r
�	test_refs�s

�zBaseMemorySliceTests.test_refsN)rqrrrsrr!rGr�r	r	r	r
r��s
r�c@s eZdZdZdd�Zdd�ZdS)�BaseMemorySliceSliceTestsr�cCst|�}|dd�dd�S)Nr�r@r�r�r	r	r
r!�szBaseMemorySliceSliceTests._viewcCr�r�r�r�r	r	r
rG�r�z)BaseMemorySliceSliceTests._check_contentsN)rqrrrsrr!rGr	r	r	r
r��sr�c@rm)�BytesMemoryviewTestcCsv|jD]5}||j�}|�t|��|�t|d��|�tt�|�tt||�|jtt|d�|jtt|dd�qdS)N)�object)�argumentT)rrr[r;r&r()rr)�obr	r	r
�test_constructor�s

�z$BytesMemoryviewTest.test_constructorN)rqrrrsr�r	r	r	r
r���r�c@rm)�ArrayMemoryviewTestcCsHt�dtd��}t|�}t�dtddd��}||dd�<|�||�dS)Nr/�
�	r)r�r3r;r")rrrZnew_ar	r	r
�test_array_assign�s
z%ArrayMemoryviewTest.test_array_assignN)rqrrrsr�r	r	r	r
r��r�r�c@ru)�BytesMemorySliceTestNrvr	r	r	r
r���r�c@ru)�ArrayMemorySliceTestNrvr	r	r	r
r��r�r�c@ru)�BytesMemorySliceSliceTestNrvr	r	r	r
r��r�r�c@ru)�ArrayMemorySliceSliceTestNrvr	r	r	r
r��r�r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�	OtherTestc	Cs�t�d�}t|�d��}|��}t|��d�}|dd�|dd�<|dd�|dd�<|�|jd�dD]G}|�|��8|��}t|��|�}t|��|�dd�|dd�<t|��|�dd�|dd�<|�|jd�Wd�n1svwYq4dS)N�ctypesg333333�?r�rCZBbc)	r�
import_modulerRZc_doubler;r�r"r7�subTest)rr�Zp6r�rrJr	r	r
�test_ctypes_cast�s"
���zOtherTest.test_ctypes_castcCs6dd}t|�}|ddd�}|�|��dd�dS)Nr?i@
rZ30)r;r"�hex)rr�Zm1Zm2r	r	r
�test_memoryview_hexszOtherTest.test_memoryview_hexcCsBtd�}|�t��t�|�Wd�dS1swYdS)Nrz)r;r&r(�copyrer	r	r
�	test_copys"�zOtherTest.test_copyc	CsVtd�}ttjd�D]}|�t��t�||�Wd�n1s#wYqdS)Nrzr@)r;r3�pickle�HIGHEST_PROTOCOLr&r(�dumps)rr�protor	r	r
�test_pickles���zOtherTest.test_picklec
s�d����fdd��G�fdd�d�}G�fdd�d�}G�fdd	�d	�}d�ttd
����|�t��
�|�Wd�n1sDwYd�ttd
����|�t�d|���dgd�d�ttd
����|�t�|�d
��dgd�d�ttd
����dd��|�td���|�dfWd�n1s�wYd�ttd
����dd��|�td���d|�fWd�n1s�wYd�ttd
����|�td��
d�|�<Wd�n1s�wY|��dd
�d�d�ttd
����|�td��d�d|��<Wd�n	1�s%wY|��dd
�d�d�ttd
����|�td��d�|�d
�<Wd�n	1�sWwY|��dd
�d�d�ttd
����dd��|�td��d�|�df<Wd�n	1�s�wY|��d
d�d�d�ttd
����dd��|�td��d�d|�f<Wd�n	1�s�wY|��dd
�d�d�ttd
����|�td��
|��d<Wd�n	1�s�wY|��dd
�d�dD]M}|j|d��;d�ttd
����|��|�td��
|��d<Wd�n	1�s1wY|��dd
�d�Wd�n	1�sKwY�qdD]M}|j|d��;d�ttd
����|��|�td��
|��d<Wd�n	1�s�wY|��dd
�d�Wd�n	1�s�wY�qTd�ttd
����d��|�td��
|��d<Wd�n	1�s�wY|��dd
�d�dS)N�cs���t���dSr)r�r�r	)�bar�sizer	r
r�)sz3OtherTest.test_use_released_memory.<locals>.releasec�eZdZ�fdd�ZdS)z3OtherTest.test_use_released_memory.<locals>.MyIndexc�
��dS)NrNr	r�r�r	r
�	__index__.�z=OtherTest.test_use_released_memory.<locals>.MyIndex.__index__N)rqrrrsr�r	r�r	r
�MyIndex-�r�cr�)z3OtherTest.test_use_released_memory.<locals>.MyFloatcr�)Ng@r	rr�r	r
�	__float__2r�z=OtherTest.test_use_released_memory.<locals>.MyFloat.__float__N)rqrrrsr�r	r�r	r
�MyFloat1r�r�cr�)z2OtherTest.test_use_released_memory.<locals>.MyBoolcr�)NTr	rr�r	r
�__bool__6r�z;OtherTest.test_use_released_memory.<locals>.MyBool.__bool__N)rqrrrsr�r	r�r	r
�MyBool5r�r����rN�r�)�@rCzoperation forbiddenr)rCr��*ssspam�ZbhilqnBHILQN)�fmt�fd�?)	r;r�r&rKr"r2r�r�r�)rr�r�r�r�r	)r�rr�r�r
�test_use_released_memory$s��  ���������������z"OtherTest.test_use_released_memoryN)rqrrrsr�r�r�r�r�r	r	r	r
r��sr��__main__)r�Ztest.supportr�rr�r~r�r�r�r�rrr�r�r�r�r�ZTestCaser�r�r�r�r�r�r�rq�mainr	r	r	r
�<module>sV
�
�����
�