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: //proc/thread-self/root/usr/local/lib/python3.7/test/__pycache__/test_hash.cpython-37.opt-2.pyc
B

��g�-�@s�ddlZddlZddlZddlZddlmZddlmZejdkZ	d8dd�Z
dd	�Zd
d�ZGdd
�d
ej
�ZejZGdd�de�ZdZGdd�de�ZGdd�de�ZGdd�de�ZGdd�dee�ZGdd�dee�ZGdd�de�ZGdd�dej
�ZGdd �d e�ZGd!d"�d"ej
�ZGd#d$�d$�ZGd%d&�d&e�ZGd'd(�d(eej
�ZGd)d*�d*eej
�Z Gd+d,�d,eej
�Z!Gd-d.�d.e�Z"Gd/d0�d0e"ej
�Z#Gd1d2�d2e"ej
�Z$Gd3d4�d4e"ej
�Z%Gd5d6�d6ej
�Z&e'd7k�r�e�(�dS)9�N)�assert_python_ok)�Hashablel�cCsR|dkrt|�St|�}x0t|�D]$}d|dd@}|d?d@||<q"Wt|�S)Nri�CiÞ&i���r�)�bytes�	bytearray�range)�x�length�out�i�r
�*/usr/local/lib/python3.7/test/test_hash.py�lcgsrcCsD|dkr|d}n|}||d?Ad@}|dkr8|d}n|}||fS)Nl����l� l��i���lr
)Zuint64Zint64Zuint32Zint32r
r
r�	pysiphashs

rcCs&tjjdk}d}|r|St�|�|�S)N>�fnv�	siphash24zRequires SipHash24 or FNV)�sys�	hash_info�	algorithm�unittest�skip)Ztest�ok�msgr
r
r�skip_unless_internalhash+src@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�HashEqualityTestCasecGsDttt|��}x0|dd�D] }||dkr|�d|f�qWdS)N�rzhashed values differ: %r)�list�map�hashZfail)�selfZobjlistZhashed�hr
r
r�	same_hash4szHashEqualityTestCase.same_hashcCs>|�dddd�|�ddd�|�ddd	�|�d
dd�dS)
Nrg�?y�?rgy���g�y����g�y�)r#)r!r
r
r�test_numeric_literals<sz*HashEqualityTestCase.test_numeric_literalsc	Cs�|�td�td�td�td�td�td��|�td�td��|�td�td��|�td�td��|�td�td��|�td�td��|�td	�td	��dS)
Nr�1z1.0i�i�i���ll����l)r#�int�float�complex)r!r
r
r�test_coerced_integersBsz*HashEqualityTestCase.test_coerced_integerscCs.|�td�td��|�td�tdd��dS)Ng�쏈�b=~g�?g)r#r(r)r*)r!r
r
r�test_coerced_floatsMsz(HashEqualityTestCase.test_coerced_floatscCshdd}xZtd�D]N}xHtd�D]<}||d|�}t|�|d|�}|�t|�t|��q WqWdS)Ns#123456789abcdefghijklmnopqrstuvwxyz�r)r�
memoryview�assertEqualr )r!�br�jZalignedZ	unalignedr
r
r�test_unaligned_buffersQsz+HashEqualityTestCase.test_unaligned_buffersN)�__name__�
__module__�__qualname__r#r&r+r,r2r
r
r
rr2s
rc@seZdZdS)�DefaultHashN)r3r4r5r
r
r
rr6]sr6�*c@seZdZdd�ZdS)�	FixedHashcCstS)N)�_FIXED_HASH_VALUE)r!r
r
r�__hash__aszFixedHash.__hash__N)r3r4r5r:r
r
r
rr8`sr8c@seZdZdd�ZdS)�OnlyEqualitycCs||kS)Nr
)r!�otherr
r
r�__eq__eszOnlyEquality.__eq__N)r3r4r5r=r
r
r
rr;dsr;c@seZdZdd�ZdS)�OnlyInequalitycCs||k	S)Nr
)r!r<r
r
r�__ne__iszOnlyInequality.__ne__N)r3r4r5r?r
r
r
rr>hsr>c@seZdZdS)�InheritedHashWithEqualityN)r3r4r5r
r
r
rr@lsr@c@seZdZdS)�InheritedHashWithInequalityN)r3r4r5r
r
r
rrAmsrAc@seZdZdZdS)�NoHashN)r3r4r5r:r
r
r
rrBosrBc@s`eZdZe�e�e�gZe�e�e	�gZ
e�e�gZ
dd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�HashInheritanceTestCasecCs(x"|jD]}|�t|�t|��qWdS)N)�default_expectedr/r �
_default_hash)r!�objr
r
r�test_default_hashsz)HashInheritanceTestCase.test_default_hashcCs$x|jD]}|�t|�t�qWdS)N)�fixed_expectedr/r r9)r!rFr
r
r�test_fixed_hash�sz'HashInheritanceTestCase.test_fixed_hashcCs"x|jD]}|�tt|�qWdS)N)�error_expectedZassertRaises�	TypeErrorr )r!rFr
r
r�test_error_hash�sz'HashInheritanceTestCase.test_error_hashcCs*|j|j}x|D]}|�|t�qWdS)N)rDrHZassertIsInstancer)r!ZobjectsrFr
r
r�
test_hashable�s
z%HashInheritanceTestCase.test_hashablecCs x|jD]}|�|t�qWdS)N)rJZassertNotIsInstancer)r!rFr
r
r�test_not_hashable�sz)HashInheritanceTestCase.test_not_hashableN)r3r4r5�objectr6r>rDr8r@rArHrBr;rJrGrIrLrMrNr
r
r
rrCrsrCc@s$eZdZed�Zdd�Zdd�ZdS)�DefaultIterSeq�
cCs
t|j�S)N)�len�seq)r!r
r
r�__len__�szDefaultIterSeq.__len__cCs
|j|S)N)rS)r!�indexr
r
r�__getitem__�szDefaultIterSeq.__getitem__N)r3r4r5rrSrTrVr
r
r
rrP�srPc@s6eZdZeed��ee��edd�d�gZdd�ZdS)�HashBuiltinsTestCaserQcCsdS)Nrr
r
r
r
r�<lambda>��zHashBuiltinsTestCase.<lambda>rcCs.tj}x"|jD]}|�t|�||��qWdS)N)rOr:�hashes_to_checkr/r )r!rErFr
r
r�test_hashes�sz HashBuiltinsTestCase.test_hashesN)	r3r4r5�	enumerater�iterrPrZr[r
r
r
rrW�s
rWc@s&eZdZdd�Zddd�Zdd�ZdS)	�HashRandomizationTestscCsd|S)Nzprint(hash(eval(%a)))r
)r!�repr_r
r
r�get_hash_command�sz'HashRandomizationTests.get_hash_commandNcCs\tj��}d|d<|dk	r(t|�|d<n|�dd�td|�|�f|�}|d��}t|�S)NTZ
__cleanenvZPYTHONHASHSEEDz-cr)	�os�environ�copy�str�poprr`�stripr()r!r_�seed�envr�stdoutr
r
r�get_hash�s
zHashRandomizationTests.get_hashcCs0|j|jdd�}|j|jdd�}|�||�dS)NZrandom)rg)rjr_�assertNotEqual)r!Zrun1Zrun2r
r
r�test_randomized_hash�sz+HashRandomizationTests.test_randomized_hash)N)r3r4r5r`rjrlr
r
r
rr^�s
r^c
@s�eZdZdZdZddddgddddggddddgd	d
d	d
gddddgd
dddgddddggddddgddddgddddgdd d!d"gd#d$d%d&ggd'�Zd(d)�Zd*d+�Zed,d-��Z	ed.d/��Z
dS)0� StringlikeHashRandomizationTestsNi�\�iL̇�lLL//+�?iTS�l����qU:~�@[i��pGl�n�YD~i�Sl����jxY_oW�si� ��l� �/��li�Jkl�J�:�8`~i��l�����)�wJ�i�Q	�l���� .�G�UJGiO{�l������]�D]i�Г�l�P'ABS!i����l����m]]�R�ii���l�����T�e]i�X0l�����'�W�=>0i�e�l�����;u�i���lg,��gi5$f�l�����`�bTN�Vi� �l�����9�\R>|iQ���l�����kT<�h4)�djba33xrrcCsP|tjjkrd}ntjj}tjdkr2tr,dnd}ntr:dnd}|j|||S)Nrn�littlerr��)rr�cutoffr�	byteorder�IS_64BIT�known_hashes)r!Zpositionr
r�platformr
r
r�get_expected_hash�s
z2StringlikeHashRandomizationTests.get_expected_hashcCs<|�dd�}|�|�|j�|�|�|j|jdd�|�dS)Nrrp)rg)rwrkrjr_r/)r!Zknown_hash_of_objr
r
r�test_null_hash�sz/StringlikeHashRandomizationTests.test_null_hashcCs(|�dd�}|�|j|jdd�|�dS)Nrrpr7)rg)rwr/rjr_)r!r"r
r
rrIsz0StringlikeHashRandomizationTests.test_fixed_hashcCs6|jdkrdS|�dd�}|�|j|jdd�|�dS)Nrq�r7)rg)�	repr_longrwr/rj)r!r"r
r
r�test_long_fixed_hashs
z5StringlikeHashRandomizationTests.test_long_fixed_hash)r3r4r5r_rzrurwrxrrIr{r
r
r
rrm�s.





rmc@s<eZdZed�Zed�Zed�Zedd��Zedd��Z	dS)	�StrHashRandomizationTests�abcZabcdefghijku
äú∑ℇcCs|�td�d�dS)N�r)r/r )r!r
r
r�test_empty_stringsz+StrHashRandomizationTests.test_empty_stringcCsL|�dd�}|�|j|jdd�|�|�dd�}|�|j|jdd�|�dS)Nrp�r)rg�r7)rwr/rj�	repr_ucs2)r!r"r
r
r�test_ucs2_string sz*StrHashRandomizationTests.test_ucs2_stringN)
r3r4r5�reprr_rzr�rrr�r
r
r
rr|s
r|c@s(eZdZed�Zed�Zedd��ZdS)�BytesHashRandomizationTestssabcsabcdefghijkcCs|�td�d�dS)NrYr)r/r )r!r
r
rr,sz-BytesHashRandomizationTests.test_empty_stringN)r3r4r5r�r_rzrrr
r
r
rr�'sr�c@s eZdZdZdZedd��ZdS)� MemoryviewHashRandomizationTestszmemoryview(b'abc')zmemoryview(b'abcdefghijk')cCs|�ttd��d�dS)NrYr)r/r r.)r!r
r
rr5sz2MemoryviewHashRandomizationTests.test_empty_stringN)r3r4r5r_rzrrr
r
r
rr�0sr�c@seZdZdd�ZdS)�
DatetimeTestscCsd|S)Nz import datetime; print(hash(%s))r
)r!r_r
r
rr`:szDatetimeTests.get_hash_commandN)r3r4r5r`r
r
r
rr�9sr�c@seZdZee�ddd��ZdS)�DatetimeDateTestsi*rQ�N)r3r4r5r��datetimeZdater_r
r
r
rr�=sr�c
@s&eZdZee�ddddddd��ZdS)	�DatetimeDatetimeTestsrrqrpr��r��N)r3r4r5r�r�r_r
r
r
rr�@sr�c@seZdZee�d��ZdS)�DatetimeTimeTestsrN)r3r4r5r�r�Ztimer_r
r
r
rr�Csr�c@seZdZdd�ZdS)�HashDistributionTestCasec
Cs�d}x�tdt|��D]�}|d|�}|j|d��tt�}t�}x<td�D]0}t|t|��}|�|d@�|�|d@�qHW|�t|�d|�|�t|�d|�WdQRXqWdS)	NZabcdefghabcdefgr)�prefix��r�r-)rrRZsubTest�setr �chr�addZ
assertGreater)r!�baserr�Zs15Zs255�cr"r
r
r�test_hash_distributionIsz/HashDistributionTestCase.test_hash_distributionN)r3r4r5r�r
r
r
rr�Gsr��__main__)r))r�rarrZtest.support.script_helperrZcollections.abcr�maxsizertrrrZTestCaserrOr:rEr6r9r8r;r>r@rArBrCrPrWr^rmr|r�r�r�r�r�r�r�r3�mainr
r
r
r�<module>sJ


*%Q