add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
3

�
�^�Vc@sNddlZddlZddlZGdd�dej�ZGdd�de�ZGdd�de�ZdS)�Nc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�ZdS)&�BasicTestMappingProtocolNcCsdddd�S)NZ2Zvalue1���)Z1Zkey1Zkey2�rrr���selfrr�*/usr/lib64/python3.6/test/mapping_tests.py�
_referencesz#BasicTestMappingProtocol._referencecCs|j�S�N)�	type2testrrrr	�_empty_mappingsz'BasicTestMappingProtocol._empty_mappingcCs*|j�}x|j�D]\}}|||<qW|Sr)r
�items)rZdata�x�key�valuerrr	�
_full_mappingsz&BasicTestMappingProtocol._full_mappingcOs`tjj|f|�|�|j�j�|_|jj�\}}||i|_|jj�\}}||i|_||j|<dSr)	�unittest�TestCase�__init__r
�copy�	reference�popitem�other�	inmapping)rZargsZkwrrrrr	rs

z!BasicTestMappingProtocol.__init__cs�j�}t|�}�j�j���|kr(|}x&�jj�D]\}}�j�||�q4Wt�jj��d��j	t
��fdd���jt|�d��jt��t�j��x�jD]}�j|��q�Wx�jD]}�j
|��q�W�j||��j����j|���j�|�|�r�jd���s&�jd��fdd�}|t�j��t�j���jj��|t��t�j���jj��|t�j��t�j���jj��|t�j��t�j���jj��tt�j���\}}tt�jj���\�}�j�j||�|��j�j�|�|��j
���dS)Nrcs��Srrr)�d�knownkeyrr	�<lambda>6�z4BasicTestMappingProtocol.test_read.<locals>.<lambda>z#Empty mapping must compare to Falsez!Full mapping must compare to TruecsV�jt|d���jt|d��t|�}�jt|�t|�koJt|�kn�dS)N�__next__�__iter__)�
assertTrueZhasattr�listZset)�iterZlstZrefrrrr	�check_iterandlistHsz=BasicTestMappingProtocol.test_read.<locals>.check_iterandlist)r
�dictrrr�assertEqualr"r�keys�assertRaises�KeyError�len�assertIn�assertNotInZassertNotEqual�failr#�values�next�get)r�pZp1rr�kr$�
knownvaluer)rrrr	�	test_read+sH

z"BasicTestMappingProtocol.test_readcs�|j��x.|jj�D] \�}|��<|j��|�qWx.|jj�D] ���=|jt��fdd��qDW|j���j|j�|jt��|j�t	�j��}|j���j|�|jt��|j�|j
|j�}tt|j���\�}tt|j
j���\}}|j|j�|�|�|j|�|�|j|j||�|�|j|||�|j|j|�|�|j||�|jt|j|�d}|||<|j|j||�|�|j||�|j|j||�|�|j�\�}|j�|�|j||j��|j��|jt�j�dS)Ncs��Srrr�rr1rr	rdrz5BasicTestMappingProtocol.test_write.<locals>.<lambda>i�)r
rrr&r'r(r)�updater%r"rr/r#r�
setdefault�popr,r)rrrrrr3Zdefaultrr5r	�
test_write[sD
z#BasicTestMappingProtocol.test_writecCs|j|j�|j��dSr)r&r
rrrr	�test_constructor��z)BasicTestMappingProtocol.test_constructorcCsJ|j|j��|j|j�|jt|j��dk�|jt|j�dk�dS)NFT)r!r
r�boolrrrr	�	test_bool�sz"BasicTestMappingProtocol.test_boolcCsr|j�}|jt|j��g�|j}|jt|jj��d|j��|jt|jj��d|j��|j	t
|jd�dS�Nr)r
r&r"r'rr+rr,rr(�	TypeError�rrrrr	�	test_keys�sz"BasicTestMappingProtocol.test_keyscC�0|j�}|jt|j��g�|jt|jd�dSr)r
r&r"r.r(r?r@rrr	�test_values��z$BasicTestMappingProtocol.test_valuescCrBr)r
r&r"rr(r?r@rrr	�
test_items�rDz#BasicTestMappingProtocol.test_itemscCs|j�}|jt|�d�dSr>)r
r&r*r@rrr	�test_len��z!BasicTestMappingProtocol.test_lencCsD|j}|j|t|jj��dt|jj��d�|jt|j�dSr>)	rr&r"rr'r.r(r?�__getitem__r@rrr	�test_getitem�sz%BasicTestMappingProtocol.test_getitemcs�|j�}|j|j�|jt|j��t|jj���|j�}|j�|j||j��|j�}|j|jj��|jt|j��t|jj���|j�}|j|jj��|jt|j��t|jj���|jttf|jd�|�G�fdd�d�}|j	�|j|��t
|j��}t
|jj��}|j||�Gdd�dt��|j�}G�fdd�d�}|j�|j|��|j	�G�fdd�d�}|j�|j|��G�fd	d�d�}|j�|j|��|j�}G�fd
d�dt
�}|j�|j|��|jt|jdg�dS)N�*cs(eZdZ�fdd�Zdd�Zdd�ZdS)z<BasicTestMappingProtocol.test_update.<locals>.SimpleUserDictcs�j|_dSr)rrr��	outerselfrr	r�r;zEBasicTestMappingProtocol.test_update.<locals>.SimpleUserDict.__init__cS�
|jj�Sr�rr'rrrr	r'�r;zABasicTestMappingProtocol.test_update.<locals>.SimpleUserDict.keyscS�
|j|Sr�r�r�irrr	rH�r;zHBasicTestMappingProtocol.test_update.<locals>.SimpleUserDict.__getitem__N��__name__�
__module__�__qualname__rr'rHrrKrr	�SimpleUserDict�srWc@�eZdZdS)z1BasicTestMappingProtocol.test_update.<locals>.ExcN�rTrUrVrrrr	�Exc��rZc�eZdZ�fdd�ZdS)�=BasicTestMappingProtocol.test_update.<locals>.FailingUserDictc���dSrrr�rZrr	r'�r;�BBasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keysN)rTrUrVr'rr_rr	�FailingUserDict��rac� eZdZ�fdd�Zdd�ZdS)r]csG�fdd�d�}|�S)Ncs(eZdZdd�Zdd�Z�fdd�ZdS)�UBasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keys.<locals>.BogonItercSs
d|_dS�Nr�rRrrrr	r�r;�^BasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__cS�|Srrrrrr	r �r;�^BasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__cs|jrd|_dS��dS)Nr�arfrr_rr	r�s�^BasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__N�rTrUrVrr rrr_rr	�	BogonIter��rmr�rrmr_rr	r'�s
r`cSs|Srr�rrrrr	rH�r;�IBasicTestMappingProtocol.test_update.<locals>.FailingUserDict.__getitem__N�rTrUrVr'rHrr_rr	ra�sc� eZdZdd�Z�fdd�ZdS)r]cSsGdd�d�}|�S)Nc@�$eZdZdd�Zdd�Zdd�ZdS)rdcSstd�|_dS)Nrj)�ordrRrrrr	r�r;rgcSrhrrrrrr	r �r;ricSs2|jtd�kr*t|j�}|jd7_|St�dS)N�zr)rRruZchrZ
StopIteration)rZrtnrrr	r�s

rkNrlrrrr	rm�rnrmrrorrr	r'�sr`cr^rrrpr_rr	rH�r;rqNrrrr_rr	ra�s
crs)z4BasicTestMappingProtocol.test_update.<locals>.badseqcSrhrrrrrr	r r;z=BasicTestMappingProtocol.test_update.<locals>.badseq.__iter__c�
���dSrrrr_rr	rr;z=BasicTestMappingProtocol.test_update.<locals>.badseq.__next__N�rTrUrVr rrr_rr	�badseq�ryrrrr)r
r6rr&r"rr(r?ZAttributeError�clearZsortedr�	Exception�objectZ
ValueError)rrrWZi1Zi2raryr)rZrLr	�test_update�sBz$BasicTestMappingProtocol.test_updatecCs|j�}|j|jt|jj��d�dk�|j|jt|jj��dd�d�|j}|j|jt|jj��d�dk�|j|jt|jj��dd�d�|j|jt|jj��d�t|jj	��d�|j|jt|jj��dd�t|jj	��d�|j
t|j�|j
t|jddd�dS)Nrr)r
r!r0r"rr'r&rrr.r(r?r@rrr	�test_gets""""z!BasicTestMappingProtocol.test_getcCs|j�}|jt|j�dSr)r
r(r?r7r@rrr	�test_setdefaultrGz(BasicTestMappingProtocol.test_setdefaultcCs*|j�}|jt|j�|jt|jd�dS�NrJ)r
r(r)rr?r@rrr	�test_popitem sz%BasicTestMappingProtocol.test_popitemcCsz|j�}t|jj��d\}}|||<|jt|jt|jj��d�|j	|j|�|�|j	t
|�d�|jt|j|�dSr>)r
r"rrr(r)r8rr'r&r*�rrr2Zvrrr	�test_pop%sz!BasicTestMappingProtocol.test_pop)rTrUrVrr
r
rrr4r9r:r=rArCrErFrIr~rr�r�r�rrrr	rs&
0*arc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!S)"�TestMappingProtocolcCs@tj|�|j|j�|j�k	�|j|jddd�ddd��dS)Nrr�r�y)rr:r!r
r&rrrrr	r:2s
z$TestMappingProtocol.test_constructorcCsdtj|�|j|j��|j|jddi��|jt|j��dk�|jt|jddi��dk�dS)Nrr�FT)rr=r!r
rr<rrrr	r=7s

zTestMappingProtocol.test_boolcCsftj|�|j�}|jt|j��g�|jddd��}|j�}|jd|�|jd|�|jd|�dS)Nrr�rj�brjr��c)	rrAr
r&r"r'rr+r,)rrr2rrr	rA>s
zTestMappingProtocol.test_keyscCs2tj|�|jddi�}|jt|j��dg�dS)Nrr)rrCrr&r"r.r@rrr	rCHs
zTestMappingProtocol.test_valuescCs2tj|�|jddi�}|jt|j��dg�dS)Nrr�rr)rrErr&r"rr@rrr	rEMs
zTestMappingProtocol.test_itemscCsv|j�}|jd|�|jd|k�|jd|k�|jddd��}|jd|�|jd|�|jd|�|jt|j�dS)Nrjrrr�r�r�)r
r,r!rr+r(r?Z__contains__r@rrr	�
test_containsSsz!TestMappingProtocol.test_containscCs.tj|�|jddd��}|jt|�d�dS)Nrrr�)rrFrr&r*r@rrr	rF_s
zTestMappingProtocol.test_lencCs�tj|�|jddd��}|j|dd�|j|dd�d|d<d|d<|j|dd�|j|dd�|d=|j|ddd	��|jt|j�dS)
Nrrr�rjr�rr��)rjr�)rrIrr&r(r?rHr@rrr	rIds
z TestMappingProtocol.test_getitemcCs:|jdddd��}|j�|j|i�|jt|jd�dS�Nrrrr)rr{r&r(r?r@rrr	�
test_clearrszTestMappingProtocol.test_clearcCs�tj|�|j�}|jddi�|jddi�|jdddd��|j|dddd��|j�|j|dddd��|j�}|jdd�|jdd�|jdddd	�|j|dddd	��|j�}|jddg�|j|ddd��|j�}|jddgddd�|j|ddd��|jdd
d��}|j|jdd
dd��j��|j|dd
d
dd��Gdd�d�}|j�|j|��|j|dddd��dS)Nr�dr�rr)r)r�)rr�rvrr�r�r�r�i)rr�)rrrr�c@rt)z7TestMappingProtocol.test_update.<locals>.SimpleUserDictcSsdddd�|_dSr�rPrrrr	r�r;z@TestMappingProtocol.test_update.<locals>.SimpleUserDict.__init__cSrMrrNrrrr	r'�r;z<TestMappingProtocol.test_update.<locals>.SimpleUserDict.keyscSrOrrPrQrrr	rH�r;zCTestMappingProtocol.test_update.<locals>.SimpleUserDict.__getitem__NrSrrrr	rW�rnrW�rr��r�r�r�r�)rr~r
r6r&rrr{)rrrWrrr	r~ys4
zTestMappingProtocol.test_updatec	s
|j|jjd�dddd��|j�}|j|jd�|k	�|j|jd�dddd��|j|jdd�ddd��|j|jg�i�dd�}|j|j|��d	di�|jtijd
�Gdd�d|j�}|j|jd
�d
di�|j|�jd
�d
di�|j|jd
�j|k�|j|�jd
�j|k�|jt|jd
��|k�Gdd�d|j�}|jd�}|j|ddd��|j	|t
j�|jttj�Gdd�dt
��G�fdd�d|j�}|j�|jd	g�G�fdd�dt�}|j�|jj|��G�fdd�d|j�}|j�|jd	g�dS)N�abc)rjr�r�r�r�r�r�r�css
dVdSrerrrrr	�g�r;z,TestMappingProtocol.test_fromkeys.<locals>.grrc@rX)z3TestMappingProtocol.test_fromkeys.<locals>.dictlikeNrYrrrr	�dictlike�r[r�rjc@�eZdZdd�ZdS)z1TestMappingProtocol.test_fromkeys.<locals>.mydictcS�tj�Sr��collections�UserDict�Zclsrrr	�__new__�r;z9TestMappingProtocol.test_fromkeys.<locals>.mydict.__new__N�rTrUrVr�rrrr	�mydict�rbr��abr�c@rX)z.TestMappingProtocol.test_fromkeys.<locals>.ExcNrYrrrr	rZ�r[rZcr\)z3TestMappingProtocol.test_fromkeys.<locals>.baddict1crwrrrr_rr	r�r;z<TestMappingProtocol.test_fromkeys.<locals>.baddict1.__init__N)rTrUrVrrr_rr	�baddict1�rbr�crs)z1TestMappingProtocol.test_fromkeys.<locals>.BadSeqcSrhrrrrrr	r �r;z:TestMappingProtocol.test_fromkeys.<locals>.BadSeq.__iter__crwrrrr_rr	r�r;z:TestMappingProtocol.test_fromkeys.<locals>.BadSeq.__next__Nrxrr_rr	�BadSeq�rzr�cr\)z3TestMappingProtocol.test_fromkeys.<locals>.baddict2crwrr)rrrr_rr	�__setitem__�r;z?TestMappingProtocol.test_fromkeys.<locals>.baddict2.__setitem__N)rTrUrVr�rr_rr	�baddict2�rbr�r�)r&r�fromkeysr
r!r(r?�	__class__Ztype�assertIsInstancer�r�r%r|r})	rrr�r�r��udr�r�r�rr_r	�
test_fromkeys�s6
z!TestMappingProtocol.test_fromkeyscCsh|jdddd��}|j|j�dddd��|j�}|j|j�|�|j|j�|j�|jt|jd�dSr�)rr&rr
r�r�r(r?r@rrr	�	test_copy�szTestMappingProtocol.test_copycCs�tj|�|j�}|j|jd�dk�|j|jdd�d�|jddd��}|j|jd�dk�|j|jdd�d�|j|jd�d�|j|jdd�d�dS)Nr�rrrr�rj)rrr
r!r0r&rr@rrr	r�s
zTestMappingProtocol.test_getcCs�tj|�|j�}|j|jd�dk�|jdg�|j|jd�dk�|jdg�jd�|j|ddd�|jdg�jd�|jt|d�d�dS)NZkey0rrrr�r)rr�r
r!r7Zappendr&r*r@rrr	r��s
z#TestMappingProtocol.test_setdefaultc
Cstj|��x�dD]�}x�td�D]�}d|}|j�}|j�}x0t|�D]$}||t|�<|dkrF||t|�<qFW|dkr~|j�}xht|�D]\}|j�\}}}	|j|t|��|j�\}
}}|j|t|
��|j	|dko�|	|k�q�W|j	|�|j	|�q WqWdS)Nrirr�����r)r�r)
rr��ranger
�reprrrr&Zintr!)
rZcopymodeZlog2sizeZsizerjr�rRZkaZvaZtaZkbZvbZtbrrr	r��s(
z TestMappingProtocol.test_popitemcCsNtj|�|j�}d\}}|j|j||�|�|||<|j|j|d�|�dS)Nr��defr)r�r�)rr�r
r&r8r�rrr	r�s
zTestMappingProtocol.test_popN)rTrUrVr:r=rArCrEr�rFrIr�r~r�r�rr�r�r�rrrr	r�1s 
./r�c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�TestHashMappingProtocolcs�tj|�Gdd�dt��G�fdd�dt�}|j�}d||�<|jt|jd�G�fdd�dt�}|j�}|�}d||<d	|_|j�|j|�dS)
Nc@rX)z1TestHashMappingProtocol.test_getitem.<locals>.ExcNrYrrrr	rZr[rZcrc)z3TestHashMappingProtocol.test_getitem.<locals>.BadEqcrwrr�rrr_rr	�__eq__r;z:TestHashMappingProtocol.test_getitem.<locals>.BadEq.__eq__cS�dS)Nirrrrr	�__hash__!r;z<TestHashMappingProtocol.test_getitem.<locals>.BadEq.__hash__N�rTrUrVr�r�rr_rr	�BadEq�r�rJic�eZdZdZ�fdd�ZdS)z5TestHashMappingProtocol.test_getitem.<locals>.BadHashFc�|jr���ndSdSr��r-rr_rr	r�*�z>TestHashMappingProtocol.test_getitem.<locals>.BadHash.__hash__N�rTrUrVr-r�rr_rr	�BadHash(�r�T)	r�rIr|r}r
r(r)rHr-)rr�rr�rrr_r	rIs

z$TestHashMappingProtocol.test_getitemcCsJtj|�Gdd�d|j�}|jd�}|j|ddd��|j|tj�dS)Nc@r�)z5TestHashMappingProtocol.test_fromkeys.<locals>.mydictcSr�rr�r�rrr	r�9r;z=TestHashMappingProtocol.test_fromkeys.<locals>.mydict.__new__Nr�rrrr	r�8rbr�r�r�)r�r�rr�r&r�r�r�)rr�r�rrr	r�6s


z%TestHashMappingProtocol.test_fromkeyscs^tj|�Gdd�dt��G�fdd�dt�}|j�}|�}d||<d|_|j�|j|�dS)Nc@rX)z-TestHashMappingProtocol.test_pop.<locals>.ExcNrYrrrr	rZBr[rZcr�)z1TestHashMappingProtocol.test_pop.<locals>.BadHashFcr�r�r�rr_rr	r�Fr�z:TestHashMappingProtocol.test_pop.<locals>.BadHash.__hash__Nr�rr_rr	r�Dr�r�rJT)r�r�r|r}r
r-r(r8�rr�rrrr_r	r�?�
z TestHashMappingProtocol.test_popcCsR|j�}d|d<yx|D]}d||d<qWWntk
rBYnX|jd�dS)Nrz7changing dict size during iteration doesn't raise Error)r
ZRuntimeErrorr-)rrrRrrr	�test_mutatingiterationRs
z.TestHashMappingProtocol.test_mutatingiterationcs�|j�}|jt|�d�d|d<|jt|�d�|j�}||d<|jt|�d�Gdd�dt��G�fdd	�d	t�}|jd|�i�}|j�t|�dS)
Nz{}rrz{1: 2}z
{1: {...}}c@rX)z.TestHashMappingProtocol.test_repr.<locals>.ExcNrYrrrr	rZfr[rZcr\)z2TestHashMappingProtocol.test_repr.<locals>.BadReprcrwrrrr_rr	�__repr__ir;z;TestHashMappingProtocol.test_repr.<locals>.BadRepr.__repr__N)rTrUrVr�rr_rr	�BadReprhrbr�)r
r&r�r|r}rr()rrr�rr_r	�	test_repr]sz!TestHashMappingProtocol.test_reprcCsH|j�}x,ttj�d�D]}|}|j�}||d<qW|jtt|�dS)Nr�r)r
r��sysZgetrecursionlimitr(ZRecursionErrorr�)rrrRZd0rrr	�test_repr_deeposz&TestHashMappingProtocol.test_repr_deepcs�|j|j�|j��|j|jddi�|jddi��Gdd�dt��G�fdd�dt��|j��di��|jddi��|j��fdd��|j���fd	d��dS)
Nrrc@rX)z,TestHashMappingProtocol.test_eq.<locals>.ExcNrYrrrr	rZ|r[rZcrc)z/TestHashMappingProtocol.test_eq.<locals>.BadCmpcrwrrr�r_rr	r�r;z6TestHashMappingProtocol.test_eq.<locals>.BadCmp.__eq__cSr�rerrrrr	r��r;z8TestHashMappingProtocol.test_eq.<locals>.BadCmp.__hash__Nr�rr_rr	�BadCmp~r�r�cs
��dkSrerr)r�rr	r�rz1TestHashMappingProtocol.test_eq.<locals>.<lambda>cs��kSrrr)�d1�d2rr	r�r)r&r
rr|r}r(rr)r�rZr�r�r	�test_eqwszTestHashMappingProtocol.test_eqcs`tj|�Gdd�dt��G�fdd�dt�}|j�}|�}d||<d|_|j�|j|g�dS)Nc@rX)z4TestHashMappingProtocol.test_setdefault.<locals>.ExcNrYrrrr	rZ�r[rZcr�)z8TestHashMappingProtocol.test_setdefault.<locals>.BadHashFcr�r�r�rr_rr	r��r�zATestHashMappingProtocol.test_setdefault.<locals>.BadHash.__hash__Nr�rr_rr	r��r�r�rJT)r�r�r|r}r
r-r(r7r�rr_r	r��r�z'TestHashMappingProtocol.test_setdefaultN)rTrUrVrIr�r�r�r�r�r�r�rrrr	r�s	r�)rr�r�rrr�r�rrrr	Z<module>s,h