add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
f

��_WWc@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)z^Return a dictionary of values which are invariant by storage
        in the object under test.Z2Zvalue1����)Z1Zkey1Zkey2���selfrr�+/usr/lib64/python3.10/test/mapping_tests.py�
_referencesz#BasicTestMappingProtocol._referencecCs|��S)zReturn an empty mapping object)�	type2testrrrr	�_empty_mappingsz'BasicTestMappingProtocol._empty_mappingcCs&|��}|��D]\}}|||<q|S)zKReturn a mapping object with the value contained in data
        dictionary)r�items)rZdata�x�key�valuerrr	�
_full_mappings
z&BasicTestMappingProtocol._full_mappingcOsftjj|g|�Ri|��|����|_|j��\}}||i|_|j��\}}||i|_||j|<dS�N)	�unittest�TestCase�__init__r
�copy�	reference�popitem�other�	inmapping)r�argsZkwrrrrr	rs

z!BasicTestMappingProtocol.__init__cs���}t|�}���j���|ur(|}�j��D]\}}���||�q2t�j���d���	t
��fdd����t|�d���t��t�j���jD]}��|��q��jD]}��
|��q���||��������|�����|�|�r
��d���s��d��fdd�}|t����t�����j���|t��t�����j���|t����t�����j���|t����t�����j���tt�����\}}tt�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��t|d����t|d��t|�}��t|�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+sJ

���z"BasicTestMappingProtocol.test_readcs�|���|j��D] \�}|��<|���|�q|j��D] ���=|�t��fdd��q>|�����|j�|�t��|j�t	����}|�����|�|�t��|j�|�
|j�}tt|����\�}tt|j
����\}}|�|��|�|�|�|�|�|�|�||�|�|�|||�|�|�|�|�|�||�|�t|j|�d}|||<|�|�||�|�|�||�|�|�||�|�|��\�}|��|�|�||j��|���|�t�j�dS)Ncs��Srrr�rr2rr	rdrz5BasicTestMappingProtocol.test_write.<locals>.<lambda>i�)rrr
r'r(r)r*�updater&r#rr0r$r�
setdefault�popr-r)rrr
rrr4Zdefaultrr6r	�
test_write[sD
z#BasicTestMappingProtocol.test_writecCs|�|��|���dSr)r'rrrrr	�test_constructor��z)BasicTestMappingProtocol.test_constructorcCsJ|�|���|�|j�|�t|���du�|�t|j�du�dS)NFT)r"rr�boolrrrr	�	test_bool�sz"BasicTestMappingProtocol.test_boolcCsr|��}|�t|���g�|j}|�t|j���d|���|�t|j���d|���|�	t
|jd�dS�Nr)rr'r#r(rr,rr-rr)�	TypeError�rrrrr	�	test_keys�sz"BasicTestMappingProtocol.test_keyscC�0|��}|�t|���g�|�t|jd�dSr)rr'r#r/r)r@rArrr	�test_values��z$BasicTestMappingProtocol.test_valuescCrCr)rr'r#r
r)r@rArrr	�
test_items�rEz#BasicTestMappingProtocol.test_itemscCs|��}|�t|�d�dSr?)rr'r+rArrr	�test_len��z!BasicTestMappingProtocol.test_lencCsD|j}|�|t|j���dt|j���d�|�t|j�dSr?)	rr'r#rr(r/r)r@�__getitem__rArrr	�test_getitem�s
�z%BasicTestMappingProtocol.test_getitemcs�|��}|�|j�|�t|���t|j����|��}|��|�||���|��}|�|j���|�t|���t|j����|��}|�|j���|�t|���t|j����|�ttf|jd�|�G�fdd�d�}|�	�|�|��t
|���}t
|j���}|�||�Gdd�dt��|��}G�fdd�d�}|��|j|��|�	�G�fdd�d�}|��|j|��G�fd	d�d�}|��|j|��|��}G�fd
d�dt
�}|��|j|��|�t|jdg�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�
|j��Sr�rr(rrrr	r(�r<zABasicTestMappingProtocol.test_update.<locals>.SimpleUserDict.keyscS�
|j|Sr�r�r�irrr	rI�r<zHBasicTestMappingProtocol.test_update.<locals>.SimpleUserDict.__getitem__N��__name__�
__module__�__qualname__rr(rIrrLrr	�SimpleUserDict�srXc@�eZdZdS)z1BasicTestMappingProtocol.test_update.<locals>.ExcN�rUrVrWrrrr	�Exc�rr[c�eZdZ�fdd�ZdS)�=BasicTestMappingProtocol.test_update.<locals>.FailingUserDictc���dSrrr�r[rr	r(�r<�BBasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keysN)rUrVrWr(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�rSrrrr	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�rUrVrWrr!r rr_rr	�	BogonIter��rmr�rrmr_rr	r(�s
r`cSs|Srr�rrrrr	rI�r<�IBasicTestMappingProtocol.test_update.<locals>.FailingUserDict.__getitem__N�rUrVrWr(rIrr_rr	ra�sc� eZdZdd�Z�fdd�ZdS)r]cSsGdd�d�}|�S)Nc@�$eZdZdd�Zdd�Zdd�ZdS)rdcSstd�|_dS)Nrj)�ordrSrrrr	r�r<rgcSrhrrrrrr	r!�r<ricSs2|jtd�kr*t|j�}|jd7_|St�dS)N�zr)rSruZchrZ
StopIteration)rZrtnrrr	r �s

rkNrlrrrr	rm�rnrmrrorrr	r(�sr`cr^rrrpr_rr	rI�r<rqNrrrr_rr	ra�s
crs)z4BasicTestMappingProtocol.test_update.<locals>.badseqcSrhrrrrrr	r!r<z=BasicTestMappingProtocol.test_update.<locals>.badseq.__iter__c�
���dSrrrr_rr	r r<z=BasicTestMappingProtocol.test_update.<locals>.badseq.__next__N�rUrVrWr!r rr_rr	�badseq�ryr)rr7rr'r#r
r)r@ZAttributeError�clearZsortedr�	Exception�objectZ
ValueError)rrrXZi1Zi2raryr)r[rMr	�test_update�sBz$BasicTestMappingProtocol.test_updatecCs|��}|�|�t|j���d�du�|�|�t|j���dd�d�|j}|�|�t|j���d�du�|�|�t|j���dd�d�|�|�t|j���d�t|j�	��d�|�|�t|j���dd�t|j�	��d�|�
t|j�|�
t|jddd�dS)Nrr)rr"r1r#rr(r'rrr/r)r@rArrr	�test_gets""""��z!BasicTestMappingProtocol.test_getcCs|��}|�t|j�dSr)rr)r@r8rArrr	�test_setdefaultrHz(BasicTestMappingProtocol.test_setdefaultcCs*|��}|�t|j�|�t|jd�dS�NrK)rr)r*rr@rArrr	�test_popitem sz%BasicTestMappingProtocol.test_popitemcCsz|��}t|j���d\}}|||<|�t|jt|j���d�|�	|�|�|�|�	t
|�d�|�t|j|�dSr?)rr#rr
r)r*r9rr(r'r+�rrr3Zvrrr	�test_pop%sz!BasicTestMappingProtocol.test_pop)rUrVrWrr
rrrr5r:r;r>rBrDrFrGrJr~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@t�|�|�|��|��u�|�|jddd�ddd��dS)Nrr�r�y)rr;r"rr'rrrrr	r;2s
z$TestMappingProtocol.test_constructorcCsdt�|�|�|���|�|�ddi��|�t|���du�|�t|�ddi��du�dS)Nrr�FT)rr>r"rrr=rrrr	r>7s

zTestMappingProtocol.test_boolcCsft�|�|��}|�t|���g�|�ddd��}|��}|�d|�|�d|�|�d|�dS)Nrr�rj�brjr��c)	rrBrr'r#r(rr,r-)rrr3rrr	rB>s
zTestMappingProtocol.test_keyscCs2t�|�|�ddi�}|�t|���dg�dS)Nrr)rrDrr'r#r/rArrr	rDHs
zTestMappingProtocol.test_valuescCs2t�|�|�ddi�}|�t|���dg�dS)Nrr�rr)rrFrr'r#r
rArrr	rFMs
zTestMappingProtocol.test_itemscCsv|��}|�d|�|�d|v�|�d|v�|�ddd��}|�d|�|�d|�|�d|�|�t|j�dS)Nrjrrr�r�r�)rr-r"rr,r)r@Z__contains__rArrr	�
test_containsSsz!TestMappingProtocol.test_containscCs.t�|�|�ddd��}|�t|�d�dS)Nrrr�)rrGrr'r+rArrr	rG_s
zTestMappingProtocol.test_lencCs�t�|�|�ddd��}|�|dd�|�|dd�d|d<d|d<|�|dd�|�|dd�|d=|�|ddd	��|�t|j�dS)
Nrrr�rjr�rr��)rjr�)rrJrr'r)r@rIrArrr	rJds
z TestMappingProtocol.test_getitemcCs:|�dddd��}|��|�|i�|�t|jd�dS�Nrrrr)rr{r'r)r@rArrr	�
test_clearrszTestMappingProtocol.test_clearcCs�t�|�|��}|�ddi�|�ddi�|�dddd��|�|dddd��|��|�|dddd��|��}|jdd�|jdd�|jdddd	�|�|dddd	��|��}|�d
dg�|�|ddd��|��}|jd
dgddd�|�|ddd��|�dd
d��}|�|�dd
dd�����|�|dd
d
dd��Gdd�d�}|��|�|��|�|dddd��dS)Nr�dr�rr)r)r�)rr�rv)rr�)r�r�r�r�r�i)rr�)rrrr�c@rt)z7TestMappingProtocol.test_update.<locals>.SimpleUserDictcSsdddd�|_dSr�rQrrrr	r�r<z@TestMappingProtocol.test_update.<locals>.SimpleUserDict.__init__cSrNrrOrrrr	r(�r<z<TestMappingProtocol.test_update.<locals>.SimpleUserDict.keyscSrPrrQrRrrr	rI�r<zCTestMappingProtocol.test_update.<locals>.SimpleUserDict.__getitem__NrTrrrr	rX�rnrX)rr~rr7r'rr
r{)rrrXrrr	r~ys4
zTestMappingProtocol.test_updatec	s
|�|j�d�dddd��|��}|�|�d�|u�|�|�d�dddd��|�|�dd�ddd��|�|�g�i�dd�}|�|�|��ddi�|�tijd�Gd	d
�d
|j�}|�|�d�ddi�|�|��d�ddi�|�|�d�j|u�|�|��d�j|u�|�t|�d��|u�Gdd
�d
|j�}|�d�}|�|ddd��|�	|t
j�|�ttj�Gdd�dt
��G�fdd�d|j�}|��|jdg�G�fdd�dt�}|��|jj|��G�fdd�d|j�}|��|jdg�dS)N�abc)rjr�r�)r�r�rcss
dVdSrerrrrr	�g�r<z,TestMappingProtocol.test_fromkeys.<locals>.grrc@rY)z3TestMappingProtocol.test_fromkeys.<locals>.dictlikeNrZrrrr	�dictlike�rr�rjc@�eZdZdd�ZdS)z1TestMappingProtocol.test_fromkeys.<locals>.mydictcS�t��Sr��collections�UserDict�Zclsrrr	�__new__�r<z9TestMappingProtocol.test_fromkeys.<locals>.mydict.__new__N�rUrVrWr�rrrr	�mydict�rbr��abr�c@rY)z.TestMappingProtocol.test_fromkeys.<locals>.ExcNrZrrrr	r[�rr[cr\)z3TestMappingProtocol.test_fromkeys.<locals>.baddict1crwrr)rrZkwargsr_rr	r�r<z<TestMappingProtocol.test_fromkeys.<locals>.baddict1.__init__N)rUrVrWrrr_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)rUrVrWr�rr_rr	�baddict2�rbr�)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|�dddd��}|�|��dddd��|��}|�|��|�|�|��|j�|�t|jd�dSr�)rr'rrr�r�r)r@rArrr	�	test_copy�szTestMappingProtocol.test_copycCs�t�|�|��}|�|�d�du�|�|�dd�d�|�ddd��}|�|�d�du�|�|�dd�d�|�|�d�d�|�|�dd�d�dS)Nr�rrrr�rj)rrrr"r1r'rrArrr	r�s
zTestMappingProtocol.test_getcCs�t�|�|��}|�|�d�du�|�dg�|�|�d�du�|�dg��d�|�|ddd�|�dg��d�|�t|d�d�dS)NZkey0rrrr�r)rr�rr"r8Zappendr'r+rArrr	r��s
z#TestMappingProtocol.test_setdefaultc
Cs�t�|�dD]�}td�D]�}d|}|��}|��}t|�D]$}||t|�<|dkr>||t|�<q>|dkrt|��}t|�D]\}|��\}}}	|�|t|��|��\}
}}|�|t|
��|�	|dko�|	|k�q||�	|�|�	|�qqdS)N)i����rirr)
rr��ranger�reprrrr'Zintr")
rZcopymodeZlog2sizeZsizerjr�rSZkaZvaZtaZkbZvbZtbrrr	r��s(
z TestMappingProtocol.test_popitemcCsNt�|�|��}d\}}|�|�||�|�|||<|�|�|d�|�dS)N)r�Zdefr)rr�rr'r9r�rrr	r�s
zTestMappingProtocol.test_popN)rUrVrWr;r>rBrDrFr�rGrJr�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�t�|�Gdd�dt��G�fdd�dt�}|��}d||�<|�t|jd�G�fdd�dt�}|��}|�}d||<d	|_|��|j|�dS)
Nc@rY)z1TestHashMappingProtocol.test_getitem.<locals>.ExcNrZrrrr	r[rr[crc)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�rUrVrWr�r�rr_rr	�BadEq�r�rKic�eZdZdZ�fdd�ZdS)z5TestHashMappingProtocol.test_getitem.<locals>.BadHashFc�|jr���ndSdSr��r.rr_rr	r�*�z>TestHashMappingProtocol.test_getitem.<locals>.BadHash.__hash__N�rUrVrWr.r�rr_rr	�BadHash(�r�T)	r�rJr|r}rr)r*rIr.)rr�rr�rrr_r	rJs

z$TestHashMappingProtocol.test_getitemcCsJt�|�Gdd�d|j�}|�d�}|�|ddd��|�|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�rr�r'r�r�r�)rr�r�rrr	r�6s


z%TestHashMappingProtocol.test_fromkeyscs^t�|�Gdd�dt��G�fdd�dt�}|��}|�}d||<d|_|��|j|�dS)Nc@rY)z-TestHashMappingProtocol.test_pop.<locals>.ExcNrZrrrr	r[Brr[cr�)z1TestHashMappingProtocol.test_pop.<locals>.BadHashFcr�r�r�rr_rr	r�Fr�z:TestHashMappingProtocol.test_pop.<locals>.BadHash.__hash__Nr�rr_rr	r�Dr�r�rKT)r�r�r|r}rr.r)r9�rr�rrrr_r	r�?�
z TestHashMappingProtocol.test_popcCs`|��}d|d<z8d}|D]*}d||d<|dkr<|�d�|d7}qWntyZYn0dS)Nrrz7changing dict size during iteration doesn't raise Error)rr.ZRuntimeError)rrZcountrSrrr	�test_mutatingiterationRs
z.TestHashMappingProtocol.test_mutatingiterationcs�|��}|�t|�d�d|d<|�t|�d�|��}||d<|�t|�d�Gdd�dt��G�fdd	�d	t�}|�d|�i�}|��t|�dS)
Nz{}rrz{1: 2}z
{1: {...}}c@rY)z.TestHashMappingProtocol.test_repr.<locals>.ExcNrZrrrr	r[hrr[cr\)z2TestHashMappingProtocol.test_repr.<locals>.BadReprcrwrrrr_rr	�__repr__kr<z;TestHashMappingProtocol.test_repr.<locals>.BadRepr.__repr__N)rUrVrWr�rr_rr	�BadReprjrbr�)rr'r�r|r}rr))rrr�rr_r	�	test_repr_sz!TestHashMappingProtocol.test_reprcCsD|��}tt��d�D]}|}|��}||d<q|�tt|�dS)Nr�r)rr��sysZgetrecursionlimitr)ZRecursionErrorr�)rrrSZd0rrr	�test_repr_deepqs
z&TestHashMappingProtocol.test_repr_deepcs�|�|��|���|�|�ddi�|�ddi��Gdd�dt��G�fdd�dt��|���di��|�ddi��|���fdd��|����fd	d��dS)
Nrrc@rY)z,TestHashMappingProtocol.test_eq.<locals>.ExcNrZrrrr	r[~rr[crc)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�r[r�r�r	�test_eqys�zTestHashMappingProtocol.test_eqcs`t�|�Gdd�dt��G�fdd�dt�}|��}|�}d||<d|_|��|j|g�dS)Nc@rY)z4TestHashMappingProtocol.test_setdefault.<locals>.ExcNrZrrrr	r[�rr[cr�)z8TestHashMappingProtocol.test_setdefault.<locals>.BadHashFcr�r�r�rr_rr	r��r�zATestHashMappingProtocol.test_setdefault.<locals>.BadHash.__hash__Nr�rr_rr	r��r�r�rKT)r�r�r|r}rr.r)r8r�rr_r	r��r�z'TestHashMappingProtocol.test_setdefaultN)rUrVrWrJr�r�r�r�r�r�r�rrrr	r�s	
r�)rr�r�rrr�r�rrrr	Z<module>s,h