add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
B

��^v<c@sdZddlZddlZddlZddlZddlZddlZddlmZm	Z	ddl
mZddl
m
Z
ddl
mZdd�ZGd	d
�d
ej�Zdd�ZGd
d�dej�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�de�ZGdd�d�ZGdd�dej�Zedk�re��dS)z3
  Test cases for the repr module
  Nick Mathewson
�N)�create_empty_file�verbose)�repr)�Repr)�recursive_reprcCs d}xt|�D]
}|f}qW|S)N�)�range)ZnestingZt�irr�)/usr/lib64/python3.7/test/test_reprlib.py�nestedTuples
r
c@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�	ReprTestscCs�|j}|td�d�|td�d�d}t|�dd�dt|�dd�}|t|�|�|td	�td	��d
}t|�dd�dt|�dd�}|t|�|�dS)NZabcz'abc'Zabcdefghijklmnopz'abcdefghijklmnop'Z<aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbb�
�...�����z"'z�""""""""""""""""""""""""""""""''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''��assertEqual�rr)�self�eq�s�expectedrrr	�test_strings$$zReprTests.test_stringcCsZ|j}|td�d�d}|t|�d�t�}d|_t|�dd�d}||�|�|�dS)N���(1,)�r���	(1, 2, 3)ri����z...))rrrZmaxtupler)rrZt3Zr2rrrr	�
test_tuple)szReprTests.test_tuplec
Cs�ddlm}ddlm}|j}|td�d�|td�d�|td�d	�|td
�d�|td�d
�|tg�d�|tdg�d�|tdddg�d�|tddddddg�d�|tdddddddg�d�|ttg��d�|ttdg��d�|ttdddg��d�|ttddddddg��d�|ttdddddddg��d�|ttg��d�|ttdg��d �|ttdddg��d!�|ttddddddg��d"�|ttdddddddg��d#�|t|dddddddg��d$�|ti�d%�ddddd&�}|t|�d'�d|d(<|t|�d)�|t|d*��d+�|t|d*dg��d,�|t|d*ddg��d-�|t|d*dddg��d.�|t|d*ddddg��d/�|t|d*dddddg��d0�|t|d*ddddddg��d1�dS)2Nr)�array)�dequerz()rrrr)rrr���z(1, 2, 3, 4, 5, 6))rrrr!r"r#�z(1, 2, 3, 4, 5, 6, ...)z[]rz[1]rrz	[1, 2, 3]r!r"r#z[1, 2, 3, 4, 5, 6]r$z[1, 2, 3, 4, 5, 6, ...]zset()�{1}�	{1, 2, 3}�{1, 2, 3, 4, 5, 6}�{1, 2, 3, 4, 5, 6, ...}zfrozenset()�frozenset({1})�frozenset({1, 2, 3})�frozenset({1, 2, 3, 4, 5, 6})�"frozenset({1, 2, 3, 4, 5, 6, ...})zdeque([1, 2, 3, 4, 5, 6, ...])z{})ZaliceZbobZcharlesZdavez/{'alice': 1, 'bob': 2, 'charles': 3, 'dave': 4}Zarthurz6{'alice': 1, 'arthur': 1, 'bob': 2, 'charles': 3, ...}rz
array('i')zarray('i', [1])zarray('i', [1, 2])zarray('i', [1, 2, 3])zarray('i', [1, 2, 3, 4])zarray('i', [1, 2, 3, 4, 5])z array('i', [1, 2, 3, 4, 5, ...]))rZcollectionsr rr�set�	frozenset)rrr rZdrrr	�test_container5sJ   zReprTests.test_containerc	Csd|j}|tdh�d�|tdddh�d�|tddddddh�d	�|tddddddd
h�d�dS)Nrr%rrr&r!r"r#r'r$r()rr�rrrrr	�test_set_literaljs
zReprTests.test_set_literalc
Cst|j}|ttdh��d�|ttdddh��d�|ttddddddh��d	�|ttddddddd
h��d�dS)Nrr)rrr*r!r"r#r+r$r,)rrr.r0rrr	�test_frozensetqs
zReprTests.test_frozensetcCsz|j}|td�td��|td�td��|td�td��dd}t|�dd�dt|�dd�}|t|�|�dS)Ni{gUUUUUU�?i
idir
i����r)rrZnrrrr	�test_numbersxs$zReprTests.test_numberscCs�|j}td�}|t|�t|��td�}t|�dd�dt|�dd�}|t|�|�t�}|t|�dt|��tt�}|�|�d��|�|�d��|�	|�
d�d	dg�dS)
NZaA�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrr
rz&<ClassWithFailingRepr instance at %#x>z<class �>i)r�
ClassWithReprrr�ClassWithFailingReprZid�
assertTrue�
startswithZendswithZassertInZfind)rrZi1Zi2rZi3rrrr	�
test_instance�s$zReprTests.test_instancecCs"tdd��}|�|�d�|�dS)NcSs|S�Nr��xrrr	Z<lambda>��z'ReprTests.test_lambda.<locals>.<lambda>z0<function ReprTests.test_lambda.<locals>.<lambda)rr7r8)rrrrr	�test_lambda�szReprTests.test_lambdacCs.|j}|tt�d�|�tdj��d��dS)Nz<built-in function hash>Zz*<built-in method split of str object at 0x)rrZhashr7Zsplitr8r0rrr	�test_builtin_function�szReprTests.test_builtin_functioncCsF|j}|ttd��d�|ttdd��d�|ttddd��d�dS)Nrzrange(0, 1)rzrange(1, 2)r!rzrange(1, 4, 3))rrrr0rrr	�
test_range�szReprTests.test_rangecCs�|j}|tggggggg�d�|tgggggggg�d�|ttd��d�|ttd��d�|ttd�td�i�d�|ttd�td�i�d	�|tigggggg�d
�|tiggggggg�d�dS)Nz[[[[[[[]]]]]]]z[[[[[[[...]]]]]]]r#z(((((((),),),),),),)r$z(((((((...),),),),),),)r"z&{((((((),),),),),): ((((((),),),),),)}z,{((((((...),),),),),): ((((((...),),),),),)}z[[[[[[{}]]]]]])rrr
r0rrr	�test_nesting�szReprTests.test_nestingcCs8dd�}|�jd}|�t|�d�|�t|�d�dS)Ncsd��fdd�}|S)Ni*cs�Sr:rrr;rr	�inner��z4ReprTests.test_cell.<locals>.get_cell.<locals>.innerr)rBrr;r	�get_cell�sz%ReprTests.test_cell.<locals>.get_cellrz6<cell at 0x[0-9A-Fa-f]+: int object at 0x[0-9A-Fa-f]+>z<cell at 0x.*\.\.\..*>)Z__closure__ZassertRegexrr)rrDr<rrr	�	test_cell�szReprTests.test_cellcCsd|j}|ttj�d�Gdd�d�}t|j�}|�t|��d��t|j�}|�t|��d��dS)Nz"<method 'items' of 'dict' objects>c@�eZdZdd�ZdS)z%ReprTests.test_descriptors.<locals>.CcS�dSr:r)Zclsrrr	�foo�r=z)ReprTests.test_descriptors.<locals>.C.fooN)�__name__�
__module__�__qualname__rHrrrr	�C��rLz<staticmethod object at 0xz<classmethod object at 0x)	rrZdictZitemsZstaticmethodrHr7r8Zclassmethod)rrrLr<rrr	�test_descriptors�s

zReprTests.test_descriptorscCs<tdddg�}t|�}ddd�}t|�t|�t|�dS)N��?�@y@rr)rOrP)r-r.r)rr<ZyZzrrr	�test_unsortable�s
zReprTests.test_unsortableN)rIrJrKrrr/r1r2r3r9r>r?r@rArErNrQrrrr	rs5
rc	Cs(t|ddd��}|�|�WdQRXdS)NZwZASCII)Zencoding)ZopenZwrite)�pathZtextZfprrr	�
write_file�srSc@steZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Ze	�
d�d
d��Zdd�Zdd�Z
dd�Ze	�
d�dd��ZdS)�LongReprTest�3areallylongpackageandmodulenametotestreprtruncationcCs�tj�|j�|_tj�|j|j�|_tj|jdd�t�|j�t	tj�|jd��tj|jdd�t�|j�t	tj�|jd��t�
�|_tj�
d|j�t��dS)NT)Z
ignore_errorsz__init__.pyr)�osrR�join�longname�pkgname�
subpkgname�shutilZrmtreeZmkdirrZgetcwd�here�sysZinsert�	importlib�invalidate_caches�rrrr	�setUp�s
zLongReprTest.setUpcCs�g}x@t�|j�D]0\}}}x$||D]}|�tj�||��q&WqW|�|j�|��|��x.|D]&}tj�|�r�t�	|�qht�
|�qhWtjd=dS)Nr)rVZwalkrY�appendrRrWZsortZreverseZisdirZrmdirZremover])rZactionsZdirpathZdirnamesZ	filenames�nameZprrr	�tearDown�s
zLongReprTest.tearDowncCs�t|j�}|dt|j�d7}|t|�dtd�7}|ttj�d��td�}tjdkrv|dkrv|�d|�ntjdkr�t	r�t
d|�dS)	Nrr�.pyzx.pyZntizDtest paths too long (%d characters) for Windows' 260 character limitzcached_path_len =)Zlenr\rXr^ZutilZcache_from_sourcerVrcZskipTestrZprint)rZmodule_nameZsource_path_lenZcached_path_lenrrr	�_check_path_limitationss

z$LongReprTest._check_path_limitationscCstd|_|�|j�ttj�|j|jd��t�	�ddl
m}|}|�t
|�d|j|jf�|�t
t�d�dS)Nrer)rUz<module %r from %r>z<module 'sys' (built-in)>)ZmaxDiffrfrYrrVrRrWrZr^r_�gareallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncationrUrrrIZ__file__r])rrUZmodulerrr	�test_moduleszLongReprTest.test_modulecCsT|�d�|j}ttj�|jd�d�t��ddl	m
}|t|j
�d|j�dS)NrHzfoo.pyzclass foo(object):
    pass
r)rHz<class '%s.foo'>)
rfrrSrVrRrWrZr^r_rgrHrrI)rrrHrrr	�	test_types

zLongReprTest.test_typezneed a suitable objectcCrGr:rr`rrr	�test_object*szLongReprTest.test_objectcCsP|�d�ttj�|jd�d�t��ddlm	}|�
t|j	�d|j�dS)N�barzbar.pyzclass bar:
    pass
r)rkz<class '%s.bar'>)
rfrSrVrRrWrZr^r_rgrkrrrI)rrkrrr	�
test_class0s
zLongReprTest.test_classcCsZ|�d�ttj�|jd�d�t��ddlm	}|�	�}|�
t|��d|j
��dS)N�bazzbaz.pyzclass baz:
    pass
r)rmz<%s.baz object at 0x)rfrSrVrRrWrZr^r_rgrmr7rr8rI)rrmZibazrrr	r9;s
zLongReprTest.test_instancecCs�|�d�|j}ttj�|jd�d�t��ddl	m
}t|jj
�}|�|�d�|�|��}t|j
�}|�|�d|jf�|�dS)N�quxzqux.pyz�class aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:
    def amethod(self): pass
r)rnz�<function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethoda�<bound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod of <%s.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa object at 0x)rfrrSrVrRrWrZr^r_rgrnrZ�aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZamethodr7r8rI)rrrnrZiquxrrr	�test_methodGs

zLongReprTest.test_methodz1needs a built-in function with a really long namecCrGr:rr`rrr	r?Zsz"LongReprTest.test_builtin_functionN)rIrJrKrXrardrfrhri�unittestZskiprjrlr9ror?rrrr	rT�s
rTc@�eZdZdd�Zdd�ZdS)r5cCs
||_dSr:�r)rrrrr	�__init__`rCzClassWithRepr.__init__cCs
d|jS)NzClassWithRepr(%r)rrr`rrr	�__repr__brCzClassWithRepr.__repr__N)rIrJrKrsrtrrrr	r5_sr5c@rF)r6cCstd��dS)Nz+This should be caught by Repr.repr_instance)Z	Exceptionr`rrr	rtgrCzClassWithFailingRepr.__repr__N)rIrJrKrtrrrr	r6frMr6c@s.eZdZdZdd�Zdd�Ze�dd��ZdS)	�MyContainerz"Helper class for TestRecursiveReprcCst|�|_dSr:)�list�values)rrwrrr	rslrCzMyContainer.__init__cCs|j�|�dSr:)rwrb)rZvaluerrr	rbnrCzMyContainer.appendcC�dd�tt|j��dS�Nz<z, r4�rWZmapZstrrwr`rrr	rtp�zMyContainer.__repr__N)rIrJrK�__doc__rsrbrrtrrrr	rujsruc@seZdZed�dd��ZdS)�MyContainer2z+++cCrxryrzr`rrr	rtur{zMyContainer2.__repr__N)rIrJrKrrtrrrr	r}trMr}c@s"eZdZdd�ZeZe�e�ZdS)�MyContainer3cCsdS)zTest document contentNrr`rrr	rtzr{zMyContainer3.__repr__N)rIrJrKrt�wrappedr�wrapperrrrr	r~ysr~c@rq)�TestRecursiveReprcCsxttd��}|�|�|�d�|�|�|�t|�d�ttd��}|�|�|�d�|�|�|�t|�d�dS)NZabcder<z<a, b, c, d, e, ..., x, ...>z<a, b, c, d, e, +++, x, +++>)rurvrbrrr})rZmrrr	�test_recursive_repr�s





z%TestRecursiveRepr.test_recursive_reprcCsBddlm}tj}tj}x$|D]}|�t||�t||��qWdS)Nr)�WRAPPER_ASSIGNMENTS)Z	functoolsr�r~rr�ZassertIsZgetattr)rZassignedrr�rcrrr	�test_assigned_attributes�s

z*TestRecursiveRepr.test_assigned_attributesN)rIrJrKr�r�rrrr	r��sr�Z__main__)r|r]rVr[r^Zimportlib.utilrpZtest.supportrrZreprlibrrrrr
ZTestCaserrSrTr5r6rur}r~r�rIZmainrrrr	Z<module>s0C