Your IP : 216.73.216.213


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-2.pyc



���]��@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�1/opt/alt/python35/lib64/python3.5/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�sys�time�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)rrrrRrrrr
�AbsClass�srSrPi.���g��Q�	�rQ)r8�abs�
assertTruerA�maxsizerJrL�object)rrSr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)NrFrH�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�allrJr*r)r,rL)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)NFrHTrYr$rFrr`r[�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�anyrJr*r)r,rL)rrbr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.')r8rhr)rrOrkrjr)rr
�
test_ascii�s4











zBuiltinTest.test_asciicCs@tjd}|jt|t��|j|tjd�dS)Nr)rArVrU�
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)
NrOcSs||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)rrrrwrrrr
�C1srxcSsdS)Nrr)rrrr
ru
sc@seZdZdd�ZdS)z%BuiltinTest.test_callable.<locals>.C2cSsdS)Nr)rrrr
�__call__sz.BuiltinTest.test_callable.<locals>.C2.__call__N)rrrryrrrr
�C2srzc@seZdZdS)z%BuiltinTest.test_callable.<locals>.C3N)rrrrrrr
�C3sr{)rU�callabler�assertFalse�__builtins__rwryrW)rrvrx�crz�c2r{Zc3r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�arO��ÿr�z
\U0010ffffrhzunicode-escapei��u￿iu𐀀iu𐀁i��u󿿾i��u󿿿iu􀀀iu􀀁i��u􏿾i��u􏿿irFi���l)
r8r2rJrMrA�
maxunicoder�encoderL�
OverflowError)rrrr
�test_chrs(zBuiltinTest.test_chrcCs|jttd��dS)NZcmp)rU�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_inheritr�tmpr�evalrstextrDz
print(42)
z<string>ZbadmodeZsingler�rvuprint("å")
za = 1Zbadz�def f():
        """doc"""
        try:
            assert False
        except AssertionError:
            return (True, f.__doc__)
        else:
            return (False, f.__doc__)
        cSsdS)Nrrrrr
rvRsz#BuiltinTest.test_compile.<locals>.fT�docFrFz<test>�optimizer�)rTr�)rFr�)rFFN)�compile�
memoryviewrJrLrMr2r�	__debug__�__doc__r�ast�parser�r8)
r�bomZcodestrrv�valuesZoptvalZdebugvalZ	docstringZcodeobjsZtree�code�ns�rvrrr
�test_compile5s@	


zBuiltinTest.test_compilecCs*dt_ttd�|jtt�dS)Nr�spam)rAr��delattrrJrL)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^rt�z)rrrr
rs		z*BuiltinTest.test_dir.<locals>.Foo.__init__N)rrrrrrrr
r�~srtc@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�brrO)r�rrOr)rrrr
r��sz)BuiltinTest.test_dir.<locals>.Foo.__dir__N)rrrr�rrrr
r��srOr�rc@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rFrH)rJrL�dir�assertInrA�types�
ModuleTyper�assertNotInrWrUZassertIsInstancer:rr8r�exc_info�sortedr�)rr�r�rv�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�rrPrFr�
@��?�@��?g@��?)rrPi����)r�rFi����r�r�)r�r�i�i����rQ)rrQr��r�r�)r�r�r��
����r�r�)r�r�r������迩r�r�)r�r�r��
����п�r�r�)r�r�r�)r8�divmodrArV�assertAlmostEqualrJrL)r�numZdenomZ
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+1rFz 1+1
rOrr���ri,s�au"å"�åc@seZdZdd�ZdS)z BuiltinTest.test_eval.<locals>.XcSs
t�dS)N)rM)r�keyrrr
r�sz,BuiltinTest.test_eval.<locals>.X.__getitem__N)rrrrrrrr
�X�sr�r�)r8r�rJrL�SyntaxErrorrM)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(eZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.McSs|dkrdSt�dS)NrOr�)�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)rrrrr�rrrr
�M�sr�rOr�r�zdir()r�z	globals()zlocals()c@seZdZdS)z(BuiltinTest.test_general_eval.<locals>.AN)rrrrrrr
r��sr�c@s(eZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.DcSs |dkrdStj||�S)NrOr�)�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@s.eZdZiZdd�Zdd�ZdS)z2BuiltinTest.test_general_eval.<locals>.SpreadSheetcSs||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�rrrrr
�SpreadSheetsr��5Za1za1*6Za2za2*7�a3��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�rJ�	NameErrorr:rLr��collections�UserDict)
rr��m�gr�r�r.r��ssr�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+1rF�ignorezglobal statement�modulez<string>zglobal a; a = 1; b = 2rOr�)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rcs"eZdZ�fdd�ZdS)z1BuiltinTest.test_exec_globals.<locals>.frozendictcs�d��dS)Nzfrozendict is readonlyr)rr��value)rrr
r�Msz=BuiltinTest.test_exec_globals.<locals>.frozendict.__setitem__N)rrrr�r)rrr
�
frozendictLsrz1__builtins__['superglobal']=2; print(superglobal)Ztestzx=1)
r��assertRaisesRegexr�r�rJrL�	Exceptionr�rqr~r�r�r�)rr�rZfrozen_builtins�	namespacer)rr
�test_exec_globals;s(			zBuiltinTest.test_exec_globalscCsJtj}dt_z'ytd�Wntk
r7YnXWd|t_XdS)NrO)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)NrOr�r)rrrr
ruksz)BuiltinTest.test_filter.<locals>.<lambda>zHello WorldZelloorldrZhellorGr'r"rcSs
|dkS)Nrr)r^rrr
rumsrFr$rH���$�1�@�QcSs|dS)NrFr)r^rrr
ruoscSsdS)Nrr)r�rrr
�identitypsz)BuiltinTest.test_filter.<locals>.identityrPc@seZdZdd�ZdS)z'BuiltinTest.test_filter.<locals>.BadSeqcSs|dkrdSt�dS)NrHr\)rM)r�indexrrr
rusz3BuiltinTest.test_filter.<locals>.BadSeq.__getitem__N)rrrrrrrr
�BadSeqtsrcSs|S)Nr)r^rrr
ruyscSsdS)Nrrrrr
�badfunczsz(BuiltinTest.test_filter.<locals>.badfunccSs
|dkS)NrGr)r^rrr
ru�sr\���)rrF)rrFrGrH)rrF)	r8r:�filterrrJrLrWrM�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�픞)	rU�getattrrArrJrL�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)rrrr%rrrr
r��sr�r�c@seZdZdd�ZdS)z#BuiltinTest.test_hasattr.<locals>.BcSs
t�dS)N)rM)rr$rrr
r%�sz/BuiltinTest.test_hasattr.<locals>.B.__getattr__N)rrrr%rrrr
�B�sr&)
rUr�rArJrLr8r2r�r#rM)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�sspamrrFrGcSsdS)Nrrrrr
rv�sz BuiltinTest.test_hash.<locals>.fc@seZdZdd�ZdS)z BuiltinTest.test_hash.<locals>.XcSsdS)NrFr&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\)rrrFrG)�hashr8rJrLr9rr)rrvr�r)rrr
�	test_hash�s


zBuiltinTest.test_hashcCsC|jtd�d�|jtd�d�|jtti�dS)NrZ0x10z-0x10i�)r8�hexrJrL)rrrr
�test_hex�szBuiltinTest.test_hexcCshtd�td�td�td�td	�tddddg�tddddddi�dS)
Nrg�?r�rrFrGZeggs�ham)rrrFrG)�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 r1)rJrL�iterr8r;r<)rZlistsrrr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r4r�)rUrqrJrL)rr�r�r4rr.�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
r4�sr4r�)rU�
issubclassrJrL)rr�r�r4rr.r5r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�123rGrrrFrHrOr�c@seZdZdd�ZdS)z$BuiltinTest.test_len.<locals>.BadSeqcSs
t�dS)N)rM)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r:c@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r;c@seZdZdd�ZdS)z%BuiltinTest.test_len.<locals>.HugeLencSstjdS)Nr)rArV)rrrr
rsz-BuiltinTest.test_len.<locals>.HugeLen.__len__N)rrrrrrrr
�HugeLensr<c@seZdZdS)z)BuiltinTest.test_len.<locals>.NoLenMethodN)rrrrrrr
�NoLenMethodsr=)rrFrGrH)r8rrJrMrLr�rW)rrr:r;r<r=r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
rusz&BuiltinTest.test_map.<locals>.<lambda>rrHr"r)�sqrtcSs
t|d�S)Ng�?)�pow)r^rrr
r?sz"BuiltinTest.test_map.<locals>.sqrtcstt�|��S)N)r:�map)r^)r?rr
rusrrg@g@g"@g@cSs||S)Nr)r^rtrrr
rusrGrFr$rYcWs%d}x|D]}||}q
W|S)Nrr)�vZaccurrrr
�plus!s
z"BuiltinTest.test_map.<locals>.plusr�rrrrcSs-|dkr|S|dkr |St||�S)N)r	)rOr�rrr
�Max5s
z!BuiltinTest.test_map.<locals>.MaxcSs|S)Nr)r^rrr
ru@sr\c@seZdZdd�ZdS)z$BuiltinTest.test_map.<locals>.BadSeqcsst�dVdS)N)rM)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
ruEscSs
t�dS)N)r*)r^rrr
rFsz%BuiltinTest.test_map.<locals>.badfuncrPrPr�r"rPrYr��
r"r")
r8r:rAr�mathr?rKrrrrJrLrMr*)rrCrDrrr)r?r
�test_mapsH!
0-'3%!
%zBuiltinTest.test_mapcCsYxRttjd�D]=}ttd�}ttd�}|j|t|�|�qWdS)NrzIs this the real life?)rr5rrAr3r@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�3rrFrGg@g@g�?r\c@seZdZdd�ZdS)z$BuiltinTest.test_max.<locals>.BadSeqcSs
t�dS)N)rM)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)rZN)rVrW)r]�elemrrr
r_sz'BuiltinTest.test_max.<locals>.<genexpr>)rrFrGrrFrG)rMrNrOrPrQrRrSrT)r)rrF)r)rrF)rrFr�)r8r	rJrLrMr�r��failrrr�rr��reversed)rr�stmt�datar�rvr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)#NrKr rrFrGg@g@g�?r\c@seZdZdd�ZdS)z$BuiltinTest.test_min.<locals>.BadSeqcSs
t�dS)N)rM)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�rUcSsg|]}tjd��qS)r�)rVrW)r]rrrr
rX�s	z(BuiltinTest.test_min.<locals>.<listcomp>r&css$|]}|tjd�fVqdS)rZN)rVrW)r]rYrrr
r_�sz'BuiltinTest.test_min.<locals>.<genexpr>r)rrFrGrrFrG)r_r`rarbrcrdrerf)r)rrF)r)rrF)rrF)
r8�minrJrLrMr�r�rZrrr�rr�)rrr\r]r�rvr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)	NrFrrr\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-rirrrr
�Iter�srjcss	dVdS)Nrrrrrr
�gen�sz"BuiltinTest.test_next.<locals>.gen)r2rr8r;rJr<rW)rr=rjrkrrr
�	test_next�s	zBuiltinTest.test_nextcCsC|jtd�d�|jtd�d�|jttf�dS)Nr&Z0o144z-0o144i����)r8�octrJrL)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�rrHz1+1
z-The quick brown fox jumps over the lazy dog.
ZDearr&z John
i,rpi�rqzabsab)rtrrrr8�readline�readrJrM)rrsr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_CTYPEFro)ryrzr{)r��os�environrt�locale�getpreferredencodingrrrr8�encoding�clear�update)rZold_environr�Zcurrent_locale_encodingrsrrr
�test_open_default_encoding�s


z&BuiltinTest.test_open_default_encodingc
Cs:tt�}|�!|jtj|j���WdQRXdS)N)rr�__file__r}r|�get_inheritable�fileno)r�fileobjr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�rOr��€�r�r�� �Ar�s�s�r\i��u￿i��u𐀀iu𐀁iu󿿾i��u󿿿i��u􀀀iu􀀁iu􏿾i��u􏿿)r8r/r2rAr�rJrL)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)3NrrrFr$irerdrHrGr�gg�?�@g�@g@g @�$@���@�@g8@g�?y�?y�LX�z��?iii@r�r�r�r�r�i����g0Ag0Ag�Ag�g�g�g�g�g �)rFr�)r$r�)r�r�r�r�gUUUUUU�?y�?�LX�z��?r�r�)r8r@r�rq�floatrJrLrM)rr^rtr�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)
Nruz1+1z,The quick brown fox jumps over the lazy dog.ztesting
z	Dear JohnzNULLr\z    'whitespace'�prompt)rtrrrrA�stdinrrr8�input�closerJrM�io�StringIOrL�EOFErrorr*)rrsZ	savestdinrr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: {...}})r8rir)rrOr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@rYg@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�rFrGcWs|S)Nr)�argsrrr
ru�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�roundr9rrr�rJrLr�)rr�r��trrr
�
test_round�sb	zBuiltinTest.test_roundZLinux�alphag��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�1CrrFrGg��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�rJrL)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)NrrFr��r$irrGr\rOr�rr'r��c��bc@seZdZdd�ZdS)z$BuiltinTest.test_sum.<locals>.BadSeqcSs
t�dS)N)rM)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:rr2rrJrL�	bytearrayrM)rr�r�emptyrrr
�test_sum�s*%+"4%) zBuiltinTest.test_sumcCs<|jtd�td��|jtd�tf��dS)Nr'r9)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)NrrF)r4r�r�)rOr�rrr
�get_vars_f2s
zBuiltinTest.get_vars_f2c@s+eZdZdd�Zede�ZdS)zBuiltinTest.C_get_varscCs
ddiS)NrOrFr)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)NrOrr�rFr\)
r8�setr�r�rAr�r�rJrLr�)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)NrrFrGrHrPrYr�c@seZdZdd�ZdS)zBuiltinTest.test_zip.<locals>.IcSs&|dks|dkrt�|dS)NrrFrH)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)NrP)r)rrrrr
rNs	z@BuiltinTest.test_zip.<locals>.SequenceWithoutALength.__getitem__N)rrrrrrrr
�SequenceWithoutALengthMsr�rdc@seZdZdd�ZdS)z$BuiltinTest.test_zip.<locals>.BadSeqcSs|dkrt�n|SdS)NrP)rM)rrrrr
rYs	z0BuiltinTest.test_zip.<locals>.BadSeq.__getitem__N)rrrrrrrr
rXsr)rrFrG)rHrPrY)rrH)rFrP)rGrY)rHrPrYr�i@)
r8r:�ziprJrLr*r,r�	enumeraterM)rrOr�r�r�r�r�rrrr
�test_zip4s,"zBuiltinTest.test_zipcCs_d}d}d	d
dg}x=ttjd�D](}t||�}|j|||�q/WdS)NrrFrGrHrPrY)rrFrG)rHrPrY)rrH)rFrP)rGrY)rr5rr�r@)rrOr�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)#NrGr'rLcSs~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�)rW)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)NrG�specZ3specrHZ4specrP�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�rEg�?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�rHz<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�rjc@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�rWrJrLr�rU�
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-0b1rFr�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�rJrM�	translaterL)rr^rrr
�test_bytearray_translate�sz$BuiltinTest.test_bytearray_translatecCsoxhdttfD]W}t|�}|j|�|�|jt|dd�|jt|dddd�qWdS)NrrFrOr�)�Ellipsis�NotImplementedr9�assertIsrJrL)r�const�tprrr
�test_construct_singletons�s
z%BuiltinTest.test_construct_singletonsNg��7y�1Cg��7y�1C)Jrrrr@rNrXrcrgrprsr�r�r�r�r�r�r�r�r�rr
r
rrr"r'r+r-r0r3r6r8r>rGrJr^rhrlrnrtrxr�r�r�r�r�r�r��platform�systemr��machineZlinux_alphar�Zsystem_round_bug�unittestZskipIfr�r�r�r�r��staticmethodr�r�rWr�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@s[eZdZdd�Zddd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�PtyTestsc3Cstj�\}}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 {}rrFrorur'i�rhr�z9got %d lines in pipe but expected 2, child output was:
%s)r|�pipe�pty�fork�OSErrorr!r��skipTestr��signal�alarmrr�	traceback�	print_exc�_exitrrvr�rrr�rw�extend�decoderZ)r�child�terminal_inputruro�pid�fdr5�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)Nr��errors�surrogateescape�replaceztty =�file)
r��
TextIOWrapperrAr��detachr�print�isattyrhr�)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�rrr�rr�r�r�r�r8)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�rh)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():rr�z	captured:)
rrAr�rr�r�rr�rh�getvalue)r�rrr
r�Gs
z3PtyTests.test_input_no_stdout_fileno.<locals>.childsquux
�stdin.isatty(): True�captured: 'prompt')rr)rZassertSequenceEqual)rr�r�r
rrr
�test_input_no_stdout_filenoDs
z$PtyTests.test_input_no_stdout_fileno)	rrrrrrr
rrr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
ru^sz'TestSorted.test_basic.<locals>.<lambda>�reverser)r:rrV�shuffler8r�r�r)rr]�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)rrjr��Trrr
�test_inputtypesds
&
zTestSorted.test_inputtypescCs/dj�}|jtt|ddd��dS)Nz,The quick Brown fox Jumped over The lazy DogcSsdS)Nrr)r^rtrrr
ruqsz.TestSorted.test_baddecorator.<locals>.<lambda>)�splitrJrLr�)rr]rrr
�test_baddecoratoroszTestSorted.test_baddecoratorN)rrrrrrrrrr
rSsrc@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-cZPYTHONIOENCODINGrhZbefore�after)rr8r��
splitlines)rr��rc�out�errrrr
�test_cleanupvszShutdownTest.test_cleanupN)rrrr&rrrr
r tsr c@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
ru�sz(TestType.test_new_type.<locals>.<lambda>r.r\Zham42Zspam42rF�littles*)r9r8rrr�	__bases__rWr��__base__r�rrr�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&rDr��basesr�r�cSsd|S)Nzspam%sr)rrrr
ru�sz1TestType.test_type_new_keywords.<locals>.<lambda>r.)
r9�__new__rrr8rrrr)r�r*r�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'rDzABuA�Br�r�)r�r0r1r2r3r')r�r0r1r2r3r')	ZsubTestr9r8rrrrJrMrL)rrDr�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)r9r8rrrrJrL)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^r0�🐍�xy�xr\r�r��x�y)r^r0r7r8r9r\N)r^r0r7r8r:r9r\N)r9r8r�rJ�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)rJrLr9r��MappingProxyType�boolrrr)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�r9r^r'r3zxyrr��__weakref__c@seZdZdS)z"TestType.test_bad_slots.<locals>.BN)rrrrrrr
r&)sr&)r�r�)r@r@)rJrLr9rrrM)rr&rrr
�test_bad_slotss* # zTestType.test_bad_slotsN)
rrrr,r/r4r6r<r?rArrrr
r'�s!
r'cCs'ddlm}|j|t��|S)Nr)�DocTestSuite)�doctestrBZaddTestr�)�loaderZtests�patternrBrrr
�
load_tests1srF�__main__)5r�r�r�r�r�r�r~r|r5r�rVr�rAr�r�r�r��operatorrZtest.supportrrrrZtest.support.script_helperrr�r�rKrrrrirVrMrr2Ztest_conv_no_signZtest_conv_signr)r,r1r3ZTestCaser4Z
skipUnlessr�rr r'rFr�mainrrrr
�<module>s�"
																																�����jp!"�