Your IP : 216.73.217.32


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_builtin.cpython-35.opt-1.pyc



��Yf��@s
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlmZddlmZmZmZmZddlmZyddlZddlZWnek
rHdZZYnXGdd�d�ZGdd�d�ZGd	d
�d
�Zddfdd
fddfddfddfddfddfddfddfddfe ej!�ej!fde"fdd
fde"fde"fde"fd e"fe#d!d"�dfe$d#�e"fgZ%ddfdd
fddfddfddfddfddfde"fddfde"fe ej!�ej!fde"fde"fde"fde"fde"fd e"fe#d!d"�dfe$d#�e"fgZ&Gd$d%�d%�Z'Gd&d'�d'�Z(d(d)�Z)d*d+�Z*Gd,d-�d-ej+�Z,ej-ed.�Gd/d0�d0ej+��Z.Gd1d2�d2ej+�Z/Gd3d4�d4ej+�Z0Gd5d6�d6ej+�Z1d7d8�Z2e3d9kr	ej4�dS):�N)�neg)�TESTFN�unlink�run_unittest�check_warnings)�assert_python_okc@s4eZdZdd�Zdd�Zdd�ZdS)�SquarescCs||_g|_dS)N)�max�sofar)�selfr	�r�6/opt/alt/python35/lib64/python3.5/test/test_builtin.py�__init__s	zSquares.__init__cCs
t|j�S)N)�lenr
)rrrr
�__len__#szSquares.__len__cCspd|ko|jkns%t�t|j�}x.||krd|jj||�|d7}q7W|j|S)Nr�)r	�
IndexErrorrr
�append)r�i�nrrr
�__getitem__%szSquares.__getitem__N)�__name__�
__module__�__qualname__rrrrrrr
rsrc@s4eZdZdd�Zdd�Zdd�ZdS)�
StrSquarescCs||_g|_dS)N)r	r
)rr	rrr
r/s	zStrSquares.__init__cCs
t|j�S)N)rr
)rrrr
r3szStrSquares.__len__cCsvd|ko|jkns%t�t|j�}x4||krj|jjt||��|d7}q7W|j|S)Nrr)r	rrr
r�str)rrrrrr
r6szStrSquares.__getitem__N)rrrrrrrrrr
r-src@seZdZdd�ZdS)�	BitBucketcCsdS)Nr)r�linerrr
�write@szBitBucket.writeN)rrrrrrrr
r?sr�0�1r�9�	�10�
Z99�cZ100�dZ314i:z 314z314 z  		  314  		  z  1xz  1  z  1  �� z  		  s\u0663\u0661\u0664 zraw-unicode-escapeic@seZdZdd�ZdS)�TestFailingBoolcCs
t�dS)N)�RuntimeError)rrrr
�__bool__pszTestFailingBool.__bool__N)rrrr+rrrr
r)osr)c@seZdZdd�ZdS)�TestFailingItercCs
t�dS)N)r*)rrrr
�__iter__tszTestFailingIter.__iter__N)rrrr-rrrr
r,ssr,cCst|�td�kS)N�d)�ord)�argrrr
�filter_charwsr1cCstt|�d�S)Nr)�chrr/)r0rrr
�map_charzsr3c@sJeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/e0j1�j2d[�oOe0j3�j2d\�Z4e5d�d�kZ6e7j8e4ose6d_�d`da��Z9dbdc�Z:ddde�Z;dfdg�Z<dhdi�Z=e>djdk��Z?e>dldm��Z@Gdndo�doeA�ZBdpdq�ZCdrds�ZDdtdu�ZEdvdw�ZFdxdy�ZGdzd{�ZHd|d}�ZId~S)��BuiltinTestc
Cs�|}tj||�}tj|�}|jt|�t|��|jt|�|�tj|�}yt|�Wntk
r�dSYnXtj||�}tj|�}|jt|�|dd��dS)Nr)�pickle�dumps�loads�assertEqual�type�list�next�
StopIteration)r�it�seq�protoZitorgr.rrr
�check_iter_pickles
	zBuiltinTest.check_iter_picklecCs�td�td�td�tdd�tdddd�|jttd�|jttdd	d
d�|jttd�|jttddd�|jttftd
�dS)N�sysZtime�string�name�levelrZspamspamr���r'zstring)�
__import__�assertRaises�ImportError�	TypeError�
ValueError)rrrr
�test_import�s



zBuiltinTest.test_importcCs:|jtd�d�|jtd�d�|jtd�d�|jttjd�dk�|jtd�d�|jtd�d�|jtd
�d�|jttd�|jtd�d�|jtd�d�|jtt�|jttd�Gd	d
�d
t�}|jt|��d�dS)Nri�rgg��Q�	@�aTFc@seZdZdd�ZdS)z&BuiltinTest.test_abs.<locals>.AbsClasscSsdS)N����r)rrrr
�__abs__�sz.BuiltinTest.test_abs.<locals>.AbsClass.__abs__N)rrrrQrrrr
�AbsClass�srRrOi.���g��Q�	�rP)r8�abs�
assertTruerA�maxsizerIrK�object)rrRrrr
�test_abs�s!zBuiltinTest.test_abscCsO|jtdddg�d�|jtdddg�d�|jttdt�dg�|jttt��|jttd�|jtt�|jttdddgg�|jtg�d�|jtdt�g�d�dd	g}|jtd
d�|D��d�ddd	g}|jtd
d�|D��d�dS)NrErG�TFr$r�2�<css|]}|dkVqdS)�*Nr)�.0�xrrr
�	<genexpr>�sz'BuiltinTest.test_all.<locals>.<genexpr>�(css|]}|dkVqdS)r[Nr)r\r]rrr
r^�s)r8�allrIr*r)r,rK)r�Srrr
�test_all�s#zBuiltinTest.test_allcCsR|jtdddg�d�|jtdddg�d�|jttdt�dg�|jttt��|jttd�|jtt�|jttdddgg�|jtg�d�|jtdt�g�d�dd	d
g}|jtdd�|D��d�dd
d
g}|jtdd�|D��d�dS)NFrGTrXr$rErr_rZ�css|]}|dkVqdS)r[Nr)r\r]rrr
r^�sz'BuiltinTest.test_any.<locals>.<genexpr>�css|]}|dkVqdS)r[Nr)r\r]rrr
r^�s)r8�anyrIr*r)r,rK)rrarrr
�test_any�s#zBuiltinTest.test_anycsi�jtd�d��jtd�d��jtf�d��jtg�d��jti�d�g}|j|��jt|�d�i}||d<�jt|�d	��fd
d�}|d�|d
�|d�|d�|d�|d�|d�|d�|d�|d��jtd�d�d}�jt|�d�dS)Nr'z''rrz()z[]z{}z[[...]]z
{0: {...}}cs �jt|�t|��dS)N)r8�ascii�repr)�s)rrr
�
_check_uni�sz*BuiltinTest.test_ascii.<locals>._check_uni�'�"z"'�z
	 .�…u῿u𒿿u�u�u𝄡z'\U0001d121'u'"

	 abcd…é𒿿�𝄡xxx.z:'\'\x00"\n\r\t abcd\x85\xe9\U00012fff\ud800\U0001d121xxx.')r8rgr)rrNrjrir)rr
�
test_ascii�s4











zBuiltinTest.test_asciicCs@tjd}|jt|t��|j|tjd�dS)Nr)rArUrT�
isinstance�intr8)rr]rrr
�test_neg�szBuiltinTest.test_negcCs�|jtt��|jtd��|jtt��|jtdd���|jtt��dd�}|jt|��Gdd�d�}|jt|��|�}|jt|j��|jt|��d|_|jt|��dd�|_|jt|��|`|jt|��Gd	d
�d
t�}|�}|jt|��d|_|jt|��Gdd�d|�}|�}|jt|��dS)
NrNcSs||S)Nr)r]�yrrr
�<lambda>�sz+BuiltinTest.test_callable.<locals>.<lambda>cSsdS)Nrrrrr
�fsz$BuiltinTest.test_callable.<locals>.fc@seZdZdd�ZdS)z%BuiltinTest.test_callable.<locals>.C1cSsdS)Nr)rrrr
�methsz*BuiltinTest.test_callable.<locals>.C1.methN)rrrrvrrrr
�C1srwcSsdS)Nrr)rrrr
rt
sc@seZdZdd�ZdS)z%BuiltinTest.test_callable.<locals>.C2cSsdS)Nr)rrrr
�__call__sz.BuiltinTest.test_callable.<locals>.C2.__call__N)rrrrxrrrr
�C2sryc@seZdZdS)z%BuiltinTest.test_callable.<locals>.C3N)rrrrrrr
�C3srz)rT�callabler�assertFalse�__builtins__rvrxrV)rrurw�cryZc2rzZc3rrr
�
test_callable�s4					zBuiltinTest.test_callablecCs�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jttd"�|jttj�tdjd�d
��|jtt�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jttd#�|jttd �|jt	tftd$�dS)%N� r(�A�A�arN��ÿr�z
\U0010ffffrgzunicode-escapei��u￿iu𐀀iu𐀁i��u󿿾i��u󿿿iu􀀀iu􀀁i��u􏿾i��u􏿿irEi���l)
r8r2rIrLrA�
maxunicoder�encoderK�
OverflowError)rrrr
�test_chrs(zBuiltinTest.test_chrcCs|jttd��dS)NZcmp)rT�hasattr�builtins)rrrr
�test_cmp2szBuiltinTest.test_cmpc
CsVtddd�d}t|ddd�tdddd	d
d�tdddd
ddd
d�tdd	ddd
d�ttd�dd�|jtt�|jttddd�|jttdddd�|jtttd�dd�|jttdd	dd
ddddd
�tddd�|jtttd�dd�|jtttd�dd�d}dd�}d%t|jfd&d'd(g}x�|D]�\}}}g}|j	t|d#dd$|��t
j|�}	|j	t|	d#dd$|��xD|D]<}
i}t|
|�|d�}|j
|||f�qWq�WdS))Nz	print(1)
r'�execss	print(1)
�source�pass�filename�?�mode�dont_inheritrZtmpr�evalrstextrCz
print(42)
z<string>ZbadmodeZsingler�ruuprint("å")
za = 1Zbadz�def f():
        """doc"""
        try:
            assert False
        except AssertionError:
            return (True, f.__doc__)
        else:
            return (False, f.__doc__)
        cSsdS)�docNrrrrr
ruRsz#BuiltinTest.test_compile.<locals>.fTr�FrEz<test>�optimizer�)rTr�)rFr�)rEFN)�compile�
memoryviewrIrKrLr2r�	__debug__�__doc__r�ast�parser�r8)
r�bomZcodestrru�valuesZoptvalZdebugvalZ	docstringZcodeobjsZtree�code�ns�rvrrr
�test_compile5s@	


zBuiltinTest.test_compilecCs*dt_ttd�|jtt�dS)Nr�spam)rAr��delattrrIrK)rrrr
�test_delattrcs	
zBuiltinTest.test_delattrcCs�|jttdd�d}|jdt��|jdtt��Gdd�dtj�}|d�}|jtt|�|jdtt��|jd	tt��Gd
d�dt	�}|�}|jdt|��Gdd�dt	�}|�}|jd
t|��Gdd�dt	�}|�}|jd
t|��|jdt|��Gdd�dt	�}|�}|j
t|�dddgk�Gdd�dt	�}t|��}|j|t�|j
|dddgk�Gdd�dt	�}|�}|jtt|�y
t
�Wn.|jtttj�d��d�YnX|jtgj��tg��dS)Nr[r�	local_var�exitc@seZdZdZdS)z!BuiltinTest.test_dir.<locals>.Foo�N)rrr�__dict__rrrr
�Footsr��foo�strip�__mro__c@seZdZdd�ZdS)z!BuiltinTest.test_dir.<locals>.FoocSsd|_d|_d|_dS)N�r�r")r]rs�z)rrrr
rs		z*BuiltinTest.test_dir.<locals>.Foo.__init__N)rrrrrrrr
r�~srsc@seZdZgZdS)z!BuiltinTest.test_dir.<locals>.FooN)rrr�	__slots__rrrr
r��s�__repr__c@s(eZdZddgZdd�ZdS)z!BuiltinTest.test_dir.<locals>.Foo�	__class__r�cSs
d|_dS)NZwow)�bar)rrrr
r�sz*BuiltinTest.test_dir.<locals>.Foo.__init__N)rrrr�rrrrr
r��sr�c@seZdZdd�ZdS)z!BuiltinTest.test_dir.<locals>.FoocSs
dddgS)N�kan�ga�roor)rrrr
�__dir__�sz)BuiltinTest.test_dir.<locals>.Foo.__dir__N)rrrr�rrrr
r��sr�r�r�c@seZdZdd�ZdS)z!BuiltinTest.test_dir.<locals>.FoocSsdS)N�br~rN)r�r~rNr)rrrr
r��sz)BuiltinTest.test_dir.<locals>.Foo.__dir__N)rrrr�rrrr
r��srNr�r~c@seZdZdd�ZdS)z!BuiltinTest.test_dir.<locals>.FoocSsdS)Nr�r)rrrr
r��sz)BuiltinTest.test_dir.<locals>.Foo.__dir__N)rrrr�rrrr
r��srErG)rIrK�dir�assertInrA�types�
ModuleTyper�assertNotInrVrTZassertIsInstancer:rr8r�exc_info�sortedr�)rr�r�ru�resrrr
�test_dirhsD				"	
+zBuiltinTest.test_dircCs|jtdd�d
�|jtdd�d�|jtdd�d�|jtdd�d�|jttjdd�tjddf�xbddd$d)gD]N\}}}t||�}|j|d|d�|j|d|d�q�W|jtt�dS)*N�r�rrOrEr�
@��?�@��?g@��?)rrOi����)r�rEi����r�r�)r�r�i�i����rP)rrPr��r�r�)r�r�r��
����r�r�)r�r�r������迩r�r�)r�r�r��
����п�r�r�)r�r�r�)r8�divmodrArU�assertAlmostEqualrIrK)rZnumZdenomZ
exp_result�resultrrr
�test_divmod�s.zBuiltinTest.test_divmodcCs�|jtd�d�|jtd�d�ddddi}dddd	i}|jtd|�d�|jtd||�d�|jtd||�d�|jtd||�d	�ddddi}dddd	i}d
}|jt|d||�d�|jtd|�d
�|jtt�|jttf�|jtt|dd�d�Gdd�d�}|jttdi|��dS)Nz1+1rEz 1+1
rNrr���r~i,s�au"å"�åc@seZdZdd�ZdS)z BuiltinTest.test_eval.<locals>.XcSs
t�dS)N)rL)r�keyrrr
r�sz,BuiltinTest.test_eval.<locals>.X.__getitem__N)rrrrrrrr
�X�sr�r�)r8r�rIrK�SyntaxErrorrL)r�globals�localsr�r�rrr
�	test_eval�s$ !zBuiltinTest.test_evalc
CsWGdd�d�}|�}t�}|jtd||�d�|jttd||�|jtd||�td��|jtd||�|�|jtd	||�|�|jttd|�Gd
d�d�}|�}|jttd||�Gdd
�d
t�}|�}|jtd||�d�|jttd||�|jtd||�td��|jtd||�|�|jtd	||�|�td||�td|tj	��Gdd�d�}|�}d|d<d|d<d|d<|j|dd�Gdd�d�}	|jttdt�|	��dS)Nc@s.eZdZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.Mz9Test mapping interface versus possible calls from eval().cSs|dkrdSt�dS)NrNr�)�KeyError)rr�rrr
r�sz4BuiltinTest.test_general_eval.<locals>.M.__getitem__cSs
td�S)N�xyz)r:)rrrr
�keys�sz-BuiltinTest.test_general_eval.<locals>.M.keysN)rrrr�rr�rrrr
�M�sr�rNr�r�zdir()r�z	globals()zlocals()c@seZdZdZdS)z(BuiltinTest.test_general_eval.<locals>.AzNon-mappingN)rrrr�rrrr
r��sr�c@s(eZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.DcSs |dkrdStj||�S)NrNr�)�dictr)rr�rrr
r�sz4BuiltinTest.test_general_eval.<locals>.D.__getitem__cSs
td�S)Nr�)r:)rrrr
r��sz-BuiltinTest.test_general_eval.<locals>.D.keysN)rrrrr�rrrr
�D�sr�z[locals() for i in (2,3)]c@s4eZdZdZiZdd�Zdd�ZdS)z2BuiltinTest.test_general_eval.<locals>.SpreadSheetz6Sample application showing nested, calculated lookups.cSs||j|<dS)N)�_cells)rr�Zformularrr
�__setitem__sz>BuiltinTest.test_general_eval.<locals>.SpreadSheet.__setitem__cSst|j|t�|�S)N)r�r�r�)rr�rrr
rsz>BuiltinTest.test_general_eval.<locals>.SpreadSheet.__getitem__N)rrrr�r�r�rrrrr
�SpreadSheetsr��5Za1za1*6Za2za2*7Za3��c@s(eZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.CcSst|��dS)N)r�)r�itemrrr
rsz4BuiltinTest.test_general_eval.<locals>.C.__getitem__cSsdS)Nrr)rrrr
r�sz-BuiltinTest.test_general_eval.<locals>.C.keysN)rrrrr�rrrr
�Csr�)
r�r8r�rI�	NameErrorr:rKr��collections�UserDict)
rr��m�gr�r�r.r�Zssr�rrr
�test_general_eval�s:			"		"	


zBuiltinTest.test_general_evalcCsi}td|�d|kr&|d=|j|ddi�td|�d|kr\|d=|j|ddi�i}i}t��+tjddd	d
�td||�WdQRXd|kr�|d=d|kr�|d=|j||fddid
dif�dS)Nzz = 1r}r�rzz = 1+1rE�ignorezglobal statement�modulez<string>zglobal a; a = 1; b = 2rNr�)r�r8r�warnings�filterwarnings)rr��lrrr
�	test_exec#s(


zBuiltinTest.test_execcsFtddd�}|jtdt|dii�|jtt|ddi�tddd�}|jtdt|dii�Gd	d
�d
t��G�fdd�dt�}tt	t
j�r�|t	j�}n|t	�}td
dd�}|j�t|d|i�|i�}tddd�}|j�t||�dS)Nzprint('Hello World!')r'r�zname 'print' is not definedr}�{z
class A: passz__build_class__ not foundc@seZdZdS)z7BuiltinTest.test_exec_globals.<locals>.frozendict_errorN)rrrrrrr
�frozendict_errorIsr�cs"eZdZ�fdd�ZdS)z1BuiltinTest.test_exec_globals.<locals>.frozendictcs�d��dS)Nzfrozendict is readonlyr)rr��value)r�rr
r�Msz=BuiltinTest.test_exec_globals.<locals>.frozendict.__setitem__N)rrrr�r)r�rr
�
frozendictLsrz1__builtins__['superglobal']=2; print(superglobal)Ztestzx=1)
r��assertRaisesRegexr�r�rIrK�	Exceptionr�rpr}r�r�r�)rr�rZfrozen_builtins�	namespacer)r�r
�test_exec_globals;s(			zBuiltinTest.test_exec_globalscCsJtj}dt_z'ytd�Wntk
r7YnXWd|t_XdS)NrN)rA�stdoutr�r�)r�
savestdoutrrr
�test_exec_redirected_s		
	z BuiltinTest.test_exec_redirectedcCs3|jttdd�d��td��|jttdddgdgddd	d
g��dddgd	g�|jttdd�dd d	d
dg��dd	dg�|jttdtd
���ddd	ddddddg	�|jttdd�td
���dd	dddg�dd�}t|td��|jtt�Gdd�dt�}|jtttdd�|���dd�}|jttt|td���|jttdd!��ddg�|jttdd�d"��ddg�|jtttdd#��dS)$NcSsd|kodkSS)NrNr�r)r~rrr
rtksz)BuiltinTest.test_filter.<locals>.<lambda>zHello WorldZelloorldrZhellorFr'r"rcSs
|dkS)Nrr)r]rrr
rtmsrEr$rG���$�1�@�QcSs|dS)NrEr)r]rrr
rtoscSsdS)Nrr)r�rrr
�identitypsz)BuiltinTest.test_filter.<locals>.identityrOc@seZdZdd�ZdS)z'BuiltinTest.test_filter.<locals>.BadSeqcSs|dkrdSt�dS)NrGr[)rL)r�indexrrr
rusz3BuiltinTest.test_filter.<locals>.BadSeq.__getitem__N)rrrrrrrr
�BadSeqtsrcSs|S)Nr)r]rrr
rtyscSsdS)Nrrrrr
�badfunczsz(BuiltinTest.test_filter.<locals>.badfunccSs
|dkS)NrFr)r]rrr
rt�sr[���)rrE)rrErFrG)rrE)	r8r:�filterrrIrKrVrL�range)rrrrrrr
�test_filterjs+I=@:%"%+zBuiltinTest.test_filtercCsYxRttjd�D]=}ttd�}ttd�}|j|t|�|�qWdS)NrZ
abcdeabcde)rr5�HIGHEST_PROTOCOLrr1r@r:)rr?�f1�f2rrr
�test_filter_pickle�szBuiltinTest.test_filter_picklecCs�|jttd�tjk�|jtttd�|jtttdd�|jtt�|jtttttj��|jttdd�dS)Nrrr�u�픞)	rT�getattrrArrIrK�AttributeErrorr2r�)rrrr
�test_getattr�szBuiltinTest.test_getattrcCs�|jttd��|jtttd�|jtt�|jdttttj���Gdd�d�}|jtt|�d�Gdd�d�}|jt	t|�d�dS)	NrrFc@seZdZdd�ZdS)z#BuiltinTest.test_hasattr.<locals>.AcSs
t�dS)N)�
SystemExit)r�whatrrr
�__getattr__�sz/BuiltinTest.test_hasattr.<locals>.A.__getattr__N)rrrrrrrr
r��sr�r�c@seZdZdd�ZdS)z#BuiltinTest.test_hasattr.<locals>.BcSs
t�dS)N)rL)rrrrr
r�sz/BuiltinTest.test_hasattr.<locals>.B.__getattr__N)rrrrrrrr
�B�sr )
rTr�rArIrKr8r2r�rrL)rr�r rrr
�test_hasattr�s"zBuiltinTest.test_hasattrcCstd�|jtd�td��|jtd�td��td�|jtd�td��td�dd	�}|jttg�|jtti�Gd
d�d�}|jtt|���t�Gdd
�d
t�}|jt|d��td��dS)Nrg�?r�sspamrrErFcSsdS)Nrrrrr
ru�sz BuiltinTest.test_hash.<locals>.fc@seZdZdd�ZdS)z BuiltinTest.test_hash.<locals>.XcSsdS)NrEr&lr)rrrr
�__hash__�sz)BuiltinTest.test_hash.<locals>.X.__hash__N)rrrr"rrrr
r��sr�c@seZdZdd�ZdS)z BuiltinTest.test_hash.<locals>.ZcSs|S)Nr)rrrr
r"�sz)BuiltinTest.test_hash.<locals>.Z.__hash__N)rrrr"rrrr
�Z�sr#r[)rrrErF)�hashr8rIrKr9rq)rrur�r#rrr
�	test_hash�s


zBuiltinTest.test_hashcCsC|jtd�d�|jtd�d�|jtti�dS)NrZ0x10z-0x10i�)r8�hexrIrK)rrrr
�test_hex�szBuiltinTest.test_hexcCshtd�td�td�td�td	�tddddg�tddddddi�dS)
Nrg�?r�rrErFZeggs�ham)rrrErF)�id)rrrr
�test_id�s




zBuiltinTest.test_idcCs�|jtt�|jttdd�dddgdg}xY|D]Q}t|�}|jt|�d�|jt|�d�|jtt|�qBWdS)Nr[r �2Z12)r r+)rIrK�iterr8r;r<)rZlistsr�rrrr
�	test_iter�s
zBuiltinTest.test_itercCs�Gdd�d�}Gdd�d|�}Gdd�d�}|�}|�}|�}|jt||��|jt||��|jt||��|jt||��|jtd|��|jtt|d�|jtt�dS)Nc@seZdZdS)z&BuiltinTest.test_isinstance.<locals>.CN)rrrrrrr
r��sr�c@seZdZdS)z&BuiltinTest.test_isinstance.<locals>.DN)rrrrrrr
r��sr�c@seZdZdS)z&BuiltinTest.test_isinstance.<locals>.EN)rrrrrrr
�E�sr.r�)rTrprIrK)rr�r�r.r~r.�errr
�test_isinstance�s			zBuiltinTest.test_isinstancecCs�Gdd�d�}Gdd�d|�}Gdd�d�}|�}|�}|�}|jt||��|jt||��|jt||��|jttd|�|jtt|d�|jtt�dS)Nc@seZdZdS)z&BuiltinTest.test_issubclass.<locals>.CN)rrrrrrr
r��sr�c@seZdZdS)z&BuiltinTest.test_issubclass.<locals>.DN)rrrrrrr
r��sr�c@seZdZdS)z&BuiltinTest.test_issubclass.<locals>.EN)rrrrrrr
r.�sr.r�)rT�
issubclassrIrK)rr�r�r.r~r.r/rrr
�test_issubclass�s			zBuiltinTest.test_issubclasscCsp|jtd�d�|jtf�d�|jtd�d�|jtddddg�d�|jti�d�|jtddddi�d�Gd	d
�d
�}|jtt|��Gdd�d�}|jtt|��Gd
d�d�}|jtt|��Gdd�d�}|jtt|��Gdd�dt�}|jtt|��dS)N�123rFrrrErGrNr�c@seZdZdd�ZdS)z$BuiltinTest.test_len.<locals>.BadSeqcSs
t�dS)N)rL)rrrr
r�sz,BuiltinTest.test_len.<locals>.BadSeq.__len__N)rrrrrrrr
r�src@seZdZdd�ZdS)z(BuiltinTest.test_len.<locals>.InvalidLencSsdS)Nr)rrrr
rsz0BuiltinTest.test_len.<locals>.InvalidLen.__len__N)rrrrrrrr
�
InvalidLen�sr4c@seZdZdd�ZdS)z&BuiltinTest.test_len.<locals>.FloatLencSsdS)Ng@r)rrrr
rsz.BuiltinTest.test_len.<locals>.FloatLen.__len__N)rrrrrrrr
�FloatLensr5c@seZdZdd�ZdS)z%BuiltinTest.test_len.<locals>.HugeLencSstjdS)Nr)rArU)rrrr
rsz-BuiltinTest.test_len.<locals>.HugeLen.__len__N)rrrrrrrr
�HugeLensr6c@seZdZdS)z)BuiltinTest.test_len.<locals>.NoLenMethodN)rrrrrrr
�NoLenMethodsr7)rrErFrG)r8rrIrLrKr�rV)rrr4r5r6r7rrr
�test_len�s ""zBuiltinTest.test_lencs�|jttdd�tdd���dddg�yddlm�Wntk
rkdd	��YnX|jtt�fd
d�ddgddgg��d
dgddgg�|jttdd�dddgdddg��dddg�dd�}|jtt|dddg��dddg�|jtt|dddgdddg��d'd(d)g�|jtt|dddgdddgdddg��d+d-d/g�|jttttd���ddddddddddg
�dd�}|jtt|td�td���ddg�|j	t
t�|j	t
tdd�d �Gd!d"�d"�}|j	tttd#d�|���d$d%�}|j	ttt|td&���dS)0NcSs||S)Nr)r]rrr
rtsz&BuiltinTest.test_map.<locals>.<lambda>rrGr"r)�sqrtcSs
t|d�S)Ng�?)�pow)r]rrr
r9sz"BuiltinTest.test_map.<locals>.sqrtcstt�|��S)N)r:�map)r])r9rr
rtsrr
g@g@g"@g@cSs||S)Nr)r]rsrrr
rtsrFrEr$rXcWs%d}x|D]}||}q
W|S)Nrr)�vZaccurrrr
�plus!s
z"BuiltinTest.test_map.<locals>.plusr�r	r
rrcSs-|dkr|S|dkr |St||�S)N)r	)rNr�rrr
�Max5s
z!BuiltinTest.test_map.<locals>.MaxcSs|S)Nr)r]rrr
rt@sr[c@seZdZdd�ZdS)z$BuiltinTest.test_map.<locals>.BadSeqcsst�dVdS)N)rL)rrrr
r-Bsz-BuiltinTest.test_map.<locals>.BadSeq.__iter__N)rrrr-rrrr
rAsrcSs|S)Nr)r]rrr
rtEscSs
t�dS)N)r*)r]rrr
rFsz%BuiltinTest.test_map.<locals>.badfuncrOrOr�r"rOrXr��
r"r")
r8r:r;rZmathr9rJrqrrIrKrLr*)rr=r>rrr)r9r
�test_mapsH!
0-'3%!
%zBuiltinTest.test_mapcCsYxRttjd�D]=}ttd�}ttd�}|j|t|�|�qWdS)NrzIs this the real life?)rr5rr;r3r@r:)rr?�m1�m2rrr
�test_map_pickleJszBuiltinTest.test_map_picklecCs�|jtd�d�|jtddd�d�|jtd�d�|jtddddddg�d�|jtddd�d�|jtddd�d�|jtddd�d�|jtt�|jttd	�|jttf�Gd
d�d�}|jtt|��xDdD]<}yt|t��Wntk
rXYq*X|j|�q*W|jtddt�d�|jtddt�d�|jtdddt�d�|jtfdd�d�|jtddd�d�|jtd dd�d�|jtfdddt�d�|jtd!dddt�d�dd�t	d�D�}t
dd�|D��}|j}|jt|d|�tt
|�d|�d"�dS)#N�123123�3rrErFg@g@g�?r[c@seZdZdd�ZdS)z$BuiltinTest.test_max.<locals>.BadSeqcSs
t�dS)N)rL)rrrrr
r^sz0BuiltinTest.test_max.<locals>.BadSeq.__getitem__N)rrrrrrrr
r]sr�max(key=int)�max(default=None)�max(1, 2, default=None)�max(default=None, key=int)�max(1, key=int)�max(1, 2, keystone=int)�max(1, 2, key=int, abc=int)�max(1, 2, key=1)r��defaultcSsg|]}tjd��qS)r�)�random�	randrange)r\rrrr
�
<listcomp>~s	z(BuiltinTest.test_max.<locals>.<listcomp>r&css$|]}|tjd�fVqdS)rYN)rOrP)r\�elemrrr
r^sz'BuiltinTest.test_max.<locals>.<genexpr>)rrErFrrErF)rFrGrHrIrJrKrLrM)r)rrE)r)rrE)rrEr�)r8r	rIrKrLr�r��failrrr�rr��reversed)rr�stmt�datar�rurrr
�test_maxPsN(

""	zBuiltinTest.test_maxcCs�|jtd�d�|jtddd�d�|jtd�d�|jtddddddg�d�|jtddd�d�|jtddd�d�|jtddd�d�|jtt�|jttd	�|jttf�Gd
d�d�}|jtt|��xDdD]<}yt|t��Wntk
rXYq*X|j|�q*W|jtddt�d�|jtddt�d�|jtdddt�d�|jtfdd�d�|jtd dd�d�|jtd!dd�d�|jtfdddt�d�|jtd"dddt�d�dd�t	d�D�}t
dd�|D��}|j}|jt|d|�t|d|�d�dS)#NrDr rrErFg@g@g�?r[c@seZdZdd�ZdS)z$BuiltinTest.test_min.<locals>.BadSeqcSs
t�dS)N)rL)rrrrr
r�sz0BuiltinTest.test_min.<locals>.BadSeq.__getitem__N)rrrrrrrr
r�sr�min(key=int)�min(default=None)�min(1, 2, default=None)�min(default=None, key=int)�min(1, key=int)�min(1, 2, keystone=int)�min(1, 2, key=int, abc=int)�min(1, 2, key=1)r�rNcSsg|]}tjd��qS)r�)rOrP)r\rrrr
rQ�s	z(BuiltinTest.test_min.<locals>.<listcomp>r&css$|]}|tjd�fVqdS)rYN)rOrP)r\rRrrr
r^�sz'BuiltinTest.test_min.<locals>.<genexpr>r)rrErFrrErF)rXrYrZr[r\r]r^r_)r)rrE)r)rrE)rrE)
r8�minrIrKrLr�r�rSrrr�rr�)rrrUrVr�rurrr
�test_min�sN(

""	zBuiltinTest.test_mincCs)ttd��}|jt|�d�|jt|�d�|jtt|�|jtt|�|jt|d�d�Gdd�dt�}t|��}|jt|d�d�|jtt|�dd�}|�}|jt|�d�|jtt|�|jt|d�d�dS)	NrErrr[c@s(eZdZdd�Zdd�ZdS)z#BuiltinTest.test_next.<locals>.ItercSs|S)Nr)rrrr
r-�sz,BuiltinTest.test_next.<locals>.Iter.__iter__cSs
t�dS)N)r<)rrrr
�__next__�sz,BuiltinTest.test_next.<locals>.Iter.__next__N)rrrr-rbrrrr
�Iter�srccss	dVdS)Nrrrrrr
�gen�sz"BuiltinTest.test_next.<locals>.gen)r,rr8r;rIr<rV)rr=rcrdrrr
�	test_next�s	zBuiltinTest.test_nextcCsC|jtd�d�|jtd�d�|jttf�dS)Nr&Z0o144z-0o144i����)r8�octrIrK)rrrr
�test_oct�szBuiltinTest.test_octc
Cs�ttd�}|jtt�|�[|jd�|jd�|jd�|jd�|jdd�|jdd�WdQRXdS)	N�wz1+1
z+The quick brown fox jumps over the lazy dogz.
z
Dear John
�XXXr&�YYY)�openrZ
addCleanuprr)r�fprrr
�write_testfile�s



zBuiltinTest.write_testfilecCs�|j�ttd�}|��|j|jd�d�|j|j�d�|j|jd�d�|j|jd�d�|j|jd�d	d�|j|jd
�dd�WdQRX|jttd�|jttd
�dS)N�rrGz1+1
z-The quick brown fox jumps over the lazy dog.
ZDearr&z John
i,rii�rjzabsab)rmrkrr8�readline�readrIrL)rrlrrr
�	test_open�s
$zBuiltinTest.test_opencCs�ttj�}zwx'dD]}|tjkrtj|=qW|j�tjd�}ttd�}|�|j|j	|�WdQRXWdtjj
�tjj|�XdS)N�LC_ALL�LANG�LC_CTYPEFrh)rrrsrt)r��os�environrm�locale�getpreferredencodingrkrr8�encoding�clear�update)rZold_environr�Zcurrent_locale_encodingrlrrr
�test_open_default_encoding�s


z&BuiltinTest.test_open_default_encodingc
Cs:tt�}|�!|jtj|j���WdQRXdS)N)rk�__file__r|ru�get_inheritable�fileno)rZfileobjrrr
�test_open_non_inheritablesz%BuiltinTest.test_open_non_inheritablecCs�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd	�d
�|jtd�d�|jtd�d�|jtd
�d�|jtd�d�|jtd�d
�|jtttj��tj�|jttd�|jttd��d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd �d!�|jtd"�d�dS)#Nr(r�r�r�rNr��€�r�r�� �Ar�s�s�r[i��u￿i��u𐀀iu𐀁iu󿿾i��u󿿿i��u􀀀iu􀀁iu􏿾i��u􏿿)r8r/r2rAr�rIrK)rrrr
�test_ords,"zBuiltinTest.test_ordc	Csh|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd	�d �|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtd
d�d�|jtd
d�d�|jtd
d�d!�|jtd
d�d#�|jtd$d�d�|jtd%d�d&�|jtd'd�d�|jtd(d	�d)�x�d*D]�}x�d+D]|}xsd,D]k}t|t�s�t|t�s�t|t�r�|jtt|||�qy|jt|||�d�qyWqlWq_W|jtd-d�d�|jtd.d/�d0�|jttd1d2d	�|jttddd�|jtt�dS)3NrrrEr$irdrcrGrFr�gg�?�@g�@g@g @�$@���@�@g8@g�?y�?y�LX�z��?iii@r�r�r�r�r�i����g0Ag0Ag�Ag�g�g�g�g�g �)rEr�)r$r�)r�r�r�r�gUUUUUU�?y�?�LX�z��?r�r�)r8r:r�rp�floatrIrKrL)rr]rsr�rrr
�test_pow&sJ


(zBuiltinTest.test_powcCst|j�ttd�}tj}tj}z%|t_t�t_|jt�d�|jt�d�|jtd�d�|t_tjj	�|j
tt�t�t_tj
d�t_|j
ttdd�tj
d�t_|jt�d�tj
�t_|j
tt�t`|j
ttd	�t`|j
ttd	�Wd|t_|t_|j	�XdS)
Nrnz1+1z,The quick brown fox jumps over the lazy dog.ztesting
z	Dear JohnzNULLr[z    'whitespace'�prompt)rmrkrrA�stdinrrr8�input�closerIrL�io�StringIOrK�EOFErrorr*)rrlZ	savestdinrrrr
�
test_inputWs6
				
		zBuiltinTest.test_inputcCs�|jtd�d�|jtd�d�|jtf�d�|jtg�d�|jti�d�g}|j|�|jt|�d�i}||d<|jt|�d	�dS)
Nr'z''rrz()z[]z{}z[[...]]z
{0: {...}})r8rhr)rrNrrr
�	test_repr|s

zBuiltinTest.test_reprcCsk|jtd�d�|jttd��t�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d �|jtd!�d"�|jtd#�d$�|jtd%�d&�|jtd�d�|jtd�d�|jtd�d�|jtd	�d�|jtd'�d(�|jtd)�d*�|jtd+�d,�|jtd
�d�|jtd�d�|jtd�d�|jtd-�d.�|jtd/�d0�|jtd1�d2�|jtd3d4�d5�|jttd6d7��t�|jttd8d��t�|jttd9d��t�|jtd�d�|jtd�d�|jtd:�d;�|jtd<�d=�|jtd�d�|jtd�d�|jtd>�d?�|jttd��t�|jttd@dA��t�|jttdBd��t�|jttdCd��t�|jtddDddE�dF�|jtt�Gdd�d�}Gdd�d�}|jt|��d�|jttddd�|jtt|��|�}dd�|_|jtt|�|jtt|d�dS)GNgg�?g$@ge��Ag@��x�Dg�������?g�������?g333333$@g��e��Ag�������?g������#@g33�d��Ag @rrg@rXg@r�ZnumberZndigitsc@seZdZdd�ZdS)z)BuiltinTest.test_round.<locals>.TestRoundcSsdS)N�r)rrrr
�	__round__�sz3BuiltinTest.test_round.<locals>.TestRound.__round__N)rrrr�rrrr
�	TestRound�sr�c@seZdZdS)z+BuiltinTest.test_round.<locals>.TestNoRoundN)rrrrrrr
�TestNoRound�sr�r�rErFcWs|S)Nr)�argsrrr
rt�sz(BuiltinTest.test_round.<locals>.<lambda>g�g�g$�g$�ge��ge��g@��x��g@��x��g�������g�g333333$�g$�g��e��ge��g�������g�g������#�g$�g33�d��ge��g �r�g$�g �r�g �g �g�i����g�i����i����i����i����r�i����i����g �r�g$�)r8�roundr9rqr�rIrKr�)rr�r��trrr
�
test_round�sb	zBuiltinTest.test_roundZLinuxZalphag��7y�1CrzItest will fail;  failure is probably due to a buggy system round functioncCsr|jtd�d�|jtd�d�|jtd�d�|jtd	�d
�|jtd�d�dS)
Ng��7y�1CrrErFg��7y�1Cg��7y�1Cg��7y�1Cg��7y�1Cg��7y�1Cg��7y�1Cg��7y�1Cg��7y�1C)r8r�)rrrr
�test_round_large�s
zBuiltinTest.test_round_largecCs�xyddtjd�tjdd�gD]P}|jt|d�t|��|jtt|d��tt|���q(WdS)Ni�g
ףp=J�@z1234.56i@�r&)�decimalZDecimal�	fractionsZFractionr8r�r9)rr]rrr
�test_bug_27936�szBuiltinTest.test_bug_27936cCsPttdd�|jtjd�|jtttdd�|jtt�dS)Nr�r)�setattrrAr8r�rIrK)rrrr
�test_setattr�szBuiltinTest.test_setattrcCsS|jtg�d�|jtttdd���d�|jttttdd����d�|jttd��d�|jtttd���d�|jtdgdgdggg�dddg�|jtt�|jttd	�|jttd
ddg�|jttd
ddgd
�|jttddgd�td�td�g}|jtt|td��|jttdgdgdgg�|jttddig�|jttddigdddi�Gdd�d�}|jt	t|��g}tdd�td�D�|�|j|g�dS)NrrEr��r$irrFr[rNr�r~r'r��c��bc@seZdZdd�ZdS)z$BuiltinTest.test_sum.<locals>.BadSeqcSs
t�dS)N)rL)rrrrr
r
sz0BuiltinTest.test_sum.<locals>.BadSeq.__getitem__N)rrrrrrrr
rsrcss|]}|gVqdS)Nr)r\r]rrr
r^sz'BuiltinTest.test_sum.<locals>.<genexpr>)
r8�sumr:rr,rrIrK�	bytearrayrL)rr�r�emptyrrr
�test_sum�s*%+"4%) zBuiltinTest.test_sumcCs<|jtd�td��|jtd�tf��dS)Nr'r3)r8r9�assertNotEqual)rrrr
�	test_typeszBuiltinTest.test_typecCst�S)N)�varsrrrr
�get_vars_f0szBuiltinTest.get_vars_f0cCstj�d}d}t�S)NrrE)r4r�r�)rNr�rrr
�get_vars_f2s
zBuiltinTest.get_vars_f2c@s+eZdZdd�Zede�ZdS)zBuiltinTest.C_get_varscCs
ddiS)NrNrEr)rrrr
�getDict'szBuiltinTest.C_get_vars.getDict�fgetN)rrrr��propertyr�rrrr
�
C_get_vars&sr�cCs�|jtt��tt���|jttt��ttt���|j|j�i�|j|j�ddddi�|jttdd�|jttd�|jt|j	��ddi�dS)NrNrr�rEr[)
r8�setr�r�rAr�r�rIrKr�)rrrr
�	test_vars+s"("zBuiltinTest.test_varscCs�d}d}dddg}|jtt||��|�dddg}|jtt||��|�d}|jtt||��|�Gdd	�d	�}|jtt||���|�|jtt��g�|jttg��g�|jttd�Gd
d�d�}|jtt||��|jtt|t��Gdd
�d
�}|jtt|�td���tttd����Gdd�d�}|jt	tt|�|���dS)NrrErFrGrOrXr�c@seZdZdd�ZdS)zBuiltinTest.test_zip.<locals>.IcSs&|dks|dkrt�|dS)NrrErG)r)rrrrr
r>sz+BuiltinTest.test_zip.<locals>.I.__getitem__N)rrrrrrrr
�I=sr�c@seZdZdS)zBuiltinTest.test_zip.<locals>.GN)rrrrrrr
�GEsr�c@seZdZdd�ZdS)z4BuiltinTest.test_zip.<locals>.SequenceWithoutALengthcSs|dkrt�n|SdS)NrO)r)rrrrr
rNs	z@BuiltinTest.test_zip.<locals>.SequenceWithoutALength.__getitem__N)rrrrrrrr
�SequenceWithoutALengthMsr�rcc@seZdZdd�ZdS)z$BuiltinTest.test_zip.<locals>.BadSeqcSs|dkrt�n|SdS)NrO)rL)rrrrr
rYs	z0BuiltinTest.test_zip.<locals>.BadSeq.__getitem__N)rrrrrrrr
rXsr)rrErF)rGrOrX)rrG)rErO)rFrX)rGrOrXr�i@)
r8r:�ziprIrKr*r,r�	enumeraterL)rrNr�r�r�r�r�rrrr
�test_zip4s,"zBuiltinTest.test_zipcCs_d}d}d	d
dg}x=ttjd�D](}t||�}|j|||�q/WdS)NrrErFrGrOrX)rrErF)rGrOrX)rrG)rErO)rFrX)rr5rr�r@)rrNr�r�r?Zz1rrr
�test_zip_pickle`szBuiltinTest.test_zip_picklecs��jtdd�d�dd�}�fdd�}||���fdd	�}|d �|d�|d
�|d!�|d�|d"�|t�|d�Gdd�d�}�jtt|�d��jttt�d��jttt�t��t�jd�}�j|jd���jtt�jd��jtt�jt���jtt�jd�Gdd�d�}�jt|��d��jt|�d�d��jt|�d�d�Gdd�d�}Gdd�dt�}x�t||gD]�}	|	�}
�jt|
�t|
���jt|
d�t|
���j	tdt
j|	j���t|
d�WdQRXqWGdd�dt�}�jtd|d��d�dS)#NrFr'rEcSs~Gdd�dt�}Gdd�d|�}Gdd�dt�}Gdd�d|�}Gd	d
�d
|�}||||fS)Nc@s(eZdZdd�Zdd�ZdS)z7BuiltinTest.test_format.<locals>.classes_new.<locals>.AcSs
||_dS)N)r])rr]rrr
rqsz@BuiltinTest.test_format.<locals>.classes_new.<locals>.A.__init__cSst|j�|S)N)rr])r�format_specrrr
�
__format__sszBBuiltinTest.test_format.<locals>.classes_new.<locals>.A.__format__N)rrrrr�rrrr
r�psr�c@seZdZdS)zBBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromAN)rrrrrrr
�DerivedFromAusr�c@seZdZdS)z<BuiltinTest.test_format.<locals>.classes_new.<locals>.SimpleN)rrrrrrr
�Simplexsr�c@s(eZdZdd�Zdd�ZdS)zGBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimplecSs
||_dS)N)r])rr]rrr
rzszPBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple.__init__cSst|j�|S)N)rr])rr�rrr
r�|szRBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple.__format__N)rrrrr�rrrr
�DerivedFromSimpleysr�c@seZdZdS)zHBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple2N)rrrrrrr
�DerivedFromSimple2~sr�)rV)r�r�r�r�r�rrr
�classes_newosz,BuiltinTest.test_format.<locals>.classes_newcs��jt|d�d�d��jt|d�d�d��jt|d�d�d��jt|d	�d
�d�dS)NrF�specZ3specrGZ4specrO�abcZ5abcr$ZabcdefZ10abcdef)r8�format)r�r�r�r�)rrr
�
class_test�s
z+BuiltinTest.test_format.<locals>.class_testcs?�jt|d�t|���jt|�t|��dS)Nr')r8r�r)r�)rrr
�empty_format_spec�sz2BuiltinTest.test_format.<locals>.empty_format_spec�r?g�?g�]]^��Ug�;�q7r*c@seZdZdd�ZdS)z0BuiltinTest.test_format.<locals>.BadFormatResultcSsdS)Ng�?r)rr�rrr
r��sz;BuiltinTest.test_format.<locals>.BadFormatResult.__format__N)rrrr�rrrr
�BadFormatResult�sr�rGz<object object atc@seZdZdd�ZdS)z"BuiltinTest.test_format.<locals>.AcSs
td|�S)Nr')r�)rZfmt_strrrr
r��sz-BuiltinTest.test_format.<locals>.A.__format__N)rrrr�rrrr
r��sr�ric@seZdZdS)z"BuiltinTest.test_format.<locals>.BN)rrrrrrr
r �sr c@seZdZdS)z"BuiltinTest.test_format.<locals>.CN)rrrrrrr
r��sr�z\b%s\bc@seZdZdS)z/BuiltinTest.test_format.<locals>.DerivedFromStrN)rrrrrrr
�DerivedFromStr�sr�rr#z
         0l�.��@g�]]^���g�;�q7r�)
r8r�rVrIrKr�rT�
startswithrr�re�escaper)rr�r�r�r�r]r�r r��cls�objr�r)rr
�test_formathsJ








		zBuiltinTest.test_formatcCs�|jtd�d�|jtd�d�|jtd�d�|jtd
�ddd�|jtd�d	d
d�|jtd�ddd�|jtd�dd
d�dS)NrZ0b0rZ0b1z-0b1rEr�rZ0br z-0br�l l l����l l���� l l����l��������)r8�bin)rrrr
�test_bin�szBuiltinTest.test_bincCsFtd�}|jt|jdd�|jt|jddd�dS)Nsabc�1r�)r�rIrL�	translaterK)rr]rrr
�test_bytearray_translate�sz$BuiltinTest.test_bytearray_translatecCsoxhdttfD]W}t|�}|j|�|�|jt|dd�|jt|dddd�qWdS)NrrErNr�)�Ellipsis�NotImplementedr9�assertIsrIrK)rZconst�tprrr
�test_construct_singletons�s
z%BuiltinTest.test_construct_singletonsNg��7y�1Cg��7y�1C)Jrrrr@rMrWrbrfrorrrr�r�r�r�r�r�r�r�r�rrrrrr!r%r'r*r-r0r2r8r@rCrWrarergrmrqr|r�r�r�r�r�r��platform�systemr��machineZlinux_alphar�Zsystem_round_bug�unittestZskipIfr�r�r�r�r��staticmethodr�r�rVr�r�r�r�r�r�r�r�rrrr
r4}s�
#".ME$	
<441%
Q
		,e	r4z,the pty and signal modules must be availablec@saeZdZdZdd�Zddd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�PtyTestszhTests that use a pseudo terminal to guarantee stdin and stdout are
    terminals in the test environmentc3Cstj�\}}ytj�\}}Wn^ttfk
r�}z8tj|�tj|�|jdj|���WYdd}~XnX|dkrzZyAt	j
d�tj|�t|d��}||�WdQRXWntj
�YnXWdtjd�Xtj|�tj||�t|d��@}	g}
x0|	j�j�}|dkrWP|
j|�q8WWdQRXt|
�dkr
t�}xDytj|d�}
Wntk
r�PYnX|
s�P|j|
�q�Wtj|�|jdd	�}|jd
t|
�|f�tj|�|
S)Nzpty.fork() raised {}rrErhrnr'i�rgr�z9got %d lines in pipe but expected 2, child output was:
%s)ru�pipe�pty�fork�OSErrorrr��skipTestr��signal�alarmrk�	traceback�	print_exc�_exitrror�rrr�rp�extend�decoderS)r�child�terminal_inputrnrh�pid�fdr/�wpipeZrpipe�linesrZchild_output�chunkrrr
�	run_child�sT




	

	
zPtyTests.run_childNcs�tjj�s tjj�r-|jd���fdd�}|j||d�}|j|dddh�|ddkr�|jd�t|d	�}�r�|j�d
�}n|jtjj	�}|j
||�dS)Nzstdin and stdout must be ttyscs��rTtjtjj�d�dd�t_tjtjj�d�dd�t_tdtjj�outjj�d|�ttt	���d|�dS)Nry�errors�surrogateescape�replaceztty =�file)
r��
TextIOWrapperrAr��detachr�print�isattyrgr�)r�)r��stdio_encodingrr
r� s+z'PtyTests.check_input_tty.<locals>.childs
rz
tty = Trueztty = Falsez%standard IO in should have been a ttyrr�)rAr�r�rr�r�r�r�r�ryr8)rr�r�r�r�r�Zinput_result�expectedr)r�r�r
�check_input_ttys 

zPtyTests.check_input_ttycCs|jdd�dS)Nr�squux)r)rrrr
�test_input_tty7szPtyTests.test_input_ttycCs|jddd�dS)Nupromptésquux�zutf-8)r)rrrr
�test_input_tty_non_ascii<sz!PtyTests.test_input_tty_non_asciicCs|jddd�dS)Nupromptésquux�rg)r)rrrr
�'test_input_tty_non_ascii_unicode_errors@sz0PtyTests.test_input_tty_non_ascii_unicode_errorscCs8dd�}|j|d�}d}|j||�dS)NcSs[tdtjj�d|�tj�t_td�tdttjj	��d|�dS)Nzstdin.isatty():r�r�z	captured:)
r�rAr�r�r�r�rr�rg�getvalue)r�rrr
r�Gs
z3PtyTests.test_input_no_stdout_fileno.<locals>.childsquux
�stdin.isatty(): True�captured: 'prompt')rr)r�ZassertSequenceEqual)rr�r�rrrr
�test_input_no_stdout_filenoDs
z$PtyTests.test_input_no_stdout_fileno)
rrrr�r�rrrrrrrrr
r��s6r�c@s4eZdZdd�Zdd�Zdd�ZdS)�
TestSortedcCs�ttd��}|dd�}tj|�|j|t|��|j||�|j�tj|�|j|t|ddd���|j||�tj|�|j|t|dd��|j||�dS)Nr&r�cSs|S)Nr)r]rrr
rt^sz'TestSorted.test_basic.<locals>.<lambda>�reverser)r:rrOZshuffler8r�r�r
)rrV�copyrrr
�
test_basicUs


"
zTestSorted.test_basiccCs�d}tttg}x0|D](}|jt|�t||���qWdjt|��}ttttttj	g}x0|D](}|jt|�t||���qWdS)NZabracadabrar')
r:�tuplerr8r��joinr��	frozensetr��fromkeys)rrir��Trrr
�test_inputtypesds
&
zTestSorted.test_inputtypescCs/dj�}|jtt|ddd��dS)Nz,The quick Brown fox Jumped over The lazy DogcSsdS)Nrr)r]rsrrr
rtqsz.TestSorted.test_baddecorator.<locals>.<lambda>)�splitrIrKr�)rrVrrr
�test_baddecoratoroszTestSorted.test_baddecoratorN)rrrrrrrrrr
r	Ssr	c@seZdZdd�ZdS)�ShutdownTestcCsJd}td|dd�\}}}|jddg|j�j��dS)Nafif 1:
            import builtins
            import sys

            class C:
                def __del__(self):
                    print("before")
                    # Check that builtins still exist
                    len(())
                    print("after")

            c = C()
            # Make this module survive until builtins and sys are cleaned
            builtins.here = sys.modules[__name__]
            sys.here = sys.modules[__name__]
            # Create a reference loop so that this module needs to go
            # through a GC phase.
            here = sys.modules[__name__]
            z-cZPYTHONIOENCODINGrgZbefore�after)rr8r��
splitlines)rr��rc�out�errrrr
�test_cleanupvszShutdownTest.test_cleanupN)rrrrrrrr
rtsrc@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�TestTypecCs�tdfi�}|j|jd�|j|jd�|j|jt�|j|jtf�|j|jt�|�}|jt|�|�|j|j	|�Gdd�d�}td|t
fddd�i�}|j|jd�|j|jd�|j|jt�|j|j|t
f�|j|jt
�|jd|j�|j
d|j�|d	�}|j|d	�|jt|�|�|j|j	|�|j|j�d
�|j|j�d�|j|jdd
�d�dS)Nr�c@seZdZdd�ZdS)z!TestType.test_new_type.<locals>.BcSsd|S)Nzham%dr)rrrr
r(�sz%TestType.test_new_type.<locals>.B.hamN)rrrr(rrrr
r �sr r�r�cSsd|S)Nzspam%sr)rrrr
rt�sz(TestType.test_new_type.<locals>.<lambda>r(r[Zham42Zspam42rE�littles*)r9r8rrr�	__bases__rVr��__base__r�rqr�r�r�r(r��to_bytes)rr�r]r r�rrr
�
test_new_type�s2	$zTestType.test_new_typec
Cs�Gdd�d�}tjtddd|tfdddd	�i�}|j|jd�|j|jd�|j|jt�|j|j|tf�|j|j	t�|j
d|j�|jd
|j�dS)Nc@seZdZdd�ZdS)z*TestType.test_type_new_keywords.<locals>.BcSsd|S)Nzham%dr)rrrr
r(�sz.TestType.test_type_new_keywords.<locals>.B.hamN)rrrr(rrrr
r �sr rCr��basesr�r�cSsd|S)Nzspam%sr)rrrr
rt�sz1TestType.test_type_new_keywords.<locals>.<lambda>r()
r9�__new__rqr8rrrrr�rr�r�r�)rr r�rrr
�test_type_new_keywords�szTestType.test_type_new_keywordsc-CsxsdD]k}|jd|��Pt|fi�}|j|j|�|j|j|�|j|jt�WdQRXqW|jt��tdfi�WdQRX|jt��td	fi�WdQRX|jt��td
fi�WdQRXtdfi�}xjd
D]b}|jd|��G||_|j|j|�|j|jd�|j|jt�WdQRXqWtdfi�}|jt��d|_WdQRX|j|jd�|jt��d	|_WdQRX|j|jd�|jt��d
|_WdQRX|j|jd�dS)Nr��Ä�🐍�B.A�42r'rCzABuA�Br�r�)r�r%r&r'r(r')r�r%r&r'r(r')	ZsubTestr9r8rrrrIrLrK)rrCr�r�rrr
�test_type_name�s:

	zTestType.test_type_namecCs�tdfddi�}|j|jd�|j|jd�|j|jt�|jt��tdfddi�WdQRX|j|jd�d|_|j|jd�|j|jd�|jt��d|_WdQRX|j|jd�dS)Nr�rzB.C�BzD.E)r9r8rrrrIrK)rr�rrr
�test_type_qualname�s	zTestType.test_type_qualnamecCs�x9d
D]1}tdfd|i�}|j|j|�qW|jt��tdfdd	i�WdQRXtdfi�}|j|jd�x*dD]"}||_|j|j|�q�WdS)Nr]r%�🐍�xy�xr[r�r��x�y)r]r%r,r-r.r[N)r]r%r,r-r/r.r[N)r9r8r�rI�UnicodeEncodeError)rr�r�rrr
�
test_type_doc�s

	zTestType.test_type_doccCCso|jt��t�WdQRX|jt��tdf�WdQRX|jt��tdfif�WdQRX|jt��tdfdi�WdQRX|jt��tdgi�WdQRX|jt��tdftji��WdQRX|jt��tddi�WdQRX|jt��tdtfi�WdQRX|jt��tdttfi�WdQRXdS)Nr�r�)N)rIrKr9r��MappingProxyType�boolrqr)rrrr
�
test_bad_argss$ zTestType.test_bad_argscKCs�|jt��tdfddi�WdQRX|jt��tdtfddi�WdQRX|jt��tdfddi�WdQRX|jt��tdfddi�WdQRX|jt��tdfddi�WdQRX|jt��!tdfddddi�WdQRX|jt��tdfdd
i�WdQRX|jt��tdfddi�WdQRXGdd�d�}|jt��td|fdd	i�WdQRX|jt��td|fdd
i�WdQRXdS)Nr�r�r.r]r'r(zxyrr��__weakref__c@seZdZdS)z"TestType.test_bad_slots.<locals>.BN)rrrrrrr
r )sr )r�r�)r5r5)rIrKr9rqrL)rr rrr
�test_bad_slotss* # zTestType.test_bad_slotsN)
rrrr!r$r)r+r1r4r6rrrr
r�s!
rcCs'ddlm}|j|t��|S)Nr)�DocTestSuite)Zdoctestr7ZaddTestr�)�loaderZtests�patternr7rrr
�
load_tests1sr:�__main__)5r�r�r�r�r�r�rwrur5r�rOr�rAr�r�r�r��operatorrZtest.supportrrrrZtest.support.script_helperrr�r�rJrrrrhrUrLrr2Ztest_conv_no_signZtest_conv_signr)r,r1r3ZTestCaser4Z
skipUnlessr�r	rrr:r�mainrrrr
�<module>s�"
																																�����jp!"�