add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
f

��_0c@s�ddlZddlZddlmZGdd�dej�Zdd�ZGdd�dej�Z	Gd	d
�d
ej
�ZGdd�dej
�ZGd
d�dej
�Z
Gdd�dej
�ZGdd�dej
�ZGdd�dej
�Zdd�Zdd�Zedkr�e�dS)�N)�Sequencec@�eZdZdd�ZdS)�MyConnectioncOstjj|g|�Ri|��dS�N)�sqlite�
Connection�__init__��selfZargsZkwargs�r
�-/usr/lib64/python3.10/sqlite3/test/factory.pyr�zMyConnection.__init__N��__name__�
__module__�__qualname__rr
r
r
rr�rcCs,i}t|j�D]\}}||||d<q|S)Nr)Z	enumerateZdescription)�cursor�row�dZidx�colr
r
r�dict_factory src@r)�MyCursorcOs$tjj|g|�Ri|��t|_dSr)r�Cursorrr�row_factoryrr
r
rr'szMyCursor.__init__Nr
r
r
r
rr&rrc@�$eZdZdd�Zdd�Zdd�ZdS)�ConnectionFactoryTestscCstjdtd�|_dS)N�:memory:�Zfactory)r�connectr�con�r	r
r
r�setUp,rzConnectionFactoryTests.setUpcC�|j��dSr�r�closer r
r
r�tearDown/rzConnectionFactoryTests.tearDowncCs|�|jt�dSr)�assertIsInstancerrr r
r
r�CheckIsInstance2rz&ConnectionFactoryTests.CheckIsInstanceN)rrrr!r%r'r
r
r
rr+src@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�CursorFactoryTestscC�t�d�|_dS�Nr�rrrr r
r
rr!6rzCursorFactoryTests.setUpcCr"rr#r r
r
rr%9rzCursorFactoryTests.tearDowncCsR|j��}|�|tj�|j�t�}|�|t�|jjdd�d�}|�|t�dS)NcSst|�Sr)r�rr
r
r�<lambda>A�z4CursorFactoryTests.CheckIsInstance.<locals>.<lambda>r)rrr&rrr)r	�curr
r
rr'<s
z"CursorFactoryTests.CheckIsInstancecCsB|�t|jjd�|�t|jjdd��|�t|jjdd��dS)NcS�dSrr
r
r
r
rr-Hr.z8CursorFactoryTests.CheckInvalidFactory.<locals>.<lambda>cSr0rr
r,r
r
rr-Jr.)�assertRaises�	TypeErrorrrr r
r
r�CheckInvalidFactoryDsz&CursorFactoryTests.CheckInvalidFactoryN)rrrr!r%r'r3r
r
r
rr(5sr(c@r)�RowFactoryTestsBackwardsCompatcCr)r*r+r r
r
rr!Mrz$RowFactoryTestsBackwardsCompat.setUpcCs8|jjtd�}|�d�|��}|�|t�|��dS)Nrzselect 4+5 as foo)rrr�execute�fetchoner&�dictr$)r	r/rr
r
r�CheckIsProducedByFactoryPs

z7RowFactoryTestsBackwardsCompat.CheckIsProducedByFactorycCr"rr#r r
r
rr%Wrz'RowFactoryTestsBackwardsCompat.tearDownN)rrrr!r8r%r
r
r
rr4Lsr4c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�RowFactoryTestscCr)r*r+r r
r
rr![rzRowFactoryTests.setUpcCs,dd�|j_|j�d���}|�|t�dS)NcSst|�Sr)�list)r/rr
r
rr-_r.z4RowFactoryTests.CheckCustomFactory.<locals>.<lambda>zselect 1, 2)rrr5r6r&r:�r	rr
r
r�CheckCustomFactory^sz"RowFactoryTests.CheckCustomFactorycCs�tj|j_|j�d���}|�|tj�|�|ddd�|�|ddd�|�|ddd	�|�|d
dd�|�|ddd
�|�|ddd�|�|ddd�|�|ddd�|�t	��|dWd�n1s�0Y|�t	��|dWd�n1�s0Y|�t	��|dWd�n1�sH0Y|�t	��|dWd�n1�s|0Y|�t	��|dWd�n1�s�0Y|�t	��|ddWd�n1�s�0YdS)Nzselect 1 as a_1, 2 as bZa_1�z&by name: wrong result for column 'a_1'�b�z$by name: wrong result for column 'b'ZA_1z&by name: wrong result for column 'A_1'ZBz$by name: wrong result for column 'B'rz#by index: wrong result for column 0z#by index: wrong result for column 1�����z$by index: wrong result for column -1�����z$by index: wrong result for column -2Zcza_za1i����i�)
r�Rowrrr5r6r&�assertEqualr1�
IndexErrorr;r
r
r�CheckSqliteRowIndexcs.
&((((z#RowFactoryTests.CheckSqliteRowIndexcCs�tj|j_|j�d���}|�|dd�|�t��|dWd�n1sR0Y|�t��|dWd�n1s�0YdS)Nuselect 1 as ÿuÿr=uŸuß)	rrBrrr5r6rCr1rDr;r
r
r�CheckSqliteRowIndexUnicode�s
&z*RowFactoryTests.CheckSqliteRowIndexUnicodecCs�tj|j_|j�d���}|�|dd�d�|�|dd�d�|�|dd�d�|�|dd�d�|�|dd�d�|�|dd�d	�|�|d
d�d�|�|d
d�d
�|�|ddd�d�|�|ddd
�d�dS)Nzselect 1, 2, 3, 4rr
r=)r=�)r?rG)r?rG�)r=r?rGrAr@)rG)rGrHrHr?)r=rG)rHr?)rrBrrr5r6rCr;r
r
r�CheckSqliteRowSlice�s
z#RowFactoryTests.CheckSqliteRowSlicecCs(tj|j_|j�d���}|D]}qdS)z$Checks if the row object is iterable�select 1 as a, 2 as bN)rrBrrr5r6)r	rrr
r
r�CheckSqliteRowIter��
z"RowFactoryTests.CheckSqliteRowItercCs>tj|j_|j�d���}t|�}|�||d|df�dS)z4Checks if the row object can be converted to a tuplerJ�ar>N)rrBrrr5r6�tuplerC)r	rZtr
r
r�CheckSqliteRowAsTuple�rLz%RowFactoryTests.CheckSqliteRowAsTuplecCsNtj|j_|j�d���}t|�}|�|d|d�|�|d|d�dS)zCChecks if the row object can be correctly converted to a dictionaryrJrMr>N)rrBrrr5r6r7rC)r	rrr
r
r�CheckSqliteRowAsDict�s

z$RowFactoryTests.CheckSqliteRowAsDictcCs�tj|j_|j�d���}|j�d���}|j�d���}|j�d���}|j�d���}|�||k�|�||k�|�||k�|�||k�|�||k�|�|t�k�|�||k�|�||k�|�||k�|�||k�|�||k�|�|t�k�|�	t
��||kWd�n1�s00Y|�	t
��||kWd�n1�sd0Y|�	t
��||kWd�n1�s�0Y|�	t
��||kWd�n1�s�0Y|�t|�t|��dS)z6Checks if the row object compares and hashes correctlyrJzselect 1 as a, 3 as bzselect 1 as b, 2 as azselect 2 as b, 1 as aN)
rrBrrr5r6�
assertTrueZassertFalseZobjectr1r2rCZhash)r	Zrow_1Zrow_2Zrow_3Zrow_4Zrow_5r
r
r�CheckSqliteRowHashCmp�s6
((((z%RowFactoryTests.CheckSqliteRowHashCmpcCsNtj|j_|j�d���}t|�}|�tt	|��tt	|���|�
|t�dS)z2 Checks if the row object can act like a sequence rJN)rrBrrr5r6rNrCr:Zreversedr&r)r	rZas_tupler
r
r�CheckSqliteRowAsSequence�s

z(RowFactoryTests.CheckSqliteRowAsSequencecCsDGdd�dt�}tj|j_|�t|jj|�|�ttj|�d�dS)Nc@seZdZejZdS)z8RowFactoryTests.CheckFakeCursorClass.<locals>.FakeCursorN)rrrrrZ	__class__r
r
r
r�
FakeCursor�rrTr
)�strrrBrrr1r2r)r	rTr
r
r�CheckFakeCursorClass�s
z$RowFactoryTests.CheckFakeCursorClasscCr"rr#r r
r
rr%�rzRowFactoryTests.tearDownN)rrrr!r<rErFrIrKrOrPrRrSrVr%r
r
r
rr9Zs	"	
r9c@�<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TextFactoryTestscCr)r*r+r r
r
rr!�rzTextFactoryTests.setUpcCs2d}|j�d|f���}|�t|d�td�dS)N�Österreich�select ?r�type of row[0] must be unicode)rr5r6rC�typerU�r	�austriarr
r
r�CheckUnicode�szTextFactoryTests.CheckUnicodecCsRt|j_d}|j�d|f���}|�t|d�td�|�|d|�d�d�dS)NrYrZrztype of row[0] must be bytes�utf-8z(column must equal original data in UTF-8)�bytesr�text_factoryr5r6rCr\Zencoder]r
r
r�CheckString�s
zTextFactoryTests.CheckStringcCsTdd�|j_d}|j�d|f���}|�t|d�td�|�|d�d�d�dS)	NcSst|dd�S)Nr`Zignore)rU�Zxr
r
rr-�r.z.TextFactoryTests.CheckCustom.<locals>.<lambda>rYrZrr[Zreichz!column must contain original data)	rrbr5r6rCr\rUrQZendswithr]r
r
r�CheckCustom�s
zTextFactoryTests.CheckCustomcCsjtj|j_d}d}|j�d|f���}|j�d|f���}|�t|d�td�|�t|d�td�dS)NrYZ
DeutchlandrZrz!type of non-ASCII row must be strz"type of ASCII-only row must be str)	rZOptimizedUnicoderrbr5r6rCr\rU)r	r^ZgermanyZa_rowZd_rowr
r
r�CheckOptimizedUnicodes
z&TextFactoryTests.CheckOptimizedUnicodecCr"rr#r r
r
rr%rzTextFactoryTests.tearDownN)	rrrr!r_rcrerfr%r
r
r
rrX�srXc@rW)�%TextFactoryTestsWithEmbeddedZeroBytescCs*t�d�|_|j�d�|j�dd�dS)Nrzcreate table test (value text)z#insert into test (value) values (?))�ab)rrrr5r r
r
rr!sz+TextFactoryTestsWithEmbeddedZeroBytes.setUpcCs8|j�d���}|�t|d�t�|�|dd�dS)N�select value from testrrh)rr5r6�assertIsr\rUrCr;r
r
rrcsz1TextFactoryTestsWithEmbeddedZeroBytes.CheckStringcC�@t|j_|j�d���}|�t|d�t�|�|dd�dS�Nrir�ab)rarrbr5r6rjr\rCr;r
r
r�
CheckBytes�z0TextFactoryTestsWithEmbeddedZeroBytes.CheckBytescCrkrl)Z	bytearrayrrbr5r6rjr\rCr;r
r
r�CheckBytearray roz4TextFactoryTestsWithEmbeddedZeroBytes.CheckBytearraycCsDdd�|j_|j�d���}|�t|d�t�|�|dd�dS)NcSs|Srr
rdr
r
rr-(r.zCTextFactoryTestsWithEmbeddedZeroBytes.CheckCustom.<locals>.<lambda>rirrm)rrbr5r6rjr\rarCr;r
r
rre&sz1TextFactoryTestsWithEmbeddedZeroBytes.CheckCustomcCr"rr#r r
r
rr%-rz.TextFactoryTestsWithEmbeddedZeroBytes.tearDownN)	rrrr!rcrnrprer%r
r
r
rrgsrgcCs^t�td�}t�td�}t�td�}t�td�}t�td�}t�td�}t�||||||f�S)NZCheck)	�unittestZ	makeSuiterr(r4r9rXrgZ	TestSuite)Zconnection_suiteZcursor_suiteZrow_suite_compatZ	row_suiteZ
text_suiteZtext_zero_bytes_suiter
r
r�suite0srrcCst��}|�t��dSr)rqZTextTestRunnerZrunrr)Zrunnerr
r
r�test9srsZ__main__)rqZsqlite3rZcollections.abcrrrrrrZTestCaserr(r4r9rXrgrrrsrr
r
r
rZ<module>s 
%"