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.7/test/__pycache__/test_hash.cpython-37.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)zLinear congruential generatorri�CiÞ&i���r�)�bytes�	bytearray�range)�x�length�out�i�r
�*/usr/local/lib/python3.7/test/test_hash.py�lcgsrcCs^d|krdksnt�|dkr,|d}n|}||d?Ad@}|dkrR|d}n|}||fS)z*Convert SipHash24 output to Py_hash_t
    rll����� l��i���l)�AssertionError)Zuint64Zint64Zuint32Zint32r
r
r�	pysiphashs

rcCs&tjjdk}d}|r|St�|�|�S)z8Skip decorator for tests that depend on SipHash24 or FNV>�	siphash24�fnvzRequires 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-r3r
r
r
rr2s
rc@seZdZdS)�DefaultHashN)r4r5r6r
r
r
rr7]sr7�*c@seZdZdd�ZdS)�	FixedHashcCstS)N)�_FIXED_HASH_VALUE)r"r
r
r�__hash__aszFixedHash.__hash__N)r4r5r6r;r
r
r
rr9`sr9c@seZdZdd�ZdS)�OnlyEqualitycCs||kS)Nr
)r"�otherr
r
r�__eq__eszOnlyEquality.__eq__N)r4r5r6r>r
r
r
rr<dsr<c@seZdZdd�ZdS)�OnlyInequalitycCs||k	S)Nr
)r"r=r
r
r�__ne__iszOnlyInequality.__ne__N)r4r5r6r@r
r
r
rr?hsr?c@seZdZdS)�InheritedHashWithEqualityN)r4r5r6r
r
r
rrAlsrAc@seZdZdS)�InheritedHashWithInequalityN)r4r5r6r
r
r
rrBmsrBc@seZdZdZdS)�NoHashN)r4r5r6r;r
r
r
rrCosrCc@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_expectedr0r!�
_default_hash)r"�objr
r
r�test_default_hashsz)HashInheritanceTestCase.test_default_hashcCs$x|jD]}|�t|�t�qWdS)N)�fixed_expectedr0r!r:)r"rGr
r
r�test_fixed_hash�sz'HashInheritanceTestCase.test_fixed_hashcCs"x|jD]}|�tt|�qWdS)N)�error_expectedZassertRaises�	TypeErrorr!)r"rGr
r
r�test_error_hash�sz'HashInheritanceTestCase.test_error_hashcCs*|j|j}x|D]}|�|t�qWdS)N)rErIZassertIsInstancer)r"ZobjectsrGr
r
r�
test_hashable�s
z%HashInheritanceTestCase.test_hashablecCs x|jD]}|�|t�qWdS)N)rKZassertNotIsInstancer)r"rGr
r
r�test_not_hashable�sz)HashInheritanceTestCase.test_not_hashableN)r4r5r6�objectr7r?rEr9rArBrIrCr<rKrHrJrMrNrOr
r
r
rrDrsrDc@s$eZdZed�Zdd�Zdd�ZdS)�DefaultIterSeq�
cCs
t|j�S)N)�len�seq)r"r
r
r�__len__�szDefaultIterSeq.__len__cCs
|j|S)N)rT)r"�indexr
r
r�__getitem__�szDefaultIterSeq.__getitem__N)r4r5r6rrTrUrWr
r
r
rrQ�srQc@s6eZdZeed��ee��edd�d�gZdd�ZdS)�HashBuiltinsTestCaserRcCsdS)Nrr
r
r
r
r�<lambda>��zHashBuiltinsTestCase.<lambda>rcCs.tj}x"|jD]}|�t|�||��qWdS)N)rPr;�hashes_to_checkr0r!)r"rFrGr
r
r�test_hashes�sz HashBuiltinsTestCase.test_hashesN)	r4r5r6�	enumerater�iterrQr[r\r
r
r
rrX�s
rXc@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�poprra�stripr))r"r`�seed�envr�stdoutr
r
r�get_hash�s
zHashRandomizationTests.get_hashcCs0|j|jdd�}|j|jdd�}|�||�dS)NZrandom)rh)rkr`�assertNotEqual)r"Zrun1Zrun2r
r
r�test_randomized_hash�sz+HashRandomizationTests.test_randomized_hash)N)r4r5r6rarkrmr
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)�djba33xrrcCs^|tjjkrd}ntjj}tjdkr2tr,dnd}ntjdks@t�trHdnd}|j|||S)Nro�littlerrZbig��)rr�cutoffr�	byteorder�IS_64BITr�known_hashes)r"Zpositionr
r�platformr
r
r�get_expected_hash�s
z2StringlikeHashRandomizationTests.get_expected_hashcCs<|�dd�}|�|�|j�|�|�|j|jdd�|�dS)Nrrq)rh)rxrlrkr`r0)r"Zknown_hash_of_objr
r
r�test_null_hash�sz/StringlikeHashRandomizationTests.test_null_hashcCs(|�dd�}|�|j|jdd�|�dS)Nrrqr8)rh)rxr0rkr`)r"r#r
r
rrJsz0StringlikeHashRandomizationTests.test_fixed_hashcCs6|jdkrdS|�dd�}|�|j|jdd�|�dS)Nrr�r8)rh)�	repr_longrxr0rk)r"r#r
r
r�test_long_fixed_hashs
z5StringlikeHashRandomizationTests.test_long_fixed_hash)r4r5r6r`r{rvrxryrrJr|r
r
r
rrn�s.





rnc@s<eZdZed�Zed�Zed�Zedd��Zedd��Z	dS)	�StrHashRandomizationTests�abcZabcdefghijku
äú∑ℇcCs|�td�d�dS)N�r)r0r!)r"r
r
r�test_empty_stringsz+StrHashRandomizationTests.test_empty_stringcCsL|�dd�}|�|j|jdd�|�|�dd�}|�|j|jdd�|�dS)Nrq�r)rh�r8)rxr0rk�	repr_ucs2)r"r#r
r
r�test_ucs2_string sz*StrHashRandomizationTests.test_ucs2_stringN)
r4r5r6�reprr`r{r�rr�r�r
r
r
rr}s
r}c@s(eZdZed�Zed�Zedd��ZdS)�BytesHashRandomizationTestssabcsabcdefghijkcCs|�td�d�dS)NrZr)r0r!)r"r
r
rr�,sz-BytesHashRandomizationTests.test_empty_stringN)r4r5r6r�r`r{rr�r
r
r
rr�'sr�c@s eZdZdZdZedd��ZdS)� MemoryviewHashRandomizationTestszmemoryview(b'abc')zmemoryview(b'abcdefghijk')cCs|�ttd��d�dS)NrZr)r0r!r/)r"r
r
rr�5sz2MemoryviewHashRandomizationTests.test_empty_stringN)r4r5r6r`r{rr�r
r
r
rr�0sr�c@seZdZdd�ZdS)�
DatetimeTestscCsd|S)Nz import datetime; print(hash(%s))r
)r"r`r
r
rra:szDatetimeTests.get_hash_commandN)r4r5r6rar
r
r
rr�9sr�c@seZdZee�ddd��ZdS)�DatetimeDateTestsi*rR�N)r4r5r6r��datetimeZdater`r
r
r
rr�=sr�c
@s&eZdZee�ddddddd��ZdS)	�DatetimeDatetimeTestsrrrrqr��r��N)r4r5r6r�r�r`r
r
r
rr�@sr�c@seZdZee�d��ZdS)�DatetimeTimeTestsrN)r4r5r6r�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.)rrSZsubTest�setr!�chr�addZ
assertGreater)r"�baserr�Zs15Zs255�cr#r
r
r�test_hash_distributionIsz/HashDistributionTestCase.test_hash_distributionN)r4r5r6r�r
r
r
rr�Gsr��__main__)r))r�rbrrZtest.support.script_helperrZcollections.abcr�maxsizerurrrZTestCaserrPr;rFr7r:r9r<r?rArBrCrDrQrXr_rnr}r�r�r�r�r�r�r�r4�mainr
r
r
r�<module>sJ


*%Q