Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_hash.cpython-38.pyc
U

>��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)�Hashable��cCsN|dkrt|�St|�}t|�D]$}d|dd@}|d?d@||<q t|�S)zLinear congruential generatorri�CiÞ&��r�)�bytes�	bytearray�range)�x�length�out�i�r�-/opt/cppython/lib/python3.8/test/test_hash.py�lcgsrcCs^d|krdksnt�|dkr,|d}n|}||d?Ad@}|dkrR|d}n|}||fS)z*Convert SipHash24 output to Py_hash_t
    rll����� l��rr)�AssertionError)Zuint64Zint64Zuint32Zint32rrr�	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)�test�ok�msgrrr�skip_unless_internalhash+src@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�HashEqualityTestCasecGs@ttt|��}|dd�D] }||dkr|�d|f�qdS)N�rzhashed values differ: %r)�list�map�hashZfail)�selfZobjlistZhashed�hrrr�	same_hash4szHashEqualityTestCase.same_hashcCs>|�dddd�|�ddd�|�ddd	�|�d
dd�dS)
Nr!g�?y�?r�y���g�y����g�y�)r'�r%rrr�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�rll����l�r'�int�float�complexr+rrr�test_coerced_integersBs�z*HashEqualityTestCase.test_coerced_integerscCs.|�td�td��|�td�tdd��dS)Ng�쏈�b=~g�?r(r.r+rrr�test_coerced_floatsMsz(HashEqualityTestCase.test_coerced_floatscCs`dd}td�D]J}td�D]<}||d|�}t|�|d|�}|�t|�t|��qqdS)Ns#123456789abcdefghijklmnopqrstuvwxyz�r)r
�
memoryview�assertEqualr$)r%�br�jZalignedZ	unalignedrrr�test_unaligned_buffersQsz+HashEqualityTestCase.test_unaligned_buffersN)�__name__�
__module__�__qualname__r'r,r2r3r9rrrrr 2s
r c@seZdZdS)�DefaultHashN�r:r;r<rrrrr=]sr=�*c@seZdZdd�ZdS)�	FixedHashcCstS�N)�_FIXED_HASH_VALUEr+rrr�__hash__aszFixedHash.__hash__N�r:r;r<rCrrrrr@`sr@c@seZdZdd�ZdS)�OnlyEqualitycCs||kSrAr�r%�otherrrr�__eq__eszOnlyEquality.__eq__N)r:r;r<rHrrrrrEdsrEc@seZdZdd�ZdS)�OnlyInequalitycCs||k	SrArrFrrr�__ne__iszOnlyInequality.__ne__N)r:r;r<rJrrrrrIhsrIc@seZdZdS)�InheritedHashWithEqualityNr>rrrrrKlsrKc@seZdZdS)�InheritedHashWithInequalityNr>rrrrrLmsrLc@seZdZdZdS)�NoHashNrDrrrrrMosrMc@s`eZdZe�e�e�gZe�e�e	�gZ
e�e�gZ
dd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�HashInheritanceTestCasecCs$|jD]}|�t|�t|��qdSrA)�default_expectedr6r$�
_default_hash�r%�objrrr�test_default_hashs
z)HashInheritanceTestCase.test_default_hashcCs |jD]}|�t|�t�qdSrA)�fixed_expectedr6r$rBrQrrr�test_fixed_hash�s
z'HashInheritanceTestCase.test_fixed_hashcCs|jD]}|�tt|�qdSrA)�error_expectedZassertRaises�	TypeErrorr$rQrrr�test_error_hash�s
z'HashInheritanceTestCase.test_error_hashcCs&|j|j}|D]}|�|t�qdSrA)rOrTZassertIsInstancer)r%ZobjectsrRrrr�
test_hashable�s
�z%HashInheritanceTestCase.test_hashablecCs|jD]}|�|t�qdSrA)rVZassertNotIsInstancerrQrrr�test_not_hashable�s
z)HashInheritanceTestCase.test_not_hashableN)r:r;r<�objectr=rIrOr@rKrLrTrMrErVrSrUrXrYrZrrrrrNrs ���rNc@s$eZdZed�Zdd�Zdd�ZdS)�DefaultIterSeq�
cCs
t|j�SrA)�len�seqr+rrr�__len__�szDefaultIterSeq.__len__cCs
|j|SrA)r_)r%�indexrrr�__getitem__�szDefaultIterSeq.__getitem__N)r:r;r<r
r_r`rbrrrrr\�sr\c@s6eZdZeed��ee��edd�d�gZdd�ZdS)�HashBuiltinsTestCaser]cCsdS)Nrrrrrr�<lambda>��zHashBuiltinsTestCase.<lambda>rcCs*tj}|jD]}|�t|�||��qdSrA)r[rC�hashes_to_checkr6r$)r%rPrRrrr�test_hashes�s
z HashBuiltinsTestCase.test_hashesN)	r:r;r<�	enumerater
�iterr\rfrgrrrrrc�s

�rcc@s&eZdZdd�Zddd�Zdd�ZdS)	�HashRandomizationTestscCsd|S)Nzprint(hash(eval(%a)))r�r%�repr_rrr�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�poprrm�stripr/)r%rl�seed�envr
�stdoutrrr�get_hash�s
��zHashRandomizationTests.get_hashcCs0|j|jdd�}|j|jdd�}|�||�dS)N�random�rt)rwrl�assertNotEqual)r%Zrun1Zrun2rrr�test_randomized_hash�sz+HashRandomizationTests.test_randomized_hash)N)r:r;r<rmrwr{rrrrrj�s
rjc
@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)Nr}�littler!r�big��)rr�cutoffr�	byteorder�IS_64BITr�known_hashes)r%Zpositionrr�platformrrr�get_expected_hash�s
z2StringlikeHashRandomizationTests.get_expected_hashcCs<|�dd�}|�|�|j�|�|�|j|jdd�|�dS)Nrr�ry)r�rzrwrlr6)r%Zknown_hash_of_objrrr�test_null_hash�sz/StringlikeHashRandomizationTests.test_null_hashcCs(|�dd�}|�|j|jdd�|�dS)Nr!r�r?ry)r�r6rwrl�r%r&rrrrUsz0StringlikeHashRandomizationTests.test_fixed_hashcCs6|jdkrdS|�dd�}|�|j|jdd�|�dS)Nr��r?ry)�	repr_longr�r6rwr�rrr�test_long_fixed_hashs
z5StringlikeHashRandomizationTests.test_long_fixed_hash)r:r;r<rlr�r�r�r�rrUr�rrrrr|�sD

�	




��������'

r|c@s<eZdZed�Zed�Zed�Zedd��Zedd��Z	dS)	�StrHashRandomizationTests�abcZabcdefghijku
äú∑ℇcCs|�td�d�dS)N�r�r6r$r+rrr�test_empty_stringsz+StrHashRandomizationTests.test_empty_stringcCsL|�dd�}|�|j|jdd�|�|�dd�}|�|j|jdd�|�dS)Nr��rry�r?)r�r6rw�	repr_ucs2r�rrr�test_ucs2_string sz*StrHashRandomizationTests.test_ucs2_stringN)
r:r;r<�reprrlr�r�rr�r�rrrrr�s
r�c@s(eZdZed�Zed�Zedd��ZdS)�BytesHashRandomizationTestssabcsabcdefghijkcCs|�td�d�dS�Nrerr�r+rrrr�,sz-BytesHashRandomizationTests.test_empty_stringN)r:r;r<r�rlr�rr�rrrrr�'sr�c@s eZdZdZdZedd��ZdS)� MemoryviewHashRandomizationTestszmemoryview(b'abc')zmemoryview(b'abcdefghijk')cCs|�ttd��d�dSr�)r6r$r5r+rrrr�5sz2MemoryviewHashRandomizationTests.test_empty_stringN)r:r;r<rlr�rr�rrrrr�0sr�c@seZdZdd�ZdS)�
DatetimeTestscCsd|S)Nz import datetime; print(hash(%s))rrkrrrrm:szDatetimeTests.get_hash_commandN)r:r;r<rmrrrrr�9sr�c@seZdZee�ddd��ZdS)�DatetimeDateTestsi*r]�N)r:r;r<r��datetime�daterlrrrrr�=sr�c
@s&eZdZee�ddddddd��ZdS)	�DatetimeDatetimeTestsr!r�r�r��r��N)r:r;r<r�r�rlrrrrr�@sr�c@seZdZee�d��ZdS)�DatetimeTimeTestsrN)r:r;r<r�r��timerlrrrrr�Csr�c@seZdZdd�ZdS)�HashDistributionTestCasec
Cs�d}tdt|��D]�}|d|�}|j|d��pt�}t�}td�D]0}t|t|��}|�|d@�|�|d@�qD|�t|�d|�|�t|�d|�W5QRXqdS)	NZabcdefghabcdefgr!)�prefix��r�r4)r
r^ZsubTest�setr$�chr�addZ
assertGreater)r%�baserr�Zs15Zs255�cr&rrr�test_hash_distributionIsz/HashDistributionTestCase.test_hash_distributionN)r:r;r<r�rrrrr�Gsr��__main__)r))r�rnrrZtest.support.script_helperr�collections.abcr�maxsizer�rrrZTestCaser r[rCrPr=rBr@rErIrKrLrMrNr\rcrjr|r�r�r�r�r�r�r�r�r:�mainrrrr�<module>sP


*%Q��	�	


F1le Man4ger