HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_builtin.cpython-310.pyc
o

�i�W�@s,ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZddlmZddlmZddlmZddlmZddlmZmZddlm Z dd	l!m"Z"dd
l#m$Z$m%Z%ddl&m'Z'm(Z(m)Z)ddl*m+Z+dd
l,m-Z-ddl.m/Z/m0Z0z
ddl1Z1ddl2Z2Wn
e3y�dZ1Z2YnwGdd�d�Z4Gdd�d�Z5Gdd�d�Z6dddddddddde7ej8�ej8fde9fd d!e9fd"e9fd#e9fd$e9fe:d%d&�d'fe;d(�e9fgZ<dddddddd)e9fdd*e9fe7ej8�ej8fde9fd+e9fd!e9fd"e9fd#e9fd$e9fe:d%d&�d'fe;d(�e9fgZ=Gd,d-�d-�Z>Gd.d/�d/�Z?d0d1�Z@d2d3�ZAGd4d5�d5ejB�ZCGd6d7�d7ejB�ZDe�Ee1d8�Gd9d:�d:ejB��ZFGd;d<�d<ejB�ZGGd=d>�d>ejB�ZHGd?d@�d@ejB�ZIdAdB�ZJeKdCk�r�e�L�dSdS)D�N)�	ExitStack)�partial)�CO_COROUTINE)�product)�dedent)�AsyncGeneratorType�FunctionType)�neg)�support)�	swap_attr�maybe_get_event_loop_policy)�EnvironmentVarGuard�TESTFN�unlink)�assert_python_ok)�check_warnings)�	MagicMock�patchc@�$eZdZdd�Zdd�Zdd�ZdS)�SquarescC�||_g|_dS�N��max�sofar��selfr�r�./usr/local/lib/python3.10/test/test_builtin.py�__init__+�
zSquares.__init__cC�
t|j�Sr��lenr�rrrr�__len__/s
zSquares.__len__cCsZd|kr|jkst�t�t|j�}||kr(|j�||�|d7}||ks|j|S�Nr�)r�
IndexErrorr#r�append�r�i�nrrr�__getitem__1s
�
zSquares.__getitem__N��__name__�
__module__�__qualname__rr%r-rrrrr)src@r)�
StrSquarescCrrrrrrrr;r zStrSquares.__init__cCr!rr"r$rrrr%?�
zStrSquares.__len__cCs^d|kr|jkst�t�t|j�}||kr*|j�t||��|d7}||ks|j|Sr&)rr(r#rr)�strr*rrrr-Bs�
�
zStrSquares.__getitem__Nr.rrrrr29sr2c@�eZdZdd�ZdS)�	BitBucketcC�dSrr)r�linerrr�writeL�zBitBucket.writeN)r/r0r1r9rrrrr6K�r6)�0r)�1r')�9�	)�10�
)Z99�c)Z100�d)Z314�:)� 314rD)z314 rD)�  		  314  		  rDz  1x)�  1  r'z  1  �� z  		  s\u0663\u0661\u0664 zraw-unicode-escaperDirErFrGc@r5)�TestFailingBoolcC�t�r��RuntimeErrorr$rrr�__bool__|r:zTestFailingBool.__bool__N)r/r0r1rNrrrrrJ{r;rJc@r5)�TestFailingItercCrKrrLr$rrr�__iter__�r:zTestFailingIter.__iter__N�r/r0r1rPrrrrrOr;rOcCst|�td�kS)N�d)�ord��argrrr�filter_char��rVcCstt|�d�S�Nr')�chrrSrTrrr�map_char�rWrZc@s�eZdZdd�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-e.�/e0j1j2dW�dXdY��Z3dZd[�Z4d\d]�Z5d^d_�Z6d`da�Z7dbdc�Z8ddde�Z9e:�;��<df�o�e:�=��<dg�Z>e?dh�dhkZ@e.�/e>o�e@di�djdk��ZAdldm�ZBdndo�ZCdpdq�ZDdrds�ZEeFdtdu��ZGeFdvdw��ZHGdxdy�dyeI�ZJdzd{�ZKd|d}�ZLd~d�ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUeVjWd�d���ZXd�d��ZYd�d��ZZd�d��Z[d�d��Z\d�d��Z]d�d��Z^d�S)��BuiltinTestcCs�|}t�||�}t�|�}|�t|�t|��|�t|�|�t�|�}zt|�Wn
ty4YdSwt�||�}t�|�}|�t|�|dd��dSrX)�pickle�dumps�loads�assertEqual�type�list�next�
StopIteration)r�it�seq�protoZitorgrRrrr�check_iter_pickle�s

�
zBuiltinTest.check_iter_picklec
Cs�td�td�td�tdd�tddd�|�ttd�|�ttdd	d
d�|�ttd�|jttddd�|�t��|jttdddd
d�iddd�Wd�n1sXwY|�ttd�dS)N�sys�time�string��namer)rl�levelZspamspamr'���rH�__main__)�__package__�__spec__r/)�foo)�locals�fromlistrmzstring)�
__import__�assertRaises�ModuleNotFoundError�	TypeError�
ValueError�assertWarns�
ImportWarning�ImportErrorr$rrr�test_import�s 


��zBuiltinTest.test_importcCs�|�td�d�|�td�d�|�td�d�|�ttjd�dk�|�td�d�|�td�d�|�td�d�|�ttd�|�td	�d�|�td
�d�|�tt�|�ttd�Gdd�dt�}|�t|��d
�dS)Nr��i.���r'�g��Q�	@g��Q�	��aTFc@r5)z&BuiltinTest.test_abs.<locals>.AbsClasscS�dS)N���rr$rrr�__abs__�r:z.BuiltinTest.test_abs.<locals>.AbsClass.__abs__N)r/r0r1r�rrrr�AbsClass�r;r�r�)r_�abs�
assertTruerh�maxsizerxrz�object)rr�rrr�test_abs�szBuiltinTest.test_abscCs�|�tgd��d�|�tgd��d�|�ttdt�dg�|�ttt��|�ttd�|�tt�|�ttgd�g�|�tg�d�|�tdt�g�d�d	d
g}|�tdd�|D��d�gd
�}|�tdd�|D��d�dS)N�rnrp�T)rnNr�Frnr�rAr�2�<cs��|]}|dkVqdS��*Nr��.0�xrrr�	<genexpr>���z'BuiltinTest.test_all.<locals>.<genexpr>)r��(r�csr�r�rr�rrrr��r�)r_�allrxrMrJrOrz�r�Srrr�test_all��zBuiltinTest.test_allcCs�|�tgd��d�|�tgd��d�|�ttdt�dg�|�ttt��|�ttd�|�tt�|�ttgd�g�|�tg�d�|�tdt�g�d�gd	�}|�td
d�|D��d�gd�}|�td
d�|D��d�dS)N)NNNF)NrpNTr�rAr�r')r�r��csr�r�rr�rrrr��r�z'BuiltinTest.test_any.<locals>.<genexpr>)rA�r�csr�r�rr�rrrr��r�)r_�anyrxrMrJrOrzr�rrr�test_any�r�zBuiltinTest.test_anycs��td�d���td�d���td�d���tg�d���ti�d�g}|�|���t|�d	�i}||d<��t|�d
��fdd�}|d
�|d�|d�|d�|d�|d�|d�|d�|d�|d���td�d�d}��t|�d�dS)NrH�''rr<r�()�[]�{}�[[...]]�
{0: {...}}cs��t|�t|��dSr)r_�ascii�repr)�sr$rr�
_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.')r_r�r))rr�r�r�rr$r�
test_ascii�s6

�zBuiltinTest.test_asciicCs4tjd}|�t|t��|�|tjd�dSrX)rhr�r��
isinstance�intr_�rr�rrr�test_negszBuiltinTest.test_negcCs>|�tt��|�td��|�tt��|�tdd���|�tt��dd�}|�t|��Gdd�d�}|�t|��|�}|�t|j��|�t|��d|_|�t|��dd�|_|�t|��|`|�t|��Gd	d
�d
t�}|�}|�t|��d|_|�t|��Gdd�d|�}|�}|�t|��dS)
Nr�cS�||Srr�r��yrrr�<lambda>�z+BuiltinTest.test_callable.<locals>.<lambda>cSr7rrrrrr�f�z$BuiltinTest.test_callable.<locals>.fc@r5)z%BuiltinTest.test_callable.<locals>.C1cSr7rrr$rrr�methr�z*BuiltinTest.test_callable.<locals>.C1.methN)r/r0r1r�rrrr�C1r;r�cSr��Nrrr$rrrr�r�c@r5)z%BuiltinTest.test_callable.<locals>.C2cSr7rrr$rrr�__call__$r�z.BuiltinTest.test_callable.<locals>.C2.__call__N)r/r0r1r�rrrr�C2#r;r�c@�eZdZdS)z%BuiltinTest.test_callable.<locals>.C3N�r/r0r1rrrr�C3)�r�)r��callabler#�assertFalse�__builtins__r�r�r�)rr�r��cr��c2r�Zc3rrr�
test_callables4
zBuiltinTest.test_callablecCs:|�td�d�|�td�d�|�td�d�|�td�d�|�ttd	�|�ttj�td
�d�d��|�tt�|�td
�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�ttd�|�ttd �|�t	tftd!�dS)"N� rI�A�A�ar���ÿiz
\U0010ffffr�zunicode-escape��￿��𐀀��𐀁��󿿾��󿿿��􀀀��􀀁��􏿾��􏿿���il)
r_rYrxr{rh�
maxunicoder4�encoderz�
OverflowErrorr$rrr�test_chr-s*�zBuiltinTest.test_chrcCs|�ttd��dS)N�cmp)r��hasattr�builtinsr$rrr�test_cmpCszBuiltinTest.test_cmpc
Cs�tddd�d}t|ddd�tdddd�td	d
ddd
�tddddd�ttd�dd�|�tt�|�ttddd�|�ttdddd�|�tttd�dd�|jttdddddd
d�tddd�|�tttd�dd�|�tttd�dd�d}dd�}d d|jddfd!d"d#g}|D]:^}}g}|�t|d$d|d%��t	�
|�}|�t|d$d|d%��|D]}	i}
t|	|
�|
d�}|�|t
|��q�q�dS)&Nz	print(1)
rH�exec�s	print(1)
�pass�?)�source�filename�modeF�tmpr<�eval)�dont_inheritr�r�r�T)r�r�stextrlz
print(42)
�<string>Zbadmode�singler�rr�)r�r�r�uprint("å")
za = 1ZbadaJdef f():
        """doc"""
        debug_enabled = False
        if __debug__:
            debug_enabled = True
        try:
            assert False
        except AssertionError:
            return (True, f.__doc__, debug_enabled, __debug__)
        else:
            return (False, f.__doc__, debug_enabled, __debug__)
        cSr�)�docNrrrrrr�fr�z#BuiltinTest.test_compile.<locals>.fr�)rTr�TT)r'Fr�FF)rnFNFFz<test>)�optimize)�compile�
memoryviewrxrzr{rYr4�__doc__r)�ast�parser�r_�tuple)r�bomZcodestrr��valuesZoptval�expectedZcodeobjsZtree�code�ns�rvrrr�test_compileFsH��


��zBuiltinTest.test_compilecCs`d}gd�}t||�D]"\}}t|�}t|d|tjd�}|j|jt@td|�d|��d�qdS)	zCMake sure top level non-await codes get the correct coroutine flags�r�r�)z
def f():pass
z[x for x in l]z{x for x in l}z(x for x in l)z{x:x for x in l}r���flags�source=� mode=��msgN)rrr�r��PyCF_ALLOW_TOP_LEVEL_AWAIT�assertNotEqual�co_flagsr)r�modes�code_samplesr��code_sampler��corrr�$test_compile_top_level_await_no_corows���z0BuiltinTest.test_compile_top_level_await_no_coroc	Cs,dd�}d}gd�}t�}z�t||�D]t\}}t|�}|jtd|�d|��d��t|d|�Wd	�n1s9wYt|d|tjd
�}|j|j	t
@t
d|�d|��d�td|d�}	t||	�}
t�
|
��|�|	d
d�td|d�}	t�
t||	��|�|	d
d�qWt�|�d	St�|�w)aITest whether code some top level await can be compiled.

        Make sure it compiles only with the PyCF_ALLOW_TOP_LEVEL_AWAIT flag
        set, and make sure the generated code object has the CO_COROUTINE flag
        set in order to execute it with  `await eval(.....)` instead of exec,
        or via a FunctionType.
        cS��t|�D]}|VqdSr��range�r,r+rrr�arange����z8BuiltinTest.test_compile_top_level_await.<locals>.aranger)
z$a = await asyncio.sleep(0, result=1)z2async for i in arange(1):
                   a = 1z8async with asyncio.Lock() as l:
                   a = 1z#a = [x async for x in arange(2)][1]z%a = 1 in {x async for x in arange(2)}z%a = {x:1 async for x in arange(1)}[0]z<a = [x async for x in arange(2) async for x in arange(2)][1]z6a = [x async for x in (x async for x in arange(5))][1]z.a, = [1 for x in {x async for x in arange(1)}]z;a = [await asyncio.sleep(0, x) async for x in arange(2)][1]r
rrr�Nrr)�asyncior�rr�r')rrrrx�SyntaxErrorr�r�rr_rrrr�runr��set_event_loop_policy)rrrr�policyr�rr�r�globals_Zasync_frrr�test_compile_top_level_await�s:
����
�z(BuiltinTest.test_compile_top_level_awaitc		Cs�dd�}d}gd�}t�}z_t||�D]Q\}}t|�}|jtd|�d|��d��t|d|�Wd�n1s9wY|jtd|�d|��d��t|d|tjd	�}Wd�n1s_wYqWt�	|�dSt�	|�w)
NcSrrrrrrrr�rzFBuiltinTest.test_compile_top_level_await_invalid_cases.<locals>.aranger)zdef f():  await arange(10)
z(def f():  [x async for x in arange(10)]
z.def f():  [await x async for x in arange(10)]
z_def f():
                   async for i in arange(1):
                       a = 1
            zedef f():
                   async with asyncio.Lock() as l:
                       a = 1
            r
rrr�r)
rrrrxrr�r�rrr)	rrrrr r�rr�rrrr�*test_compile_top_level_await_invalid_cases�s0
�������
z6BuiltinTest.test_compile_top_level_await_invalid_casescCsBtd�}t|ddtjd�}i}t||�|�t|d��t�dS)z�
        With the PyCF_ALLOW_TOP_LEVEL_AWAIT flag added in 3.8, we want to
        make sure AsyncGenerators are still properly not marked with the
        CO_COROUTINE flag.
        z~async def ticker():
                for i in range(10):
                    yield i
                    await asyncio.sleep(0)r�r�rZtickerN)rr�r�rr�r_r`r)rrr�globrrr�test_compile_async_generator�s

z(BuiltinTest.test_compile_async_generatorcCs dt_ttd�|�tt�dS)Nr'�spam)rhr&�delattrrxrzr$rrr�test_delattr�s
zBuiltinTest.test_delattrc
Cs�|�ttdd�d}|�dt��|�dtt��Gdd�dtj�}|d�}|�tt|�|�dtt��|�d	tt��Gd
d�dt	�}|�}|�dt|��Gdd�dt	�}|�}|�d
t|��Gdd�dt	�}|�}|�d
t|��|�dt|��Gdd�dt	�}|�}|�
t|�gd�k�Gdd�dt	�}t|��}|�|t�|�
|gd�k�Gdd�dt	�}|�}|�tt|�zt
�t
y�}z|�tt|j��d�WYd}~nd}~ww|�tg���tg��dS)Nr�r'�	local_var�exitc@�eZdZdZdS)�!BuiltinTest.test_dir.<locals>.Foo�N)r/r0r1�__dict__rrrr�Foo
�r/rt�strip�__mro__c@r5)r,cSsd|_d|_d|_dS)N�r-r?)r�r��zr$rrrrs
�*BuiltinTest.test_dir.<locals>.Foo.__init__N)r/r0r1rrrrrr/r;r�c@seZdZgZdS)r,N)r/r0r1�	__slots__rrrrr/ r0�__repr__c@seZdZddgZdd�ZdS)r,�	__class__r.cSs
d|_dS)NZwow)�barr$rrrr)r3r5N)r/r0r1r6rrrrrr/'sr9c@r5)r,cSsgd�S)N)�kan�ga�roorr$rrr�__dir__1��)BuiltinTest.test_dir.<locals>.Foo.__dir__N�r/r0r1r=rrrrr/0r;)r;r:r<c@r5)r,cSr�)N)�br�r�rr$rrrr=8r:r?Nr@rrrrr/7r;�r�rAr�c@r5)r,cSr�)Nr3rr$rrrr=@r:r?Nr@rrrrr/?r;rp)rxrz�dir�assertInrh�types�
ModuleTyper4�assertNotInr�r�ZassertIsInstancerar(r_r#�
__traceback__�sortedr=)rr)r/r��res�errr�test_dirsH
"��zBuiltinTest.test_dircCs�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�ttjd	d
�tjd	df�dD]\}}}t||�}|�|d|d�|�|d	|d	�q8|�tt�dS)
N�r3)r'�i�)���rni����)rOrO)r'r�r'r�r))�
@��?)�@g�?)�
�rQ)��g�?)rP��)rTg�)rSrU)rRgп)r_�divmodrhr��assertAlmostEqualrxrz)r�numZdenomZ
exp_result�resultrrr�test_divmodNs$
zBuiltinTest.test_divmodcCs|�td�d�|�td�d�ddd�}ddd�}|�td	|�d�|�td	||�d�|�td
||�d�|�td||�d�ddd�}ddd�}d}|�t|d
||�d�|�td|�d�|�tt�|�ttd�|�tt|dd�d
�Gdd�d�}|�ttdi|��dS)N�1+1rnz 1+1
r'�r�rA���,)rAr�r�rAr�r��au"å"�årc@r5)z BuiltinTest.test_eval.<locals>.XcSrKr�r{�r�keyrrrr-sr:z,BuiltinTest.test_eval.<locals>.X.__getitem__N�r/r0r1r-rrrr�Xrr;rert)r_r�rxrzrr{)r�globalsrurrerrr�	test_eval`s$



zBuiltinTest.test_evalc
Cs�Gdd�d�}|�}t�}|�td||�d�|�ttd||�|�td||�td��|�td||�|�|�td	||�|�|�ttd|�Gd
d�d�}|�}|�ttd||�Gdd
�d
t�}|�}|�td||�d�|�ttd||�|�td||�td��|�td||�|�|�td	||�|�td||�td|t�	��Gdd�d�}|�}d|d<d|d<d|d<|�|dd�Gdd�d�}	|�ttdt�|	��dS)Nc@s eZdZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.Mz9Test mapping interface versus possible calls from eval().cSs|dkrdSt��Nr�rM��KeyErrorrbrrrr-|�z4BuiltinTest.test_general_eval.<locals>.M.__getitem__cS�td�S�N�xyz�rar$rrr�keys�r>z-BuiltinTest.test_general_eval.<locals>.M.keysN)r/r0r1r�r-rprrrr�Mzsrqr�rMrAzdir()rnz	globals()zlocals()c@r+)z(BuiltinTest.test_general_eval.<locals>.AzNon-mappingN)r/r0r1r�rrrrr��sr�c@�eZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.DcSs|dkrdSt�||�Srh)�dictr-rbrrrr-�sz4BuiltinTest.test_general_eval.<locals>.D.__getitem__cSrlrmror$rrrrp�r>z-BuiltinTest.test_general_eval.<locals>.D.keysN�r/r0r1r-rprrrr�D�sruz[locals() for i in (2,3)]c@s$eZdZdZiZdd�Zdd�ZdS)z2BuiltinTest.test_general_eval.<locals>.SpreadSheetz6Sample application showing nested, calculated lookups.cSs||j|<dSr)�_cells)rrcZformularrr�__setitem__��z>BuiltinTest.test_general_eval.<locals>.SpreadSheet.__setitem__cSst|j|t�|�Sr)r�rvrfrbrrrr-�sz>BuiltinTest.test_general_eval.<locals>.SpreadSheet.__getitem__N)r/r0r1r�rvrwr-rrrr�SpreadSheet�s
ry�5Za1za1*6Za2za2*7�a3��c@rr)z(BuiltinTest.test_general_eval.<locals>.CcSst|��rri)r�itemrrrr-�r>z4BuiltinTest.test_general_eval.<locals>.C.__getitem__cSr�rXrr$rrrrp�r:z-BuiltinTest.test_general_eval.<locals>.C.keysNrtrrrr�C��r~)
rfr_r�rx�	NameErrorrarzrs�collections�UserDict)
rrq�m�gr�rurRry�ssr~rrr�test_general_evalws:	zBuiltinTest.test_general_evalcCs�i}td|�d|vr|d=|�|ddi�td|�d|vr"|d=|�|ddi�i}i}t��tjddd	d
�td||�Wd�n1sJwYd|vrV|d=d|vr]|d=|�||fddid
dif�dS)Nzz = 1r�r4r'zz = 1+1rn�ignorezglobal statementr�)�modulezglobal a; a = 1; b = 2r�rA)r�r_r�warnings�filterwarnings)rr��lrrr�	test_exec�s,

�� zBuiltinTest.test_execcs�tddd�}|�tdt|dii�|�tt|ddi�tddd�}|�tdt|dii�Gd	d
�d
t��G�fdd�dt�}tt	t
j�rJ|t	j�}n|t	�}td
dd�}|��t|d|i�|i�}tddd�}|��t||�dS)Nzprint('Hello World!')rHr�zname 'print' is not definedr��{z
class A: passz__build_class__ not foundc@r�)z7BuiltinTest.test_exec_globals.<locals>.frozendict_errorNr�rrrr�frozendict_error��r�c�eZdZ�fdd�ZdS)z1BuiltinTest.test_exec_globals.<locals>.frozendictcs�d��)Nzfrozendict is readonlyr)rrc�value�r�rrrw�r>z=BuiltinTest.test_exec_globals.<locals>.frozendict.__setitem__N)r/r0r1rwrr�rr�
frozendict��r�z1__builtins__['superglobal']=2; print(superglobal)�testzx=1)
r��assertRaisesRegexr�r�rxrz�	Exceptionrsr�r�rErFr.)rrr�Zfrozen_builtins�	namespacerr�r�test_exec_globals�s2
�
�
�
��zBuiltinTest.test_exec_globalscCsNtj}dt_zztd�Wn	tyYnwW|t_dSW|t_dS|t_w)Nr�)rh�stdoutr�r�)r�
savestdoutrrr�test_exec_redirected�s��
�z BuiltinTest.test_exec_redirectedc
Csn|�ttdd�d��td��|�ttdddgdgddd	d
g��dddgd	g�|�ttdd�gd���gd
��|�ttdtd���gd��|�ttdd�td���gd��dd�}t|td��|�tt�Gdd�dt�}|�tttdd�|���dd�}|�ttt|td���|�ttdd��ddg�|�ttdd�d��ddg�|�tttdd��dS) NcSsd|ko	dkSS)Nr�r4r)r�rrrr�sz)BuiltinTest.test_filter.<locals>.<lambda>zHello WorldZelloorldr'ZhellororHr?rcSs|dkSr�r�r�rrrr�r�)r'���r?rrn)r'r?rnrA)	r'rpr?���$�1�@�QcSs|dS)Nrnrr�rrrr�r�)r'r?r�r�r�cSr�rXr)r}rrr�identity	r:z)BuiltinTest.test_filter.<locals>.identityrNc@r5)z'BuiltinTest.test_filter.<locals>.BadSeqcSs|dkrdSt�)Nrpr�ra�r�indexrrrr-rkz3BuiltinTest.test_filter.<locals>.BadSeq.__getitem__Nrdrrrr�BadSeq
r;r�cS�|Srrr�rrrr�r�cSr7rrrrrr�badfuncr:z(BuiltinTest.test_filter.<locals>.badfunc�r'rnrncSs|dkS)Nrorr�rrrr�r��r'rnrorprpr�)	r_ra�filterrrxrzr�r{r)rr�r�r�rrr�test_filters2""zBuiltinTest.test_filtercC�>ttjd�D]}ttd�}ttd�}|�|t|�|�qdS)Nr'Z
abcdeabcde)rr\�HIGHEST_PROTOCOLr�rVrgra)rrf�f1�f2rrr�test_filter_pickle�


�zBuiltinTest.test_filter_picklecCs8d}ttt|��}t|�D]}tt|�}q
~t��dS)Ni@B)r��boolr�gc�collect)rZ	max_itersr+�_rrr�test_filter_dealloc"szBuiltinTest.test_filter_dealloccCsn|�ttd�tju�|�tttd�|�tttdd�|�tt�|�tttttj��|�ttdd�dS)Nr�r'rtu�픞)	r��getattrrhr�rxrz�AttributeErrorrYr�r$rrr�test_getattr,szBuiltinTest.test_getattrcCs�|�ttd��|�tttd�|�tt�|�dttttj���Gdd�d�}|�tt|�d�Gdd�d�}|�t	t|�d�dS)	Nr�r'Fc@r5)z#BuiltinTest.test_hasattr.<locals>.AcSrKr)�
SystemExit�rZwhatrrr�__getattr__>r:z/BuiltinTest.test_hasattr.<locals>.A.__getattr__N�r/r0r1r�rrrrr�=r;r�rAc@r5)z#BuiltinTest.test_hasattr.<locals>.BcSrKrrar�rrrr�Br:z/BuiltinTest.test_hasattr.<locals>.B.__getattr__Nr�rrrr�BAr;r�)
r�r�rhrxrzr_rYr�r�r{)rr�r�rrr�test_hasattr5szBuiltinTest.test_hasattrcCs�td�|�td�td��|�td�td��td�|�td�td��td�dd�}t|�|�ttg�|�tti�Gdd	�d	�}|�tt|���t�Gd
d�dt�}|�t|d��td��dS)
Nr'rQr&sspam�rr'rnrocSr7rrrrrrr�Mr�z BuiltinTest.test_hash.<locals>.fc@r5)z BuiltinTest.test_hash.<locals>.XcSsddS)NrnrCrr$rrr�__hash__Sr>z)BuiltinTest.test_hash.<locals>.X.__hash__N�r/r0r1r�rrrrreRr;rec@r5)z BuiltinTest.test_hash.<locals>.ZcSr�rrr$rrrr�Wr:z)BuiltinTest.test_hash.<locals>.Z.__hash__Nr�rrrr�ZVr;r�r�)�hashr_rxrzr`r�)rr�rer�rrr�	test_hashFszBuiltinTest.test_hashcCs2|�td�d�|�td�d�|�tti�dS)Nr�Z0x10i�z-0x10)r_�hexrxrzr$rrr�test_hex[�zBuiltinTest.test_hexcCsHtd�td�td�td�td�tgd��tdddd��dS)Nr'rQr&r�rnro)r&Zeggs�ham)�idr$rrr�test_id`szBuiltinTest.test_idcCsn|�tt�|�ttdd�dddgdg}|D]}t|�}|�t|�d�|�t|�d�|�tt|�qdS)Nr�)r=�2r=r�Z12)rxrz�iterr_rbrc)rZlistsr�r+rrr�	test_iterks�zBuiltinTest.test_itercCs�Gdd�d�}Gdd�d|�}Gdd�d�}|�}|�}|�}|�t||��|�t||��|�t||��|�t||��|�td|��|�tt|d�|�tt�dS)Nc@r�)z&BuiltinTest.test_isinstance.<locals>.CNr�rrrrr~vr�r~c@r�)z&BuiltinTest.test_isinstance.<locals>.DNr�rrrrruxr�ruc@r�)z&BuiltinTest.test_isinstance.<locals>.ENr�rrrr�Ezr�r�rt)r�r�rxrz�rr~rur�r�rRrKrrr�test_isinstanceuszBuiltinTest.test_isinstancecCs�Gdd�d�}Gdd�d|�}Gdd�d�}|�}|�}|�}|�t||��|�t||��|�t||��|�ttd|�|�tt|d�|�tt�dS)Nc@r�)z&BuiltinTest.test_issubclass.<locals>.CNr�rrrrr~�r�r~c@r�)z&BuiltinTest.test_issubclass.<locals>.DNr�rrrrru�r�ruc@r�)z&BuiltinTest.test_issubclass.<locals>.ENr�rrrrr��r�r�rt)r��
issubclassrxrzr�rrr�test_issubclass�szBuiltinTest.test_issubclasscCsB|�td�d�|�td�d�|�td�d�|�tgd��d�|�ti�d�|�tddd	��d�Gd
d�d�}|�tt|��Gdd
�d
�}|�tt|��Gdd�d�}|�tt|��Gdd�d�}|�tt|��Gdd�d�}|�tt|��Gdd�d�}|�tt|��Gdd�dt�}|�tt|��dS)N�123rorrr�rpr'rnr\c@r5)z$BuiltinTest.test_len.<locals>.BadSeqcSrKrrar$rrrr%�r:z,BuiltinTest.test_len.<locals>.BadSeq.__len__N�r/r0r1r%rrrrr��r;r�c@r5)z(BuiltinTest.test_len.<locals>.InvalidLencSr7rrr$rrrr%�r:z0BuiltinTest.test_len.<locals>.InvalidLen.__len__Nr�rrrr�
InvalidLen�r;r�c@r5)z&BuiltinTest.test_len.<locals>.FloatLencSr�)Ng@rr$rrrr%�r:z.BuiltinTest.test_len.<locals>.FloatLen.__len__Nr�rrrr�FloatLen�r;r�c@r5)z)BuiltinTest.test_len.<locals>.NegativeLencSr�)Ni����rr$rrrr%�r:z1BuiltinTest.test_len.<locals>.NegativeLen.__len__Nr�rrrr�NegativeLen�r;r�c@r5)z%BuiltinTest.test_len.<locals>.HugeLencSs
tjdSrX�rhr�r$rrrr%�r3z-BuiltinTest.test_len.<locals>.HugeLen.__len__Nr�rrrr�HugeLen�r;r�c@r5)z-BuiltinTest.test_len.<locals>.HugeNegativeLencSstjdS)NrAr�r$rrrr%�sz5BuiltinTest.test_len.<locals>.HugeNegativeLen.__len__Nr�rrrr�HugeNegativeLen�r;r�c@r�)z)BuiltinTest.test_len.<locals>.NoLenMethodNr�rrrr�NoLenMethod�r�r�)r_r#rxr{rzr�r�)rr�r�r�r�r�r�r�rrr�test_len�s(zBuiltinTest.test_lenc	s�|�ttdd�tdd���gd��zddlm�Wn
ty'dd	��Ynw|�tt�fd
d�ddgdd
gg��ddgddgg�|�ttdd�gd�gd���gd��dd�}|�tt|gd���gd��|�tt|gd�gd���gd��|�tt|gd�gd�gd���gd��|�ttttd���gd��dd �}|�tt|td!�td"���ddg�|�	t
t�|�	t
td#d�d$�Gd%d&�d&�}|�	tttd'd�|���d(d)�}|�	ttt|td*���dS)+NcSs||Srrr�rrrr��r�z&BuiltinTest.test_map.<locals>.<lambda>r'rp)r'rpr?r��sqrtcSs
t|d�S)N��?)�powr�rrrr��r3z"BuiltinTest.test_map.<locals>.sqrtcstt�|��Sr)ra�mapr�r�rrr��sr�r�r?�@�@g"@rRcSr�rrr�rrrr��r�)r'rorn)r?r'rp)rArpr�cWsd}|D]}||}q|Sr�r)�vZaccur+rrr�plus�sz"BuiltinTest.test_map.<locals>.plus)r'ror3)rpr?rn)rNrMr?)r'r'r)r��
r?rA)
rr'rpr?r�r�r�r�r�r�cSs"|dur|S|dur|St||�Sr)rr\rrr�Max�s

z!BuiltinTest.test_map.<locals>.MaxrorncSr�rrr�rrrr��r�r�c@r5)z$BuiltinTest.test_map.<locals>.BadSeqcss�t�rrar$rrrrP�s�z-BuiltinTest.test_map.<locals>.BadSeq.__iter__NrQrrrrr��r;r�cSr�rrr�rrrr��r�cSrKrrLr�rrrr��r:z%BuiltinTest.test_map.<locals>.badfuncrN)
r_rar�r�mathr�r~r�rrxrzr{rM)rr�r�r�r�rr�r�test_map�sZ�� �������zBuiltinTest.test_mapcCr�)Nr'zIs this the real life?)rr\r�r�rZrgra)rrfZm1Zm2rrr�test_map_pickle�r�zBuiltinTest.test_map_picklec	Cs4|�td�d�|�tddd�d�|�td�d�|�tgd��d�|�tddd�d�|�tddd�d�|�td	dd�d�|�td
��t�Wd�n1sVwY|�ttd�|�ttd�Gd
d�d�}|�tt|��dD]}zt|t��Wn	ty�Yqzw|�|�qz|�tdt	d�d�|�tdt	d�d�|�tddt	d�d�|�tddd�d�|�tddd�d�|�tddd�d�|�tddt	d�d�|�tddt	d�d�|�tddd�d�dd�t
d�D�}tdd�|D��}|j}|�t||d�t
t|�|d�d�dS)N�123123�3r'rnro�r'rnror'rnrorRr�rQz'max expected at least 1 argument, got 0r�rc@r5)z$BuiltinTest.test_max.<locals>.BadSeqcSrKrrar�rrrr-r:z0BuiltinTest.test_max.<locals>.BadSeq.__getitem__Nrdrrrrr�r;r�)zmax(key=int)zmax(default=None)zmax(1, 2, default=None)zmax(default=None, key=int)zmax(1, key=int)zmax(1, 2, keystone=int)zmax(1, 2, key=int, abc=int)zmax(1, 2, key=1)�r'�rcr���default�r�rccS�g|]}t�d��qS�r]��random�	randrange�r�r+rrr�
<listcomp>1�z(BuiltinTest.test_max.<locals>.<listcomp>rCcs��|]
}|t�d�fVqdS�r�Nr��r��elemrrrr�2��z'BuiltinTest.test_max.<locals>.<genexpr>r�)r_rr�rzrxr{r�rf�failr	rrsr-rI�reversed�rr�Zstmt�datarpr�rrr�test_max�sN��
��zBuiltinTest.test_maxc	Cs0|�td�d�|�tddd�d�|�td�d�|�tgd��d�|�tddd�d�|�tddd�d�|�td	dd�d	�|�td
��t�Wd�n1sVwY|�ttd�|�ttd�Gd
d�d�}|�tt|��dD]}zt|t��Wn	ty�Yqzw|�|�qz|�tdt	d�d�|�tdt	d�d�|�tddt	d�d�|�tddd�d�|�tddd�d�|�tddd�d�|�tddt	d�d�|�tddt	d�d�|�tddd�d�dd�t
d�D�}tdd�|D��}|j}|�t||d�t
||d�d�dS)Nr�r=r'rnror�rRr�rQz'min expected at least 1 argument, got 0r�rc@r5)z$BuiltinTest.test_min.<locals>.BadSeqcSrKrrar�rrrr-Jr:z0BuiltinTest.test_min.<locals>.BadSeq.__getitem__Nrdrrrrr�Ir;r�)zmin(key=int)zmin(default=None)zmin(1, 2, default=None)zmin(default=None, key=int)zmin(1, key=int)zmin(1, 2, keystone=int)zmin(1, 2, key=int, abc=int)zmin(1, 2, key=1)r�r�r�r�r�cSr�r�r�r�rrrr�lr�z(BuiltinTest.test_min.<locals>.<listcomp>rCcsr�rr�rrrrr�mrz'BuiltinTest.test_min.<locals>.<genexpr>r)r_�minr�rzrxr{r�rfrr	rrsr-rIrrrr�test_min7sN��
��zBuiltinTest.test_mincCs�ttd��}|�t|�d�|�t|�d�|�tt|�|�tt|�|�t|d�d�Gdd�dt�}t|��}|�t|d�d�|�tt|�dd�}|�}|�t|�d�|�tt|�|�t|d�d�dS)	Nrnrr'r�c@rr)z#BuiltinTest.test_next.<locals>.ItercSr�rrr$rrrrP{r:z,BuiltinTest.test_next.<locals>.Iter.__iter__cSrKr)rcr$rrr�__next__}r:z,BuiltinTest.test_next.<locals>.Iter.__next__N)r/r0r1rPrrrrr�Iterzrrcss�dVdSrXrrrrr�gen�s�z"BuiltinTest.test_next.<locals>.gen)r�rr_rbrxrcr�)rrdrr
rrr�	test_nextrs
zBuiltinTest.test_nextcCs2|�td�d�|�td�d�|�ttd�dS)NrCZ0o144i����z-0o144r)r_�octrxrzr$rrr�test_oct�r�zBuiltinTest.test_octcCs�ttddd�}|�tt�|�'|�d�|�d�|�d�|�d�|�d�|�d	�Wd�dS1s9wYdS)
N�w�utf-8��encoding�1+1
z+The quick brown fox jumps over the lazy dogz.
z
Dear John
�,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX�,YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY)�openr�
addCleanuprr9�r�fprrr�write_testfile�s




"�zBuiltinTest.write_testfilecCs�|��ttdd�}|�=|�|�d�d�|�|��d�|�|�d�d�|�|�d�d�|�|�d	�d
�|�|�d�d�Wd�n1sLwY|�ttd
�|�ttd�dS)Nrrrprz-The quick brown fox jumps over the lazy dog.
ZDearrCz John
r^r��rzabsab)rrrr_�readline�readrxr{rrrr�	test_open�s�	zBuiltinTest.test_openzutf-8 mode is enabledc	Cs�ttj�}zkdD]}|tjvrtj|=q|��t�d�}t���t�dt	�t
td�}Wd�n1s7wY|�|�|j
|�Wd�n1sPwYWtj��tj�|�dSWtj��tj�|�dStj��tj�|�w)N)�LC_ALL�LANG�LC_CTYPEFr�r)rs�os�environr�locale�getpreferredencodingr��catch_warnings�simplefilter�EncodingWarningrrr_r�clear�update)rZold_environrcZcurrent_locale_encodingrrrr�test_open_default_encoding�s,

�

��
�

�z&BuiltinTest.test_open_default_encodingcCsJttdd�}|�|�t�|����Wd�dS1swYdS)Nrr)r�__file__r�r$�get_inheritable�fileno)r�fileobjrrr�test_open_non_inheritable�s"�z%BuiltinTest.test_open_non_inheritablecCsn|�td�d�|�td�d�|�td�d�|�td�d�|�td	�d
�|�td�d�|�td�d�|�td
�d�|�td�d�|�td�d
�|�tttj��tj�|�ttd�|�ttd��d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td �d!�|�td"�d�dS)#NrIr�r�r�r�r��€�r�r�� �Ar_����r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)r_rSrYrhr�rxrzr$rrr�test_ord�s,zBuiltinTest.test_ordc
Cs|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d	�|�td
d�d�|�td
d�d
�|�td
d�d�|�td
d�d
�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�dD]/}dD]*}dD]%}t|t�s�t|t�s�t|t�r�|�tt|||�q�|�t|||�d�q�q�q�|�tdd�d�|�tdd�d�|�tdd
d�d�|�ttddd�|�tt�|�tddd �d�|�tddd!�d"�|�td#dd$d%�d&�ttdd'�}|�|d#d �d(�ttd#d �}|�|d�d(�ttdd)�}|�|dd*�d�|�|d*dd+�d�dS),Nrr'rnrAir�r�r��@rOrpro���r�rQr�g�@g0Ag�Ag�r�� �)rnr�)rA�$@)rg@�@g8@r�r�y�?gUUUUUU�?y�?�LX�z��?)�exp)�baser>r�rN�)r?r>�mod�)r?r�)rAr�)r>r?)	r_r�rWr��floatrxrzr{r)rr�r�r4ZtwopowZfifth_powerZmod10rrr�test_pow�sf
����	zBuiltinTest.test_powcCs |��ttdd�}tj}tj}zt|t_t�t_|�t�d�|�t�d�|�td�d�|t_tj�	�|�
tt�t�t_t�
d�t_|�
ttdd�t�
d	�t_|�t�d	�t�
�t_|�
tt�t`|�
ttd
�t`|�
ttd
�W|t_|t_|�	�dS|t_|t_|�	�w)Nrrr[z,The quick brown fox jumps over the lazy dog.ztesting
z	Dear JohnzNULLr�z    'whitespace'�prompt)rrrrh�stdinr�r6r_�input�closerxr{�io�StringIOrz�EOFErrorrM)rrZ	savestdinr�rrr�
test_input!s<

�
zBuiltinTest.test_inputcCs�|�td�d�|�td�d�|�td�d�|�tg�d�|�ti�d�g}|�|�|�t|�d	�i}||d<|�t|�d
�dS)NrHr�rr<rr�r�r�r�r�)r_r�r))rr�rrr�	test_reprFs
zBuiltinTest.test_reprcCs0|�td�d�|�ttd��t�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td	�d	�|�td
�d�|�td�d�|�td�d�|�td
�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�tdd�d�|�ttdd��t�|�ttdd��t�|�ttdd��t�|�td�d�|�td�d�|�td�d�|�td �d�|�td�d�|�td!�d!�|�td"�d"�|�ttd��t�|�ttd"d��t�|�ttd"d��t�|�ttd"d��t�|�tddd#�d�|�tt�Gd$d%�d%�}Gd&d'�d'�}|�t|��d(�|�ttdd)d*�|�tt|��|�}d+d,�|_|�tt|�|�tt|d�dS)-Nr�rQr=ge��Ag@��x�DrUg$�ge��g@��x��g�������?g�������?g333333$@g��e��Ag�������g333333$�g��e��g�������?g������#@g33�d��Ag�������g������#�g33�d��r<r�rr'g@r�g@g�i����g�r-r;)ZnumberZndigitsc@r5)z)BuiltinTest.test_round.<locals>.TestRoundcSr�)N�rr$rrr�	__round__�r:z3BuiltinTest.test_round.<locals>.TestRound.__round__N)r/r0r1rOrrrr�	TestRound�r;rPc@r�)z+BuiltinTest.test_round.<locals>.TestNoRoundNr�rrrr�TestNoRound�r�rQrNrnrocWr�rr)�argsrrrr��r�z(BuiltinTest.test_round.<locals>.<lambda>)r_�roundr`r�rCrxrzrO)rrPrQ�trrr�
test_roundSsb
zBuiltinTest.test_roundZLinux�alpha���7y�1CzItest will fail;  failure is probably due to a buggy system round functioncCsT|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�dS)Ng��7y�1Cg��7y�1CrWg��7y�1Cg��7y�1C)r_rSr$rrr�test_round_large�s
zBuiltinTest.test_round_largecCsXddt�d�t�dd�fD]}|�t|d�t|��|�tt|d��tt|���q
dS)Nr�g
ףp=J�@z1234.56i@�rC)�decimalZDecimal�	fractionsZFractionr_rSr`r�rrr�test_bug_27936�s
� �zBuiltinTest.test_bug_27936cCs<ttdd�|�tjd�|�tttdd�|�tt�dS)Nr&r')�setattrrhr_r&rxrzr$rrr�test_setattr�szBuiltinTest.test_setattrcCsj|�tg�d�|�tttdd���d�|�ttttdd����d�|�ttd��d�|�tttd���d�|�tdgdgdggg�gd	��|�ttd�d
�d�|�ttd�d
d�d�|�ttd�d
�d�|�ttd�d�d�|�tdd�td�D��d�|�tdd�td�D�d�d�|�tdd�td�D�d�d�|�tgd�d�|�tdd�td�D��d�|�tdd�td�D�d
�d�|�tdd�td�D�d �d!�|�td"dg�d#�|�tdd"g�d#�|�ttd$g��d%�|�ttd$gd$��d&�|�ttgd$��d&�|�t	t�|�t	td'�|�t	tgd(��|�t	tgd(�d)�|�t	td*d+gd,�t
d*�t
d-�g}|�t	t|t
d,��|�t	tdgdgdgg�|�t	tddig�|�t	tddigdddi�|�t	tgd)�|�t	tgd,�|�t	tgt
��Gd.d/�d/�}|�tt|��g}td0d�td�D�|�|�|g�dS)1Nrrnr-�rAir'ro�r'rnrori)�starti���l(l����l(cs��|]	}|ddkVqdS�rnrNrr�rrrr����z'BuiltinTest.test_sum.<locals>.<genexpr>rNcsrarbrr�rrrr��rci���lcsrarbrr�rrrr��rcl����lFcs��|]}|dVqdS�rnNrr�rrrr��r�g�6@csrdrerr�rrrr��r�g�@csrdrerr�rrrr��r�gB�@g��@r�g�?g�z0.0z-0.0r�rBrHr_�c��bc@r5)z$BuiltinTest.test_sum.<locals>.BadSeqcSrKrrar�rrrr-�r:z0BuiltinTest.test_sum.<locals>.BadSeq.__getitem__Nrdrrrrr��r;r�css�|]}|gVqdSrrr�rrrr��s�)r_�sumrarr�r�assertIsr�rxrz�	bytearrayr{)rrr��emptyrrr�test_sum�sX"��  zBuiltinTest.test_sumcCs,|�td�td��|�td�td��dS)NrHr�r)r_r`rr$rrr�	test_type�szBuiltinTest.test_typecCst�Sr)�varsrrrr�get_vars_f0�szBuiltinTest.get_vars_f0cCst��d}d}t�S)Nr'rn)r[rpror\rrr�get_vars_f2szBuiltinTest.get_vars_f2c@seZdZdd�Zeed�ZdS)zBuiltinTest.C_get_varscCsddiS)Nr�rnrr$rrr�getDict	r>zBuiltinTest.C_get_vars.getDict)�fgetN)r/r0r1rr�propertyr.rrrr�
C_get_varssrucCs�|�tt��tt���|�ttt��ttt���|�|��i�|�|��ddd��|�ttdd�|�ttd�|�t|�	��ddi�dS)Nr'rnr\r�r�)
r_�setrorCrhrprqrxrzrur$rrr�	test_vars
szBuiltinTest.test_varscCsHg}|�|��|D]}|�|�q
Wd�|S1swY|S)z=Collect `iterable` into a list, catching an expected `error`.N)rxr))r�iterable�error�itemsr}rrr�
iter_errors�
��zBuiltinTest.iter_errorcCsJd}d}gd�}|�tt||��|�gd�}|�tt||��|�d}|�tt||��|�Gdd�d�}|�tt||���|�|�tt��g�|�ttg��g�|�ttd�Gdd�d�}|�tt||��|�tt|t��Gd	d
�d
�}|�tt|�td���tttd����Gd
d�d�}|�t	tt|�|���dS)Nr_�rprNr��)r'rp)rnrN)ror��rprNr�r3c@r5)zBuiltinTest.test_zip.<locals>.IcSs|dks|dkr
t�|dS)Nrrnrp�r(�rr+rrrr-(sz+BuiltinTest.test_zip.<locals>.I.__getitem__Nrdrrrr�I'r;r�c@r�)zBuiltinTest.test_zip.<locals>.GNr�rrrr�G/r�r�c@r5)z4BuiltinTest.test_zip.<locals>.SequenceWithoutALengthcS�|dkrt�|S�NrNrr�rrrr-8�z@BuiltinTest.test_zip.<locals>.SequenceWithoutALength.__getitem__Nrdrrrr�SequenceWithoutALength7r;r�r:rNc@r5)z$BuiltinTest.test_zip.<locals>.BadSeqcSr�r�rar�rrrr-Cr�z0BuiltinTest.test_zip.<locals>.BadSeq.__getitem__Nrdrrrrr�Br;r�)
r_ra�ziprxrzrMrOr�	enumerater{)rr�rArTr�r�r�r�rrr�test_zips.�zBuiltinTest.test_zipcCs@d}d}gd�}ttjd�D]}t||�}|�|||�qdS)Nr_r|r}r'�rr\r�r�rg�rr�rArTrf�z1rrr�test_zip_pickleJs
�zBuiltinTest.test_zip_picklecCsDd}d}gd�}ttjd�D]}t||dd�}|�|||�qdS)Nr_r|r}r'T��strictr�r�rrr�test_zip_pickle_strictRs�z"BuiltinTest.test_zip_pickle_strictcCspd}d}gd�}ttjd�D]&}t||dd�}t�t�||��}|�|�|t�|�|�|�|t�|�qdS)Nr_r~r}r'Tr�)	rr\r�r�r^r]r_r{r{)rr�rArTrfr�Zz2rrr�test_zip_pickle_strict_failZs�z'BuiltinTest.test_zip_pickle_strict_failcs^t��G�fdd�d�}|�t��
}t|��Wd�n1s!wY|�|j��dS)Ncr�)z6BuiltinTest.test_zip_bad_iterable.<locals>.BadIterablecs��rrr$��	exceptionrrrPhr:z?BuiltinTest.test_zip_bad_iterable.<locals>.BadIterable.__iter__NrQrr�rr�BadIterablegr�r�)rzrxr�rjr�)rr��cmrr�r�test_zip_bad_iterableds�z!BuiltinTest.test_zip_bad_iterablec
Csh|�ttdddd��d�|�tttdddd��|�tttdddd��|�tttddddd��dS)Nr_�abcTr�))r'r�)rnrA)ror�r�r�)r_r�r�rxr{r$rrr�test_zip_strictps����zBuiltinTest.test_zip_strictc
Cs\ttd��}dg}ttd��}|�ttt|||dd��|�t|�d�|�t|�d�dS)NrNrTr�rnr')r�rrxr{rar�r_rb)rr�r�r4rrr�test_zip_strict_iteratorszs�z%BuiltinTest.test_zip_strict_iteratorsc
srGdd�dt��G�fdd�d�}|�td|d�dd���}|�|d	g�|�td|d
�ddd�t�}|�|dg�|�td|d
�d
dd���}|�|ddg�|�td|d�dd�t�}|�|ddg�|�t|d�ddd���}|�|dg�|�t|d
�ddd�t�}|�|dg�|�t|d
�d
dd���}|�|ddg�|�t|d�ddd�t�}	|�|	ddg�dS)Nc@r�)z9BuiltinTest.test_zip_strict_error_handling.<locals>.ErrorNr�rrrr�Error�r�r�cs(eZdZdd�Zdd�Z�fdd�ZdS)z8BuiltinTest.test_zip_strict_error_handling.<locals>.ItercS�
||_dSr��size�rr�rrrr�r3zABuiltinTest.test_zip_strict_error_handling.<locals>.Iter.__init__cSr�rrr$rrrrP�r:zABuiltinTest.test_zip_strict_error_handling.<locals>.Iter.__iter__cs"|jd8_|jdkr��|jS�Nr'rr�r$�r�rrr��
zABuiltinTest.test_zip_strict_error_handling.<locals>.Iter.__next__N�r/r0r1rrPrrr�rrr�sr�ABr'Tr��r�rrnr��r�r'r��ABC�r�rr�ro�r�rn�r�r'�rr��r'r��rr��rnr��r'r�)r�r{r�r_r{�
rr�l1�l2�l3�l4�l5�l6�l7�l8rr�r�test_zip_strict_error_handling�s$z*BuiltinTest.test_zip_strict_error_handlingc
Cs^Gdd�d�}|�td|d�dd�t�}|�|dg�|�td|d�d	dd�t�}|�|d
g�|�td|d�ddd�t�}|�|d
dg�|�td|d
�dd�t�}|�|ddg�|�t|d�ddd�t�}|�|dg�|�t|d�d	dd�t�}|�|dg�|�t|d�ddd�t�}|�|ddg�|�t|d
�ddd�t�}	|�|	ddg�dS)Nc@r)zFBuiltinTest.test_zip_strict_error_handling_stopiteration.<locals>.ItercSr�rr�r�rrrr�r3zOBuiltinTest.test_zip_strict_error_handling_stopiteration.<locals>.Iter.__init__cSr�rrr$rrrrP�r:zOBuiltinTest.test_zip_strict_error_handling_stopiteration.<locals>.Iter.__iter__cSs"|jd8_|jdkrt�|jSr�)r�rcr$rrrr�r�zOBuiltinTest.test_zip_strict_error_handling_stopiteration.<locals>.Iter.__next__Nr�rrrrr�srr�r'Tr�r�rnr�r�r�r�ror�r�r�r�r�r�r�)r{r�r{r_r�rrr�,test_zip_strict_error_handling_stopiteration�s"z8BuiltinTest.test_zip_strict_error_handling_stopiterationcCs*tgg�}t��|�t�t|���dSr)r�r�r�r�Z
is_trackedrb)rrdrrr�test_zip_result_gc�s
zBuiltinTest.test_zip_result_gcc	s(��tdd�d�dd�}�fdd�}||���fdd	�}|d
�|d�|d�|d
�|d�|d�|t�|d�Gdd�d�}��tt|�d���ttt�d���ttt�t��t��d�}��|�d����tt�jd���tt�jt����tt�jd�Gdd�d�}��t|��d���t|�d�d���t|�d�d�Gdd�d�}Gdd�dt�}t||fD];}	|	�}
��t|
�t|
����t|
d�t|
����	tdt
�|	j���
t|
d�Wd�n1s�wYq�Gdd�dt�}��td|d��d �dS)!NrorHr�cSs\Gdd�dt�}Gdd�d|�}Gdd�dt�}Gdd�d|�}Gd	d
�d
|�}||||fS)Nc@rr)z7BuiltinTest.test_format.<locals>.classes_new.<locals>.AcSr�rr�r�rrrr�r3z@BuiltinTest.test_format.<locals>.classes_new.<locals>.A.__init__cS�t|j�|Sr�r4r��r�format_specrrr�
__format__�rxzBBuiltinTest.test_format.<locals>.classes_new.<locals>.A.__format__N�r/r0r1rr�rrrrr��rr�c@r�)zBBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromANr�rrrr�DerivedFromA�r�r�c@r�)z<BuiltinTest.test_format.<locals>.classes_new.<locals>.SimpleNr�rrrr�Simple�r�r�c@rr)zGBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimplecSr�rr�r�rrrr�r3zPBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple.__init__cSr�rr�r�rrrr��rxzRBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple.__format__Nr�rrrr�DerivedFromSimple�rr�c@r�)zHBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple2Nr�rrrr�DerivedFromSimple2�r�r�)r�)r�r�r�r�r�rrr�classes_new�sz,BuiltinTest.test_format.<locals>.classes_newcs\��t|d�d�d���t|d�d�d���t|d�d�d���t|d	�d
�d�dS)Nro�specZ3specrpZ4specrNr�Z5abcrAZabcdefZ10abcdef)r_�format)r�r�r�r�r$rr�
class_test�s�z+BuiltinTest.test_format.<locals>.class_testcs.��t|d�t|����t|�t|��dS�NrH)r_r�r4)r�r$rr�empty_format_spec�sz2BuiltinTest.test_format.<locals>.empty_format_specl�.��@rQg�]]^��Ug�]]^���g�;�q7r*g�;�q7r�c@r5)z0BuiltinTest.test_format.<locals>.BadFormatResultcSr�)NrQrr�rrrr�r:z;BuiltinTest.test_format.<locals>.BadFormatResult.__format__N�r/r0r1r�rrrr�BadFormatResultr;r�rpz<object object atc@r5)z"BuiltinTest.test_format.<locals>.AcSs
td|�Sr�)r�)rZfmt_strrrrr�r3z-BuiltinTest.test_format.<locals>.A.__format__Nr�rrrrr�r;r�r�c@r�)z"BuiltinTest.test_format.<locals>.BNr�rrrrr� r�r�c@r�)z"BuiltinTest.test_format.<locals>.CNr�rrrrr~#r�r~z\b%s\bc@r�)z/BuiltinTest.test_format.<locals>.DerivedFromStrNr�rrrr�DerivedFromStr0r�r�rr@z
         0)
r_r�r�rxrzr�r��
startswithr4r��re�escaper/)rr�r�r�r�r�r�r�r~�cls�objr�rr$r�test_format�sP
���zBuiltinTest.test_formatcCs�|�td�d�|�td�d�|�td�d�|�tdd�d	�|�tddd�d
�|�tdd�d�|�tddd�d�dS)
NrZ0b0r'Z0b1r�z-0b1rnr�ZD0b100000000000000000000000000000000000000000000000000000000000000000ZC0b11111111111111111111111111111111111111111111111111111111111111111zE-0b100000000000000000000000000000000000000000000000000000000000000000zD-0b11111111111111111111111111111111111111111111111111111111111111111)r_�binr$rrr�test_bin3szBuiltinTest.test_bincCs0td�}|�t|jdd�|�t|jdd�dS)Nsabc�1r's1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111)rkrxr{�	translaterzr�rrr�test_bytearray_translate<sz$BuiltinTest.test_bytearray_translatecCs$t�}ttd�}|�t|j|�dS)Nre)rkr�r�rxr{�extend)r�arrayZbad_iterrrr�test_bytearray_extend_errorAs
z'BuiltinTest.test_bytearray_extend_errorcCsLdttfD]}t|�}|�|�|�|�t|dd�|jt|ddd�qdS)Nr'rnr\)�Ellipsis�NotImplementedr`rjrxrz)r�const�tprrr�test_construct_singletonsFs�z%BuiltinTest.test_construct_singletonscCs~|�ttt�|�t��
|�t�Wd�n1swY|�t��|�t�Wd�dS1s8wYdSr)r|�DeprecationWarningr�r�r�r�r$rrr�test_warning_notimplementedMs�"�z'BuiltinTest.test_warning_notimplementedN)_r/r0r1rgrr�r�r�r�r�r�r�r�rrr"r#r%r(rLrZrgr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrr �unittest�skipIfrhr	�	utf8_moder-r2r9rDrLrMrU�platform�systemr��machineZlinux_alpharSZsystem_round_bugrXr[r]rmrn�staticmethodrprqr�rurwr{r�r�r�r�r�r�r�r�r�r
Zcpython_onlyr�r�r�r�r�r�r�rrrrr[�s�#"1:&ME$
	
"<;;
>%
Q�
�
	4

	,

	!
e	r[c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Ze	�
ejj
d
�dd��Ze	�
ejj
d
�dd��Ze	�
ejj
d
�dd��Zdd�Ze	�
ejj
d
�dd��Zdd�ZdS)�TestBreakpointcCsHt�|_|�|jj�|j�t��|_|jd=|j�ttdtj	��dS)N�PYTHONBREAKPOINT�breakpointhook)
r�	resourcesrrH�
enter_contextr
�envrrh�__breakpointhook__r$rrr�setUp]s�zTestBreakpoint.setUpcCs:td��}t�Wd�n1swY|��dS�N�
pdb.set_trace)r�
breakpointZassert_called_once�r�mockrrr�test_breakpointks
�zTestBreakpoint.test_breakpointcCst�}|t_t�|��dSr�rrhr�r��assert_called_once_with�r�my_breakpointhookrrr�'test_breakpoint_with_breakpointhook_setpsz6TestBreakpoint.test_breakpoint_with_breakpointhook_setcCsdt�}|t_t�|��tjt_td��}t�|��Wd�n1s'wY|��dSr�)rrhr�r�r�r�r)rr�r�rrr�)test_breakpoint_with_breakpointhook_resetvs

�z8TestBreakpoint.test_breakpoint_with_breakpointhook_resetcCs6t�}|t_tdddddd�|jdddddd�dS)Nr'rnrorprN�ZfourZfiver�r�rrr�&test_breakpoint_with_args_and_keywords�sz5TestBreakpoint.test_breakpoint_with_args_and_keywordsc	Cs*dd�}|t_|jttdddddd�dS)	NcSr7rrrrrrr��r:zMTestBreakpoint.test_breakpoint_with_passthru_error.<locals>.my_breakpointhookr'rnrorprNr�)rhr�rxrzr�r�rrr�#test_breakpoint_with_passthru_error�sz2TestBreakpoint.test_breakpoint_with_passthru_errorz-E was givencCsJd|jd<td��}td�|�d�Wd�dS1swYdS)Nr�r�zbuiltins.int�7�r�rr�r�r�rrr�test_envar_good_path_builtin�s


"�z+TestBreakpoint.test_envar_good_path_builtincCsFd|jd<td��}t�|��Wd�dS1swYdS�Nzsys.exitr�rr�rrr�test_envar_good_path_other��



"�z)TestBreakpoint.test_envar_good_path_othercC�Fd|jd<td��}t�|��Wd�dS1swYdS)Nr<r�r�)r�rr��assert_not_calledr�rrr�test_envar_good_path_noop_0�rz*TestBreakpoint.test_envar_good_path_noop_0cCr)NrHr�r�rr�rrr�!test_envar_good_path_empty_string�rz0TestBreakpoint.test_envar_good_path_empty_stringc	Cs�dD]I}|j|d��9||jd<|j�td��}|j�tdd��}t�|�t|j	�d|�d��|�|j
t�|��Wd�n1sFwYqdS)	N)�.z..z.foozfoo.z.intzint.z.foo.barz	..foo.barz/./Z
nosuchbuiltinznosuchmodule.nosuchcallable)�envarr�r�T)�quietz*Ignoring unimportable $PYTHONBREAKPOINT: "r�)
�subTestr�r�r�rrr�r_r4�message�category�RuntimeWarningr)rrr�rrrr�test_envar_unimportable�s

�
���z&TestBreakpoint.test_envar_unimportablecCsLd|jd<td��}tt_t�|��Wd�dS1swYdSr)r�rr�rhr�r�rr�rrr�#test_envar_ignored_when_hook_is_set�s


"�z2TestBreakpoint.test_envar_ignored_when_hook_is_setN)r/r0r1r�r�r�r�r�rr�r�rhr	�ignore_environmentrrr	r
rrrrrrr�\s"



r�z,the pty and signal modules must be availablec@s^eZdZdZedd��Zdd�Zdd�Zdd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dS)�PtyTestszhTests that use a pseudo terminal to guarantee stdin and stdout are
    terminals in the test environmentcCr7rr)�signum�framerrr�
handle_sighup�szPtyTests.handle_sighupc
Cs>t�tj|j�}z|�||�Wt�tj|�St�tj|�wr)�signal�SIGHUPr�
_run_child)r�child�terminal_inputZ
old_sighuprrr�	run_child�s zPtyTests.run_childc
Cs�t��\}}zt��\}}Wn!ttfy/}zt�|�t�|�|�d�|���d}~ww|dkrpz5z%t	�
d�t�|�t|d��}||�Wd�n1sTwYWnt�
�YWt�d�nt�d�wt�|�t�||�t|dd��}	g}
	|	����}|dkr�n|
�|�q�Wd�n1s�wYt|
�dkr�t�}	zt�|d	�}
Wn	ty�Yn
w|
s�n|�|
�q�t�|�|�d
d�}|�dt|
�|f�t�|�tj|dd
�|
S)Nzpty.fork() raised {}rrnrrrTrHi�r�r�z9got %d lines in pipe but expected 2, child output was:
%s)�exitcode)r$�pipe�pty�fork�OSErrorr�rH�skipTestr�r�alarmr�	traceback�	print_exc�_exitr9rr1r)r#rkrr��decoderr
Zwait_process)rrr�rr�pid�fdrK�wpipeZrpipe�linesr8Zchild_output�chunkrrrr�sl

��


��
�

��
�
�

�
zPtyTests._run_childNcs�tj��r
tj��s|�d���fdd�}|�||d�}|�|dddh�|ddkr3|�d�t|d	�}�rB|��d
�}n|�tjj	�}|�
||�dS)Nzstdin and stdout must be ttyscsj�rtjtj���dd�t_tjtj���dd�t_tdtj��o%tj��|d�ttt	���|d�dS)N�surrogateescape)r�errors�replaceztty =��file)
rI�
TextIOWrapperrhrF�detachr��print�isattyr�rG�r-�rE�stdio_encodingrrrs��z'PtyTests.check_input_tty.<locals>.childs
rz
tty = Trueztty = Falsez%standard IO in should have been a ttyr'r0)rhrFr8r�r$rrDr�r)rr_)rrErr;rr.Zinput_resultrrr:r�check_input_ttys

zPtyTests.check_input_ttycCs|�dd�dS)NrEsquux)r<r$rrr�test_input_tty2szPtyTests.test_input_ttycCsdtjvr|�d�dSdS)Nrzthe readline module is loaded)rh�modulesr$r$rrr�skip_if_readline7s
�zPtyTests.skip_if_readlinecC�|��|�ddd�dS)N�prompté�quux�r�r?r<r$rrr�test_input_tty_non_asciiA�z!PtyTests.test_input_tty_non_asciicCr@)NrArBr�rCr$rrr�'test_input_tty_non_ascii_unicode_errorsFrEz0PtyTests.test_input_tty_non_ascii_unicode_errorscCs(dd�}|�|d�}d}|�||�dS)NcSsBtdtj��|d�t��t_td�tdttj�	��|d�dS)Nzstdin.isatty():r3rEz	captured:)
r7rhrFr8rIrJr�rGr��getvaluer9rrrrNs
z3PtyTests.test_input_no_stdout_fileno.<locals>.childsquux
)zstdin.isatty(): Truezcaptured: 'prompt')rZassertSequenceEqual)rrr.rrrr�test_input_no_stdout_filenoKsz$PtyTests.test_input_no_stdout_filenor)r/r0r1r�r�rrrr<r=r?rDrFrHrrrrr�s

@
rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
TestSortedcCs�ttd��}|dd�}t�|�|�|t|��|�||�|��t�|�|�|t|dd�d��|�||�t�|�|�|t|dd��|�||�dS)NrCcSs|Srrr�rrrr�esz'TestSorted.test_basic.<locals>.<lambda>r�T)�reverse)rarr��shuffler_rIrrJ)rr�copyrrr�
test_basic\s


zTestSorted.test_basiccCs�tg�|�t��
tgd�Wd�n1swYtgdd�|�t��tgd�Wd�dS1s:wYdS)N)rxr�)rIrxrzr$rrr�test_bad_argumentsks�"�zTestSorted.test_bad_argumentscCsvd}tttg}|D]}|�t|�t||���q	d�t|��}ttttttj	g}|D]}|�t|�t||���q*dS)NZabracadabrarH)
rar�r4r_rI�joinrv�	frozensetrs�fromkeys)rr�rE�Trrr�test_inputtypesus
�zTestSorted.test_inputtypescCs"d��}|�tt|ddd��dS)Nz,The quick Brown fox Jumped over The lazy DogcSr�r�rr�rrrr��r�z.TestSorted.test_baddecorator.<locals>.<lambda>)�splitrxrzrI)rrrrr�test_baddecorator�szTestSorted.test_baddecoratorN)r/r0r1rMrNrSrUrrrrrIZs

rIc@r5)�ShutdownTestcCs4d}td|dd�\}}}|�ddg|�����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-cr�)ZPYTHONIOENCODING�beforeZafter)rr_r)�
splitlines)rr�rc�out�errrrr�test_cleanup�s
�zShutdownTest.test_cleanupN)r/r0r1r\rrrrrV�srVc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�TestTypecCsntddi�}|�|jd�|�|jd�|�|jt�|�|jtf�|�|jt�|�}|�t|�|�|�|j	|�Gdd�d�}td|t
fddd�i�}|�|jd�|�|jd�|�|jt�|�|j|t
f�|�|jt
�|�d|j�|�
d	|j�|d
�}|�|d
�|�t|�|�|�|j	|�|�|��d�|�|��d�|�|�d
d�d�dS)Nr�rc@r5)z!TestType.test_new_type.<locals>.BcS�d|S)Nzham%drr$rrrr��r>z%TestType.test_new_type.<locals>.B.hamN)r/r0r1r�rrrrr��r;r�r~r&cSr^)Nzspam%srr$rrrr��r�z(TestType.test_new_type.<locals>.<lambda>r�r�Zham42Zspam42rn�littles*)r`r_r/r1r0�	__bases__r�rj�__base__r8r�rDr.rGr�r&�to_bytes)rr�r�r�r~rrr�
test_new_type�s2zTestType.test_new_typecCsx|�t��tddidd�Wd�n1swY|�t��tddid�Wd�dS1s5wYdS)Nr�rrNr��rs)rxrzr`r$rrr�test_type_nokwargs�s�"�zTestType.test_type_nokwargsc	CsLdD]3}|j|d��#t|di�}|�|j|�|�|j|�|�|jt�Wd�n1s0wYq|�t��tddi�Wd�n1sLwY|�t��tddi�Wd�n1sgwY|�t	��tddi�Wd�n1s�wYtddi�}dD]0}|j|d�� ||_|�|j|�|�|jd�|�|jt�Wd�n1s�wYq�tddi�}|�t��d|_Wd�n1s�wY|�|jd�|�t��d|_Wd�n1s�wY|�|jd�|�t	��d|_Wd�n	1�swY|�|jd�dS)N)r��Ä�🐍zB.A�42rHrkrzABuA�Br6r~)
rr`r_r/r1r0rxr{�UnicodeEncodeErrorrz)rrlr�r~rrr�test_type_name�sN����������zTestType.test_type_namecCs�tddddi�}|�|jd�|�|jd�|�|jt�|�t��tddddi�Wd�n1s5wY|�|jd�d|_|�|jd�|�|jd�|�t��d|_Wd�n1sewY|�|jd�dS)Nr�rr1zB.C�BzD.E)r`r_r/r1r0rxrz)rr�rrr�test_type_qualname�s��zTestType.test_type_qualnamecCs�dD]}tddd|i�}|�|j|�q|�t��tddddi�Wd�n1s,wYtddi�}|�|jd�dD]}||_|�|j|�q@dS)N)r�rfrg�xy�xr�Nr�rr��x�y)r�rfrgrmrornr�N)r`r_r�rxri)rr�r�rrr�
test_type_doc�s��zTestType.test_type_doccCs�|�t��t�Wd�n1swY|�t��
tdd�Wd�n1s-wY|�t��tddid�Wd�n1sIwY|�t��tddid�Wd�n1sewY|�t��tdgi�Wd�n1s�wY|�t��tddt�i��Wd�n1s�wY|�t��tddi�Wd�n1s�wY|�t��tdtfi�Wd�n1s�wY|�t��tdttfi�Wd�dS1s�wYdS)Nr�rrdr)rxrzr`rE�MappingProxyTyper�r�r4r$rrr�
test_bad_args
	s6��������"�zTestType.test_bad_argscCsd|�t��tddddi�Wd�n1swY|�t��tdtfddi�Wd�n1s6wY|�t��tddddi�Wd�n1sSwY|�t��tddddi�Wd�n1spwY|�t��tddddi�Wd�n1s�wY|�t��tdddd	d
��Wd�n1s�wY|�t��tddddi�Wd�n1s�wY|�t��tddddi�Wd�n1s�wYGd
d�d�}|�t��td|fddi�Wd�n	1�swY|�t��td|fddi�Wd�dS1�s+wYdS)Nr�rr6rnr�rHrhrmr)r6r�)r.r.)�__weakref__rsc@r�)z"TestType.test_bad_slots.<locals>.BNr�rrrrr�0	r�r�r.rs)rxrzr`r�r{)rr�rrr�test_bad_slots	s>���������$�zTestType.test_bad_slotscCsVt�ddg�}|�d�t|���}tdd|�}|�t|j���dd�ddg�dS)N)r�r')rArnr�r~rrn)r��OrderedDict�move_to_endrarzr`r_r.)rZodrr~rrr�test_namespace_order7	s

&zTestType.test_namespace_orderN)r/r0r1rcrerjrlrprrrtrwrrrrr]�s!
r]cCsddlm}|�|t��|S)Nr)�DocTestSuite)�doctestrxZaddTestr�)�loaderZtests�patternrxrrr�
load_testsA	sr|rq)Mr�rr�r�rYrZr�rIr&r$r\r�r�r�rhr&rEr�r��
contextlibr�	functoolsr�inspectr�	itertoolsr�textwraprrr�operatorr	r�r
Ztest.supportrrZtest.support.os_helperr
rrZtest.support.script_helperrZtest.support.warnings_helperrZ
unittest.mockrrr!rr~rr2r6r�r�r{r4rYZtest_conv_no_signZtest_conv_signrJrOrVrZZTestCaser[r�Z
skipUnlessrrIrVr]r|r/�mainrrrr�<module>s��
�
�`
i+"
�