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.7/test/__pycache__/test_builtin.cpython-37.pyc
B

��g��@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlmZddlmZddlmZmZmZmZmZddlmZddlmZmZyddl Z ddl!Z!Wne"k
�r
dZ Z!YnXGdd�d�Z#Gd	d
�d
�Z$Gdd�d�Z%d
ddddddddde&ej'�ej'fde(fdde(fde(fde(fde(fe)dd�dfe*d �e(fgZ+d
ddddddd!e(fdd"e(fe&ej'�ej'fde(fd#e(fde(fde(fde(fde(fe)dd�dfe*d �e(fgZ,Gd$d%�d%�Z-Gd&d'�d'�Z.d(d)�Z/d*d+�Z0Gd,d-�d-ej1�Z2Gd.d/�d/ej1�Z3e�4e d0�Gd1d2�d2ej1��Z5Gd3d4�d4ej1�Z6Gd5d6�d6ej1�Z7Gd7d8�d8ej1�Z8d9d:�Z9e:d;k�r�e�;�dS)<�N)�	ExitStack)�neg)�EnvironmentVarGuard�TESTFN�check_warnings�	swap_attr�unlink)�assert_python_ok)�	MagicMock�patchc@s$eZdZdd�Zdd�Zdd�ZdS)�SquarescCs||_g|_dS)N)�max�sofar)�selfr
�r�-/usr/local/lib/python3.7/test/test_builtin.py�__init__"szSquares.__init__cCs
t|j�S)N)�lenr)rrrr�__len__&�zSquares.__len__cCsVd|kr|jksnt�t|j�}x$||krJ|j�||�|d7}q(W|j|S)Nr�)r
�
IndexErrorrr�append)r�i�nrrr�__getitem__(s

zSquares.__getitem__N)�__name__�
__module__�__qualname__rrrrrrrr src@s$eZdZdd�Zdd�Zdd�ZdS)�
StrSquarescCs||_g|_dS)N)r
r)rr
rrrr2szStrSquares.__init__cCs
t|j�S)N)rr)rrrrr6szStrSquares.__len__cCsZd|kr|jksnt�t|j�}x(||krN|j�t||��|d7}q(W|j|S)Nrr)r
rrrr�str)rrrrrrr9s

zStrSquares.__getitem__N)rrrrrrrrrrr0src@seZdZdd�ZdS)�	BitBucketcCsdS)Nr)r�linerrr�writeCszBitBucket.writeN)rrrr#rrrrr!Bsr!)�0r)�1r)�9�	)�10�
)Z99�c)Z100�d)Z314i:)z 314i:)z314 i:)z  		  314  		  i:z  1x)z  1  rz  1  �� z  		  s\u0663\u0661\u0664 zraw-unicode-escapei:iz 314z  		  314  		  z  1  c@seZdZdd�ZdS)�TestFailingBoolcCst�dS)N)�RuntimeError)rrrr�__bool__sszTestFailingBool.__bool__N)rrrr0rrrrr.rsr.c@seZdZdd�ZdS)�TestFailingItercCst�dS)N)r/)rrrr�__iter__wszTestFailingIter.__iter__N)rrrr2rrrrr1vsr1cCst|�td�kS)N�d)�ord)�argrrr�filter_charzsr6cCstt|�d�S)Nr)�chrr4)r5rrr�map_char}sr8c@sPeZdZdd�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(e)�*e+j,j-dM�dNdO��Z.dPdQ�Z/dRdS�Z0dTdU�Z1dVdW�Z2dXdY�Z3dZd[�Z4e5�6��7d\��o�e5�8��7d]�Z9e:d^�d^kZ;e)�*e9�o�e;d_�d`da��Z<dbdc�Z=ddde�Z>dfdg�Z?dhdi�Z@eAdjdk��ZBeAdldm��ZCGdndo�doeD�ZEdpdq�ZFdrds�ZGdtdu�ZHdvdw�ZIdxdy�ZJdzd{�ZKd|d}�ZLd~d�ZMd�S)��BuiltinTestcCs�|}t�||�}t�|�}|�t|�t|��|�t|�|�t�|�}yt|�Wntk
rhdSXt�||�}t�|�}|�t|�|dd��dS)Nr)�pickle�dumps�loads�assertEqual�type�list�next�
StopIteration)r�it�seq�protoZitorgr3rrr�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�WdQRX|�ttd�dS)N�sysZtime�string)�namer)rH�levelZspamspamr���r,�__main__)�__package__�__spec__r)�foo)�locals�fromlistrIzstring)�
__import__�assertRaises�ImportError�	TypeError�
ValueErrorZassertWarns�
ImportWarning�ModuleNotFoundError)rrrr�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)Nri�i.���rgg��Q�	@g��Q�	��aTFc@seZdZdd�ZdS)z&BuiltinTest.test_abs.<locals>.AbsClasscSsdS)N���r)rrrr�__abs__�sz.BuiltinTest.test_abs.<locals>.AbsClass.__abs__N)rrrr]rrrr�AbsClass�sr^r\)r=�abs�
assertTruerF�maxsizerTrV�object)rr^rrr�test_abs�szBuiltinTest.test_abscCs�|�tdddg�d�|�tdddg�d�|�ttdt�dg�|�ttt��|�ttd�|�tt�|�ttdddgg�|�tg�d�|�tdt�g�d�dd	g}|�td
d�|D��d�ddd	g}|�td
d�|D��d�dS)NrJrL�TFr)r�2�<css|]}|dkVqdS)�*Nr)�.0�xrrr�	<genexpr>�sz'BuiltinTest.test_all.<locals>.<genexpr>�(css|]}|dkVqdS)rgNr)rhrirrrrj�s)r=�allrTr/r.r1rV)r�Srrr�test_all�s
zBuiltinTest.test_allcCs�|�tdddg�d�|�tdddg�d�|�ttdt�dg�|�ttt��|�ttd�|�tt�|�ttdddgg�|�tg�d�|�tdt�g�d�dd	d
g}|�tdd�|D��d�dd
d
g}|�tdd�|D��d�dS)NFrLTrdr)rJrrkrf�css|]}|dkVqdS)rgNr)rhrirrrrj�sz'BuiltinTest.test_any.<locals>.<genexpr>�css|]}|dkVqdS)rgNr)rhrirrrrj�s)r=�anyrTr/r.r1rV)rrmrrr�test_any�s

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)Nr,z''rr$rz()z[]z{}z[[...]]z
{0: {...}}cs��t|�t|��dS)N)r=�ascii�repr)�s)rrr�
_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=rsr)rr[rvrur)rr�
test_ascii�s4

zBuiltinTest.test_asciicCs4tjd}|�t|t��|�|tjd�dS)Nr)rFrar`�
isinstance�intr=)rrirrr�test_neg�s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[cSs||S)Nr)ri�yrrr�<lambda>rz+BuiltinTest.test_callable.<locals>.<lambda>cSsdS)Nrrrrr�frz$BuiltinTest.test_callable.<locals>.fc@seZdZdd�ZdS)z%BuiltinTest.test_callable.<locals>.C1cSsdS)Nr)rrrr�methrz*BuiltinTest.test_callable.<locals>.C1.methN)rrrr�rrrr�C1sr�cSsdS)Nrr)rrrrr�rc@seZdZdd�ZdS)z%BuiltinTest.test_callable.<locals>.C2cSsdS)Nr)rrrr�__call__rz.BuiltinTest.test_callable.<locals>.C2.__call__N)rrrr�rrrr�C2sr�c@seZdZdS)z%BuiltinTest.test_callable.<locals>.C3N)rrrrrrr�C3 sr�)r`�callabler�assertFalse�__builtins__r�r�rb)rr�r��cr�Zc2r�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� r-�A�A�ar[��ÿiz
\U0010ffffrszunicode-escapei��u￿iu𐀀iu𐀁i��u󿿾i��u󿿿iu􀀀iu􀀁i��u􏿾i��u􏿿���il)
r=r7rTrWrF�
maxunicoder �encoderV�
OverflowError)rrrr�test_chr$s(zBuiltinTest.test_chrcCs|�ttd��dS)NZcmp)r`�hasattr�builtins)rrrr�test_cmp:szBuiltinTest.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�}dd |jd d fd!d"d#g}x�|D]|^}}g}|�t|d$d|d%��t	�
|�}|�t|d$d|d%��x6|D].}	i}
t|	|
�|
d�}|�|t
|���qjW�q"WdS)&Nz	print(1)
r,�execss	print(1)
�pass�?)�source�filename�moderZtmpr$�eval)�dont_inheritr�r�r�r)r�r�stextrHz
print(42)
z<string>ZbadmodeZsingler�r�)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__)
        cSsdS)�docNrrrrrr�]rz#BuiltinTest.test_compile.<locals>.fr�T)rTr�TT)rFr�FF)rJFNFFz<test>)�optimize)�compile�
memoryviewrTrVrWr7r �__doc__r�ast�parser�r=�tuple)r�bomZcodestrr��valuesZoptval�expectedZcodeobjsZtree�code�ns�rvrrr�test_compile=s@



zBuiltinTest.test_compilecCs dt_ttd�|�tt�dS)Nr�spam)rFr��delattrrTrV)rrrr�test_delattrns
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|�dddgk�Gdd�dt	�}t|��}|�|t�|�
|dddgk�Gdd�dt	�}|�}|�tt|�yt
�Wn(|�ttt��d��d�YnX|�tg���tg��dS)Nrgr�	local_var�exitc@seZdZdZdS)z!BuiltinTest.test_dir.<locals>.Foo�N)rrr�__dict__rrrr�Foosr�rP�strip�__mro__c@seZdZdd�ZdS)z!BuiltinTest.test_dir.<locals>.FoocSsd|_d|_d|_dS)N�r�r')rir�z)rrrrr�sz*BuiltinTest.test_dir.<locals>.Foo.__init__N)rrrrrrrrr��src@seZdZgZdS)z!BuiltinTest.test_dir.<locals>.FooN)rrr�	__slots__rrrrr��s�__repr__c@seZdZddgZdd�ZdS)z!BuiltinTest.test_dir.<locals>.Foo�	__class__r�cSs
d|_dS)NZwow)�bar)rrrrr�sz*BuiltinTest.test_dir.<locals>.Foo.__init__N)rrrr�rrrrrr��sr�c@seZdZdd�ZdS)z!BuiltinTest.test_dir.<locals>.FoocSs
dddgS)N�kan�ga�roor)rrrr�__dir__�sz)BuiltinTest.test_dir.<locals>.Foo.__dir__N)rrrr�rrrrr��sr�r�r�c@seZdZdd�ZdS)z!BuiltinTest.test_dir.<locals>.FoocSsdS)N)�br�r[r)rrrrr��sz)BuiltinTest.test_dir.<locals>.Foo.__dir__N)rrrr�rrrrr��sr[r�r�c@seZdZdd�ZdS)z!BuiltinTest.test_dir.<locals>.FoocSsdS)Nr�r)rrrrr��sz)BuiltinTest.test_dir.<locals>.Foo.__dir__N)rrrr�rrrrr��srJrL)rTrV�dir�assertInrF�types�
ModuleTyper �assertNotInrbr`ZassertIsInstancer?rr=r�exc_info�sortedr�)rr�r�r�Zresrrr�test_dirssD
"zBuiltinTest.test_dircCs�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�ttjd	d
�tjd	df�xDdD]<\}}}t||�}|�|d|d�|�|d	|d	�qrW|�tt�dS)
N�r�)r�i�)���rJi����)r�r�)rr\rr�r))g
@g�?)g@g�?)g
�g�?)g�g�?)g
@g�)g�g�)g
�g�)g@gп)r=�divmodrFra�assertAlmostEqualrTrV)rZnumZdenomZ
exp_result�resultrrr�test_divmod�s$
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)Nz1+1rJz 1+1
r)r[r���i,)r�r�r[r�r�s�au"å"�årc@seZdZdd�ZdS)z BuiltinTest.test_eval.<locals>.XcSst�dS)N)rW)r�keyrrrr�sz,BuiltinTest.test_eval.<locals>.X.__getitem__N)rrrrrrrr�X�sr�rP)r=r�rTrV�SyntaxErrorrW)r�globalsrQr�r�rrr�	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|dkrdSt�dS)Nr[r�)�KeyError)rr�rrrr�sz4BuiltinTest.test_general_eval.<locals>.M.__getitem__cSstd�S)N�xyz)r?)rrrr�keys�sz-BuiltinTest.test_general_eval.<locals>.M.keysN)rrrr�rr�rrrr�M�sr�r[r�r�zdir()r�z	globals()zlocals()c@seZdZdZdS)z(BuiltinTest.test_general_eval.<locals>.AzNon-mappingN)rrrr�rrrrr��sr�c@seZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.DcSs|dkrdSt�||�S)Nr[r�)�dictr)rr�rrrrsz4BuiltinTest.test_general_eval.<locals>.D.__getitem__cSstd�S)Nr�)r?)rrrrr�	sz-BuiltinTest.test_general_eval.<locals>.D.keysN)rrrrr�rrrr�Dsr�z[locals() for i in (2,3)]c@s$eZdZdZiZdd�Zdd�ZdS)z2BuiltinTest.test_general_eval.<locals>.SpreadSheetz6Sample application showing nested, calculated lookups.cSs||j|<dS)N)�_cells)rr�Zformularrr�__setitem__sz>BuiltinTest.test_general_eval.<locals>.SpreadSheet.__setitem__cSst|j|t�|�S)N)r�r�r�)rr�rrrrsz>BuiltinTest.test_general_eval.<locals>.SpreadSheet.__getitem__N)rrrr�r�r�rrrrr�SpreadSheetsr��5Za1za1*6Za2za2*7�a3��c@seZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.CcSst|��dS)N)r�)r�itemrrrr(sz4BuiltinTest.test_general_eval.<locals>.C.__getitem__cSsdS)Nrr)rrrrr�*sz-BuiltinTest.test_general_eval.<locals>.C.keysN)rrrrr�rrrr�C'sr�)
r�r=r�rT�	NameErrorr?rVr��collections�UserDict)
rr��m�gr�r�r3r��ssr�rrr�test_general_eval�s:	zBuiltinTest.test_general_evalc	Cs�i}td|�d|kr|d=|�|ddi�td|�d|krD|d=|�|ddi�i}i}t��"tjddd	d
�td||�WdQRXd|kr�|d=d|kr�|d=|�||fddid
dif�dS)Nzz = 1r�r�rzz = 1+1rJ�ignorezglobal statementz<string>)�modulezglobal a; a = 1; b = 2r[r�)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�r�|t	j�}n|t	�}td
dd�}|��t|d|i�|i�}tddd�}|��t||�dS)Nzprint('Hello World!')r,r�zname 'print' is not definedr��{z
class A: passz__build_class__ not foundc@seZdZdS)z7BuiltinTest.test_exec_globals.<locals>.frozendict_errorN)rrrrrrr�frozendict_errorTsr�cseZdZ�fdd�ZdS)z1BuiltinTest.test_exec_globals.<locals>.frozendictcs�d��dS)Nzfrozendict is readonlyr)rr��value)r�rrr�Xsz=BuiltinTest.test_exec_globals.<locals>.frozendict.__setitem__N)rrrr�r)r�rr�
frozendictWsr�z1__builtins__['superglobal']=2; print(superglobal)Ztestzx=1)
r��assertRaisesRegexr�r�rTrV�	Exceptionr�r|r�r�r�r�)rr�r�Zfrozen_builtins�	namespacer)r�r�test_exec_globalsFs(zBuiltinTest.test_exec_globalscCs@tj}dt_z&ytd�Wntk
r.YnXWd|t_XdS)Nr[)rF�stdoutr�r�)r�
savestdoutrrr�test_exec_redirectedjs
z BuiltinTest.test_exec_redirectedc
Cs�|�ttdd�d��td��|�ttdddgdgddd	d
g��dddgd	g�|�ttdd�ddd	d
d
g��dd	d
g�|�ttdtd���ddd	ddddddg	�|�ttdd�td���dd	dddg�dd�}t|td��|�tt�Gdd�dt�}|�tttdd�|���dd�}|�ttt|td���|�ttdd��dd
g�|�ttd d�d!��ddg�|�tttd"d��dS)#NcSsd|kodkSS)Nr[r�r)r�rrrr�vrz)BuiltinTest.test_filter.<locals>.<lambda>zHello WorldZelloorldrZhellorKr,r'rcSs|dkS)Nrr)rirrrr�xr���rJr)rL���$�1�@�QcSs|dS)NrJr)rirrrr�zrcSsdS)Nrr)r�rrr�identity{sz)BuiltinTest.test_filter.<locals>.identityr�c@seZdZdd�ZdS)z'BuiltinTest.test_filter.<locals>.BadSeqcSs|dkrdSt�dS)NrLrg)rW)r�indexrrrr�sz3BuiltinTest.test_filter.<locals>.BadSeq.__getitem__N)rrrrrrrr�BadSeqsrcSs|S)Nr)rirrrr��rcSsdS)Nrrrrr�badfunc�sz(BuiltinTest.test_filter.<locals>.badfunc)rrJcSs|dkS)NrKr)rirrrr��r)rrJrKrLrg)	r=r?�filterrrTrVrbrW�range)rr
rr
rrr�test_filterus2*,(zBuiltinTest.test_filtercCsBx<ttjd�D]*}ttd�}ttd�}|�|t|�|�qWdS)NrZ
abcdeabcde)rr:�HIGHEST_PROTOCOLrr6rEr?)rrD�f1�f2rrr�test_filter_pickle�s

zBuiltinTest.test_filter_picklecCsn|�ttd�tjk�|�tttd�|�tttdd�|�tt�|�tttttj��|�ttdd�dS)NrrrPu�픞)	r`�getattrrFrrTrV�AttributeErrorr7r�)rrrr�test_getattr�szBuiltinTest.test_getattrcCs�|�ttd��|�tttd�|�tt�|�dttttj���Gdd�d�}|�tt|�d�Gdd�d�}|�t	t|�d�dS)	NrrFc@seZdZdd�ZdS)z#BuiltinTest.test_hasattr.<locals>.AcSst�dS)N)�
SystemExit)r�whatrrr�__getattr__�sz/BuiltinTest.test_hasattr.<locals>.A.__getattr__N)rrrrrrrrr��sr�r�c@seZdZdd�ZdS)z#BuiltinTest.test_hasattr.<locals>.BcSst�dS)N)rW)rrrrrr�sz/BuiltinTest.test_hasattr.<locals>.B.__getattr__N)rrrrrrrr�B�sr)
r`r�rFrTrVr=r7r�rrW)rr�rrrr�test_hasattr�szBuiltinTest.test_hasattrcCs�td�|�td�td��|�td�td��td�|�td�td��td�dd�}|�ttg�|�tti�Gdd	�d	�}|�tt|���t�Gd
d�dt�}|�t|d��td��dS)
Nrg�?r�sspam)rrrJrKcSsdS)Nrrrrrr��rz BuiltinTest.test_hash.<locals>.fc@seZdZdd�ZdS)z BuiltinTest.test_hash.<locals>.XcSsddS)NrJr+r)rrrr�__hash__�sz)BuiltinTest.test_hash.<locals>.X.__hash__N)rrrrrrrrr��sr�c@seZdZdd�ZdS)z BuiltinTest.test_hash.<locals>.ZcSs|S)Nr)rrrrr�sz)BuiltinTest.test_hash.<locals>.Z.__hash__N)rrrrrrrr�Z�srrg)�hashr=rTrVr>r})rr�r�rrrr�	test_hash�szBuiltinTest.test_hashcCs2|�td�d�|�td�d�|�tti�dS)NrZ0x10i�z-0x10)r=�hexrTrV)rrrr�test_hex�szBuiltinTest.test_hexcCsLtd�td�td�td�td�tddddg�tdddd��dS)	Nrg�?r�)rrrJrKrrJrK)r�Zeggs�ham)�id)rrrr�test_id�szBuiltinTest.test_idcCsr|�tt�|�ttdd�dddgdg}xB|D]:}t|�}|�t|�d�|�t|�d�|�tt|�q0WdS)Nrg)r%�2r%r&Z12)rTrV�iterr=r@rA)rZlistsr�rrrr�	test_iter�s
zBuiltinTest.test_itercCs�Gdd�d�}Gdd�d|�}Gdd�d�}|�}|�}|�}|�t||��|�t||��|�t||��|�t||��|�td|��|�tt|d�|�tt�dS)Nc@seZdZdS)z&BuiltinTest.test_isinstance.<locals>.CN)rrrrrrrr��sr�c@seZdZdS)z&BuiltinTest.test_isinstance.<locals>.DN)rrrrrrrr��sr�c@seZdZdS)z&BuiltinTest.test_isinstance.<locals>.EN)rrrrrrr�E�sr)rP)r`r|rTrV)rr�r�r)r�r3�errr�test_isinstance�szBuiltinTest.test_isinstancecCs�Gdd�d�}Gdd�d|�}Gdd�d�}|�}|�}|�}|�t||��|�t||��|�t||��|�ttd|�|�tt|d�|�tt�dS)Nc@seZdZdS)z&BuiltinTest.test_issubclass.<locals>.CN)rrrrrrrr��sr�c@seZdZdS)z&BuiltinTest.test_issubclass.<locals>.DN)rrrrrrrr��sr�c@seZdZdS)z&BuiltinTest.test_issubclass.<locals>.EN)rrrrrrrr)�sr)rP)r`�
issubclassrTrV)rr�r�r)r�r3r*rrr�test_issubclass�szBuiltinTest.test_issubclasscCsF|�td�d�|�td�d�|�td�d�|�tddddg�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�123rKrr)rrJrKrLrLrrJ)r[r�c@seZdZdd�ZdS)z$BuiltinTest.test_len.<locals>.BadSeqcSst�dS)N)rW)rrrrrsz,BuiltinTest.test_len.<locals>.BadSeq.__len__N)rrrrrrrrrsrc@seZdZdd�ZdS)z(BuiltinTest.test_len.<locals>.InvalidLencSsdS)Nr)rrrrrsz0BuiltinTest.test_len.<locals>.InvalidLen.__len__N)rrrrrrrr�
InvalidLen
sr/c@seZdZdd�ZdS)z&BuiltinTest.test_len.<locals>.FloatLencSsdS)Ng@r)rrrrrsz.BuiltinTest.test_len.<locals>.FloatLen.__len__N)rrrrrrrr�FloatLensr0c@seZdZdd�ZdS)z)BuiltinTest.test_len.<locals>.NegativeLencSsdS)Ni����r)rrrrrsz1BuiltinTest.test_len.<locals>.NegativeLen.__len__N)rrrrrrrr�NegativeLensr1c@seZdZdd�ZdS)z%BuiltinTest.test_len.<locals>.HugeLencSs
tjdS)Nr)rFra)rrrrrsz-BuiltinTest.test_len.<locals>.HugeLen.__len__N)rrrrrrrr�HugeLensr2c@seZdZdd�ZdS)z-BuiltinTest.test_len.<locals>.HugeNegativeLencSstjdS)Nr))rFra)rrrrrsz5BuiltinTest.test_len.<locals>.HugeNegativeLen.__len__N)rrrrrrrr�HugeNegativeLensr3c@seZdZdS)z)BuiltinTest.test_len.<locals>.NoLenMethodN)rrrrrrr�NoLenMethodsr4)r=rrTrWrVr�rb)rrr/r0r1r2r3r4rrr�test_len�s(zBuiltinTest.test_lenc
s|�ttdd�tdd���dddg�yddlm�Wntk
rRdd	��YnX|�tt�fd
d�ddgddgg��d
dgddgg�|�ttdd�dddgdddg��dddg�dd�}|�tt|dddg��dddg�|�tt|dddgdddg��dddg�|�tt|dddgdddgdddg��dddg�|�ttttd���ddddddddddg
�d d!�}|�tt|td�td���ddg�|�	t
t�|�	t
td"d�d#�Gd$d%�d%�}|�	tttd&d�|���d'd(�}|�	ttt|td���dS))NcSs||S)Nr)rirrrr�#rz&BuiltinTest.test_map.<locals>.<lambda>rrLr'r)�sqrtcSs
t|d�S)Ng�?)�pow)rirrrr6)sz"BuiltinTest.test_map.<locals>.sqrtcstt�|��S)N)r?�map)ri)r6rrr�,rrr	g@g@g"@g@cSs||S)Nr)rirrrrr�0rrKrJr)rdcWsd}x|D]}||}q
W|S)Nrr)�vZaccurrrr�plus4s
z"BuiltinTest.test_map.<locals>.plusr�r�r��
rrrrcSs"|dkr|S|dkr|St||�S)N)r
)r[r�rrr�MaxHs
z!BuiltinTest.test_map.<locals>.MaxcSs|S)Nr)rirrrr�Srrgc@seZdZdd�ZdS)z$BuiltinTest.test_map.<locals>.BadSeqcsst�dVdS)N)rW)rrrrr2Usz-BuiltinTest.test_map.<locals>.BadSeq.__iter__N)rrrr2rrrrrTsrcSs|S)Nr)rirrrr�XrcSst�dS)N)r/)rirrrr
Ysz%BuiltinTest.test_map.<locals>.badfunc)
r=r?r8rZmathr6rUr}rrTrVrWr/)rr:r<rr
r)r6r�test_map!sH "
zBuiltinTest.test_mapcCsBx<ttjd�D]*}ttd�}ttd�}|�|t|�|�qWdS)NrzIs this the real life?)rr:rr8r8rEr?)rrDZm1Zm2rrr�test_map_pickle]s

zBuiltinTest.test_map_picklec	Cs
|�td�d�|�tddd�d�|�td�d�|�tddddddg�d�|�tddd�d�|�tddd�d�|�td	dd�d�|�tt�|�ttd
�|�ttd�Gdd
�d
�}|�tt|��x>dD]6}yt|t��Wntk
�rYq�X|�|�q�W|�tdtd�d�|�tdtd�d�|�tddtd�d�|�tddd�d�|�tddd�d�|�tddd�d�|�tddtd�d�|�tddtd�d�dd�t	d�D�}t
dd�|D��}|j}|�t||d�tt
|�|d�d�dS)N�123123�3rrJrK)rrJrKrrJrKg@g@g�?rgrc@seZdZdd�ZdS)z$BuiltinTest.test_max.<locals>.BadSeqcSst�dS)N)rW)rrrrrrqsz0BuiltinTest.test_max.<locals>.BadSeq.__getitem__N)rrrrrrrrrpsr)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)r�)rrJ)�default)rAr�cSsg|]}t�d��qS)r�)�random�	randrange)rhrrrr�
<listcomp>�sz(BuiltinTest.test_max.<locals>.<listcomp>r+css|]}|t�d�fVqdS)reN)rBrC)rh�elemrrrrj�sz'BuiltinTest.test_max.<locals>.<genexpr>r�)r=r
rTrVrWr�r��failrrr�rr��reversed)rr�stmt�datar�r�rrr�test_maxcs@	zBuiltinTest.test_maxc	Cs|�td�d�|�tddd�d�|�td�d�|�tddddddg�d�|�tddd�d�|�tddd�d�|�td	dd�d	�|�tt�|�ttd
�|�ttd�Gdd
�d
�}|�tt|��x>dD]6}yt|t��Wntk
�rYq�X|�|�q�W|�tdtd�d�|�tdtd�d�|�tddtd�d�|�tddd�d�|�tddd�d�|�tddd�d�|�tddtd�d�|�tddtd�d�dd�t	d�D�}t
dd�|D��}|j}|�t||d�t||d�d�dS)Nr?r%rrJrK)rrJrKrrJrKg@g@g�?rgrc@seZdZdd�ZdS)z$BuiltinTest.test_min.<locals>.BadSeqcSst�dS)N)rW)rrrrrr�sz0BuiltinTest.test_min.<locals>.BadSeq.__getitem__N)rrrrrrrrr�sr)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�)rrJ)rA)rAr�cSsg|]}t�d��qS)r�)rBrC)rhrrrrrD�sz(BuiltinTest.test_min.<locals>.<listcomp>r+css|]}|t�d�fVqdS)reN)rBrC)rhrErrrrj�sz'BuiltinTest.test_min.<locals>.<genexpr>r)
r=�minrTrVrWr�r�rFrrr�rr�)rrrHrIr�r�rrr�test_min�s@	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)	NrJrrrgc@seZdZdd�Zdd�ZdS)z#BuiltinTest.test_next.<locals>.ItercSs|S)Nr)rrrrr2�sz,BuiltinTest.test_next.<locals>.Iter.__iter__cSst�dS)N)rA)rrrr�__next__�sz,BuiltinTest.test_next.<locals>.Iter.__next__N)rrrr2rMrrrr�Iter�srNcss
dVdS)Nrrrrrr�gen�sz"BuiltinTest.test_next.<locals>.gen)r'rr=r@rTrArb)rrBrNrOrrr�	test_next�s
zBuiltinTest.test_nextcCs2|�td�d�|�td�d�|�ttd�dS)Nr+Z0o144i����z-0o144r)r=�octrTrV)rrrr�test_oct�szBuiltinTest.test_octc	Csfttd�}|�tt�|�B|�d�|�d�|�d�|�d�|�d�|�d�WdQRXdS)N�wz1+1
z+The quick brown fox jumps over the lazy dogz.
z
Dear John
�,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX�,YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY)�openr�
addCleanuprr#)r�fprrr�write_testfile�s





zBuiltinTest.write_testfilec	Cs�|��ttd�}|�p|�|�d�d�|�|��d�|�|�d�d�|�|�d�d�|�|�d�d	�|�|�d
�d�WdQRX|�ttd�|�ttd
�dS)N�rrLz1+1
z-The quick brown fox jumps over the lazy dog.
ZDearr+z John
i,rTi�rUzabsab)rYrVrr=�readline�readrTrW)rrXrrr�	test_open�s
zBuiltinTest.test_openzutf-8 mode is enabledc	Cs�ttj�}z^xdD]}|tjkrtj|=qW|��t�d�}ttd�}|�|�|j	|�WdQRXWdtj�
�tj�|�XdS)N)�LC_ALL�LANG�LC_CTYPEFrS)r��os�environrY�locale�getpreferredencodingrVrr=�encoding�clear�update)rZold_environr�Zcurrent_locale_encodingrXrrr�test_open_default_encodings





z&BuiltinTest.test_open_default_encodingc	Cs0tt�}|�|�t�|����WdQRXdS)N)rV�__file__r�ra�get_inheritable�fileno)rZfileobjrrr�test_open_non_inheritablesz%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)#Nr-r�r�r�r[r��€�r�r�� �Ar�����rgi��u￿i��u𐀀iu𐀁iu󿿾i��u󿿿i��u􀀀iu􀀁iu􏿾i��u􏿿)r=r4r7rFr�rTrV)rrrr�test_ords,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�xzdD]r}xjdD]b}xZdD]R}t|t��s�t|t��s�t|t��r|�tt|||�n|�t|||�d��q�W�q�W�q�W|�tdd�d�|�tdd�d�|�ttdd
d�|�ttddd�|�tt�dS) NrrrJr)irpiroi@r�rLrKi����gg�?g@g�@g0Ag�Ag�g@g �)rJg@)r)g$@)i�g@�@g8@r�g�?y�?gUUUUUU�?y�?�LX�z��?)r=r7r�r|�floatrTrVrW)rrirr�rrr�test_pow:sJ


&zBuiltinTest.test_powcCs|��ttd�}tj}tj}z�|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	�Wd|t_|t_|�	�XdS)
NrZz1+1z,The quick brown fox jumps over the lazy dog.ztesting
z	Dear JohnzNULLrgz    'whitespace'�prompt)rYrVrrF�stdinrr!r=�input�closerTrW�io�StringIOrV�EOFErrorr/)rrXZ	savestdinrrrr�
test_inputks6


zBuiltinTest.test_inputcCs�|�td�d�|�td�d�|�td�d�|�tg�d�|�ti�d�g}|�|�|�t|�d	�i}||d<|�t|�d
�dS)Nr,z''rr$rz()z[]z{}z[[...]]z
{0: {...}})r=rtr)rr[rrr�	test_repr�s
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)-Ngg�?g$@ge��Ag@��x�Dg�g$�ge��g@��x��g�������?g�������?g333333$@g��e��Ag�������g333333$�g��e��g�������?g������#@g33�d��Ag�������g������#�g33�d��g �r�rrg@rdg@g�i����g�r�i����)ZnumberZndigitsc@seZdZdd�ZdS)z)BuiltinTest.test_round.<locals>.TestRoundcSsdS)N�r)rrrr�	__round__�sz3BuiltinTest.test_round.<locals>.TestRound.__round__N)rrrr�rrrr�	TestRound�sr�c@seZdZdS)z+BuiltinTest.test_round.<locals>.TestNoRoundN)rrrrrrr�TestNoRound�sr�rrJrKcWs|S)Nr)�argsrrrr��rz(BuiltinTest.test_round.<locals>.<lambda>)r=�roundr>r}rtrTrVr�)rr�r��trrr�
test_round�sb
zBuiltinTest.test_roundZLinuxZalphag��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�1Cg��7y�1Cg��7y�1Cg��7y�1C)r=r�)rrrr�test_round_large�s
zBuiltinTest.test_round_largecCs\xVddt�d�t�dd�gD]8}|�t|d�t|��|�tt|d��tt|���qWdS)Ni�g
ףp=J�@z1234.56i@�r+)�decimalZDecimal�	fractionsZFractionr=r�r>)rrirrr�test_bug_27936�szBuiltinTest.test_bug_27936cCs<ttdd�|�tjd�|�tttdd�|�tt�dS)Nr�r)�setattrrFr=r�rTrV)rrrr�test_setattrszBuiltinTest.test_setattrcCs�|�tg�d�|�tttdd���d�|�ttttdd����d�|�ttd��d�|�tttd���d�|�tdgdgdggg�dddg�|�tt�|�ttd	�|�ttd
ddg�|�ttd
ddgd
�|�ttddgd�td�td�g}|�tt|td��|�ttdgdgdgg�|�ttddig�|�ttddigdddi�Gdd�d�}|�t	t|��g}tdd�td�D�|�|�|g�dS)NrrJr��r)irrKrgr[r�r�r,r��cr�bc@seZdZdd�ZdS)z$BuiltinTest.test_sum.<locals>.BadSeqcSst�dS)N)rW)rrrrrr!sz0BuiltinTest.test_sum.<locals>.BadSeq.__getitem__N)rrrrrrrrr srcss|]}|gVqdS)Nr)rhrirrrrj&sz'BuiltinTest.test_sum.<locals>.<genexpr>)
r=�sumr?rr'rrTrV�	bytearrayrW)rr�r�emptyrrr�test_sum
s*$zBuiltinTest.test_sumcCs,|�td�td��|�td�td��dS)Nr,r.r)r=r>�assertNotEqual)rrrr�	test_type)szBuiltinTest.test_typecCst�S)N)�varsrrrr�get_vars_f0/szBuiltinTest.get_vars_f0cCst��d}d}t�S)NrrJ)r9r�r�)r[r�rrr�get_vars_f23szBuiltinTest.get_vars_f2c@seZdZdd�Zeed�ZdS)zBuiltinTest.C_get_varscCsddiS)Nr[rJr)rrrr�getDict;szBuiltinTest.C_get_vars.getDict)�fgetN)rrrr��propertyr�rrrr�
C_get_vars:sr�cCs�|�tt��tt���|�ttt��ttt���|�|��i�|�|��ddd��|�ttdd�|�ttd�|�t|�	��ddi�dS)NrrJ)r[r�rgr[)
r=�setr�r�rFr�r�rTrVr�)rrrr�	test_vars?szBuiltinTest.test_varscCsNd}d}dddg}|�tt||��|�dddg}|�tt||��|�d	}|�tt||��|�Gd
d�d�}|�tt||���|�|�tt��g�|�ttg��g�|�ttd�Gdd
�d
�}|�tt||��|�tt|t��Gdd�d�}|�tt|�td���tttd����Gdd�d�}|�t	tt|�|���dS)N)rrJrK)rLr�rd)rrL)rJr�)rKrdrLr�rd)rLr�rdr�c@seZdZdd�ZdS)zBuiltinTest.test_zip.<locals>.IcSs|dks|dkrt�|dS)NrrJrL)r)rrrrrrRsz+BuiltinTest.test_zip.<locals>.I.__getitem__N)rrrrrrrr�IQsr�c@seZdZdS)zBuiltinTest.test_zip.<locals>.GN)rrrrrrr�GYsr�c@seZdZdd�ZdS)z4BuiltinTest.test_zip.<locals>.SequenceWithoutALengthcSs|dkrt�n|SdS)Nr�)r)rrrrrrbsz@BuiltinTest.test_zip.<locals>.SequenceWithoutALength.__getitem__N)rrrrrrrr�SequenceWithoutALengthasr�i@c@seZdZdd�ZdS)z$BuiltinTest.test_zip.<locals>.BadSeqcSs|dkrt�n|SdS)Nr�)rW)rrrrrrmsz0BuiltinTest.test_zip.<locals>.BadSeq.__getitem__N)rrrrrrrrrlsr)
r=r?�ziprTrVr/r1r�	enumeraterW)rr[r�r�r�r�r�rrrr�test_zipHs,

zBuiltinTest.test_zipcCsFd}d}dddg}x.ttjd�D]}t||�}|�|||�q"WdS)N)rrJrK)rLr�rd)rrL)rJr�)rKrdr)rr:rr�rE)rr[r�r�rDZz1rrr�test_zip_picklets

zBuiltinTest.test_zip_picklec
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�}xrt||gD]d}	|	�}
��t|
�t|
����t|
d�t|
����	tdt
�|	j���t|
d�WdQRX�q�WGdd�dt�}��td|d��d �dS)!NrKr,r@cSs\Gdd�dt�}Gdd�d|�}Gdd�dt�}Gdd�d|�}Gd	d
�d
|�}||||fS)Nc@seZdZdd�Zdd�ZdS)z7BuiltinTest.test_format.<locals>.classes_new.<locals>.AcSs
||_dS)N)ri)rrirrrr�sz@BuiltinTest.test_format.<locals>.classes_new.<locals>.A.__init__cSst|j�|S)N)r ri)r�format_specrrr�
__format__�szBBuiltinTest.test_format.<locals>.classes_new.<locals>.A.__format__N)rrrrr�rrrrr��sr�c@seZdZdS)zBBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromAN)rrrrrrr�DerivedFromA�sr�c@seZdZdS)z<BuiltinTest.test_format.<locals>.classes_new.<locals>.SimpleN)rrrrrrr�Simple�sr�c@seZdZdd�Zdd�ZdS)zGBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimplecSs
||_dS)N)ri)rrirrrr�szPBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple.__init__cSst|j�|S)N)r ri)rr�rrrr��szRBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple.__format__N)rrrrr�rrrr�DerivedFromSimple�sr�c@seZdZdS)zHBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple2N)rrrrrrr�DerivedFromSimple2�sr�)rb)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)NrK�specZ3specrLZ4specr��abcZ5abcr)ZabcdefZ10abcdef)r=�format)r�r�r�r�)rrr�
class_test�s
z+BuiltinTest.test_format.<locals>.class_testcs.��t|d�t|����t|�t|��dS)Nr,)r=r�r )r�)rrr�empty_format_spec�sz2BuiltinTest.test_format.<locals>.empty_format_specl�.��@g�?g�]]^��Ug�]]^���g�;�q7r*g�;�q7r�c@seZdZdd�ZdS)z0BuiltinTest.test_format.<locals>.BadFormatResultcSsdS)Ng�?r)rr�rrrr��sz;BuiltinTest.test_format.<locals>.BadFormatResult.__format__N)rrrr�rrrr�BadFormatResult�sr�rLz<object object atc@seZdZdd�ZdS)z"BuiltinTest.test_format.<locals>.AcSs
td|�S)Nr,)r�)rZfmt_strrrrr��sz-BuiltinTest.test_format.<locals>.A.__format__N)rrrr�rrrrr��sr�ruc@seZdZdS)z"BuiltinTest.test_format.<locals>.BN)rrrrrrrr�src@seZdZdS)z"BuiltinTest.test_format.<locals>.CN)rrrrrrrr��sr�z\b%s\bc@seZdZdS)z/BuiltinTest.test_format.<locals>.DerivedFromStrN)rrrrrrr�DerivedFromStr�sr�rr(z
         0)
r=r�rbrTrVr�r`�
startswithr r��re�escaper)rr�r�r�r�rir�rr��cls�objr�r)rr�test_format|sJ
zBuiltinTest.test_formatcCs�|�td�d�|�td�d�|�td�d�|�tdd�d	�|�tddd�d
�|�tdd�d�|�tddd�d�dS)
NrZ0b0rZ0b1r�z-0b1rJr�ZD0b100000000000000000000000000000000000000000000000000000000000000000ZC0b11111111111111111111111111111111111111111111111111111111111111111zE-0b100000000000000000000000000000000000000000000000000000000000000000zD-0b11111111111111111111111111111111111111111111111111111111111111111)r=�bin)rrrr�test_bin�szBuiltinTest.test_bincCs0td�}|�t|jdd�|�t|jdd�dS)Nsabc�1rs1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111)r�rTrW�	translaterV)rrirrr�test_bytearray_translate�sz$BuiltinTest.test_bytearray_translatecCs$t�}ttd�}|�t|j|�dS)Nr�)r�r8r}rTrW�extend)rZarrayZbad_iterrrr�test_bytearray_extend_error�s
z'BuiltinTest.test_bytearray_extend_errorcCsPxJdttfD]<}t|�}|�|�|�|�t|dd�|jt|ddd�qWdS)NrrJ)r[r�)�Ellipsis�NotImplementedr>�assertIsrTrV)r�const�tprrr�test_construct_singletons�s
z%BuiltinTest.test_construct_singletonsN)NrrrrErZrcrnrrr{r~r�r�r�r�r�r�r�r�r�r�r�rrrrrr r"r%r(r+r-r5r=r>rJrLrPrRrYr]�unittest�skipIfrF�flags�	utf8_moderhrlrsrur}r~r��platform�systemr��machineZlinux_alphar�Zsystem_round_bugr�r�r�r�r��staticmethodr�r�rbr�r�r�r�r�r�r�r�r�rrrrr9�s�#"1ME$	
"<441%
Q
		,e	r9c@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�	resourcesrWry�
enter_contextr�envrrF�__breakpointhook__)rrrr�setUp�szTestBreakpoint.setUpc	Cs&td��}t�WdQRX|��dS)Nz
pdb.set_trace)r�
breakpointZassert_called_once)r�mockrrr�test_breakpoints
zTestBreakpoint.test_breakpointcCst�}|t_t�|��dS)N)r
rFr�r��assert_called_once_with)r�my_breakpointhookrrr�'test_breakpoint_with_breakpointhook_setsz6TestBreakpoint.test_breakpoint_with_breakpointhook_setc	CsPt�}|t_t�|��tjt_td��}t�|��WdQRX|��dS)Nz
pdb.set_trace)r
rFr�r�r�r�r)rr�r�rrr�)test_breakpoint_with_breakpointhook_resets
z8TestBreakpoint.test_breakpoint_with_breakpointhook_resetcCs6t�}|t_tdddddd�|jdddddd�dS)NrrJrKrLr�)�four�five)r
rFr�r�r�)rr�rrr�&test_breakpoint_with_args_and_keywords"sz5TestBreakpoint.test_breakpoint_with_args_and_keywordsc	Cs*dd�}|t_|jttdddddd�dS)	NcSsdS)Nrrrrrr�)szMTestBreakpoint.test_breakpoint_with_passthru_error.<locals>.my_breakpointhookrrJrKrLr�)r�r�)rFr�rTrVr�)rr�rrr�#test_breakpoint_with_passthru_error(sz2TestBreakpoint.test_breakpoint_with_passthru_errorz-E was givenc	Cs4d|jd<td��}td�|�d�WdQRXdS)Nr}r�zbuiltins.int�7)r�rr�r�)rr�rrr�test_envar_good_path_builtin.s

z+TestBreakpoint.test_envar_good_path_builtinc	Cs0d|jd<td��}t�|��WdQRXdS)Nzsys.exitr�)r�rr�r�)rr�rrr�test_envar_good_path_other5s

z)TestBreakpoint.test_envar_good_path_otherc	Cs0d|jd<td��}t�|��WdQRXdS)Nr$r�z
pdb.set_trace)r�rr��assert_not_called)rr�rrr�test_envar_good_path_noop_0<s

z*TestBreakpoint.test_envar_good_path_noop_0c	Cs0d|jd<td��}t�|��WdQRXdS)Nr,r�z
pdb.set_trace)r�rr�r�)rr�rrr�!test_envar_good_path_empty_stringCs

z0TestBreakpoint.test_envar_good_path_empty_stringc
Cs�x�dD]~}|j|d��h||jd<|j�td��}|j�tdd��}t�|�t|j	�d|�d��|�|j
t�|��WdQRXqWdS)	N)�.z..z.foozfoo.z.intzint.z.foo.barz	..foo.barz/./Z
nosuchbuiltinznosuchmodule.nosuchcallable)�envarr�z
pdb.set_traceT)�quietz*Ignoring unimportable $PYTHONBREAKPOINT: "rx)
�subTestr�r�r�rrr�r=r �message�category�RuntimeWarningr�)rr�r�rSrrr�test_envar_unimportableJs
z&TestBreakpoint.test_envar_unimportablec	Cs6d|jd<td��}tt_t�|��WdQRXdS)Nzsys.exitr�)r�rr}rFr�r�r�)rr�rrr�#test_envar_ignored_when_hook_is_set]s


z2TestBreakpoint.test_envar_ignored_when_hook_is_setN)rrrr�r�r�r�r�r�r�r�rFr��ignore_environmentr�r�r�r�r�r�rrrrr��sr�z,the pty and signal modules must be availablec@sVeZdZdZedd��Zdd�Zdd�Zdd	d
�Zdd�Z	d
d�Z
dd�Zdd�ZdS)�PtyTestszhTests that use a pseudo terminal to guarantee stdin and stdout are
    terminals in the test environmentcCsdS)Nr)Zsignum�framerrr�
handle_sighupjszPtyTests.handle_sighupc
Cs2t�tj|j�}z|�||�St�tj|�XdS)N)�signal�SIGHUPr��
_run_child)r�child�terminal_inputZ
old_sighuprrr�	run_childqszPtyTests.run_childc
Cs�t��\}}yt��\}}WnLttfk
rh}z*t�|�t�|�|�d�|���Wdd}~XYnX|dkr�zPy6t	�
d�t�|�t|d��}||�WdQRXWnt�
�YnXWdt�d�Xt�|�t�||�t|d��2}	g}
x&|	����}|dk�rP|
�|�q�WWdQRXt|
�dk�r�t�}xByt�|d�}
Wntk
�rfPYnX|
�spP|�|
��q>Wt�|�|�dd	�}|�d
t|
�|f�t�|�t�|d�|
S)Nzpty.fork() raised {}rrJrSrZr,i�rsr�z9got %d lines in pipe but expected 2, child output was:
%s)ra�pipe�pty�fork�OSErrorrry�skipTestr�r��alarmrV�	traceback�	print_exc�_exitr#r[r�rrr�r\r��decoderF�waitpid)rr�r�rZrS�pid�fdr*�wpipeZrpipe�linesr"Zchild_output�chunkrrrr�xsV







zPtyTests._run_childNcs�tj��rtj��s|�d���fdd�}|�||d�}|�|dddh�|ddkrf|�d�t|d	�}�r�|��d
�}n|�tjj	�}|�
||�dS)Nzstdin and stdout must be ttyscsj�r4tjtj���dd�t_tjtj���dd�t_tdtj��oJtj��|d�ttt	���|d�dS)N�surrogateescape)re�errors�replaceztty =)�file)
rz�
TextIOWrapperrFrw�detachr�print�isattyrsrx)r)rv�stdio_encodingrrr��s

z'PtyTests.check_input_tty.<locals>.childs
rz
tty = Trueztty = Falsez%standard IO in should have been a ttyrr)rFrwrrr�r�r�r�rrer=)rrvr�rr�r	Zinput_resultr�r)rvrr�check_input_tty�s

zPtyTests.check_input_ttycCs|�dd�dS)Nrvsquux)r)rrrr�test_input_tty�szPtyTests.test_input_ttycCs|�ddd�dS)Nupromptésquux�zutf-8)r)rrrr�test_input_tty_non_ascii�sz!PtyTests.test_input_tty_non_asciicCs|�ddd�dS)Nupromptésquux�rs)r)rrrr�'test_input_tty_non_ascii_unicode_errors�sz0PtyTests.test_input_tty_non_ascii_unicode_errorscCs(dd�}|�|d�}d}|�||�dS)NcSsBtdtj��|d�t��t_td�tdttj�	��|d�dS)Nzstdin.isatty():)rrvz	captured:)
rrFrwrrzr{rrxrs�getvalue)rrrrr��s
z3PtyTests.test_input_no_stdout_fileno.<locals>.childsquux
)zstdin.isatty(): Truezcaptured: 'prompt')r�ZassertSequenceEqual)rr�r	r�rrr�test_input_no_stdout_fileno�sz$PtyTests.test_input_no_stdout_fileno)N)
rrrr�r�r�r�r�rrrrrrrrrr�es=
r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
TestSortedcCs�ttd��}|dd�}t�|�|�|t|��|�||�|��t�|�|�|t|dd�d��|�||�t�|�|�|t|dd��|�||�dS)Nr+cSs|S)Nr)rirrrr��rz'TestSorted.test_basic.<locals>.<lambda>)r�r)�reverse)r?rrBZshuffler=r�r�r)rrI�copyrrr�
test_basic�s


zTestSorted.test_basicc	CsXtg�|�t��tgd�WdQRXtgdd�|�t��tgd�WdQRXdS)N)�iterable)r�)r�rTrV)rrrr�test_bad_arguments�szTestSorted.test_bad_argumentscCs~d}tttg}x$|D]}|�t|�t||���qWd�t|��}ttttttj	g}x$|D]}|�t|�t||���qZWdS)NZabracadabrar,)
r?r�r r=r��joinr��	frozensetr��fromkeys)rrur��Trrr�test_inputtypess


zTestSorted.test_inputtypescCs"d��}|�tt|ddd��dS)Nz,The quick Brown fox Jumped over The lazy DogcSsdS)Nrr)rirrrrr�rz.TestSorted.test_baddecorator.<locals>.<lambda>)�splitrTrVr�)rrIrrr�test_baddecoratorszTestSorted.test_baddecoratorN)rrrrrr$r&rrrrr�s
rc@seZdZdd�ZdS)�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-crs)ZPYTHONIOENCODINGZbeforeZafter)r	r=r�
splitlines)rr�Zrc�out�errrrr�test_cleanupszShutdownTest.test_cleanupN)rrrr+rrrrr'sr'c@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@seZdZdd�ZdS)z!TestType.test_new_type.<locals>.BcSsd|S)Nzham%dr)rrrrr#Esz%TestType.test_new_type.<locals>.B.hamN)rrrr#rrrrrDsrr�r�cSsd|S)Nzspam%sr)rrrrr�Grz(TestType.test_new_type.<locals>.<lambda>r#rgZham42Zspam42rJ�littles*)r>r=rrr�	__bases__rbr��__base__r�r}r�r�r�r#r��to_bytes)rr�rirr�rrr�
test_new_type9s2zTestType.test_new_typec	CsN|�t��tddidd�WdQRX|�t��tddid�WdQRXdS)Nr[rr�)ri)r�)rTrVr>)rrrr�test_type_nokwargsWszTestType.test_type_nokwargsc
Cs�xZdD]R}|j|d��<t|di�}|�|j|�|�|j|�|�|jt�WdQRXqW|�t��tddi�WdQRX|�t��tddi�WdQRX|�t��tddi�WdQRXtddi�}xTdD]L}|j|d��6||_|�|j|�|�|jd�|�|jt�WdQRXq�Wtddi�}|�t��d|_WdQRX|�|jd�|�t��d|_WdQRX|�|jd�|�t��d|_WdQRX|�|jd�dS)N)r��Äu🐍zB.A�42r,)rHrzABuA�Brpr�)	r�r>r=rrrrTrWrV)rrHr�r�rrr�test_type_name]s:

zTestType.test_type_namec	Cs�tddddi�}|�|jd�|�|jd�|�|jt�|�t��tddddi�WdQRX|�|jd�d|_|�|jd�|�|jd�|�t��d|_WdQRX|�|jd�dS)Nr�rrzB.C�BzD.E)r>r=rrrrTrV)rr�rrr�test_type_qualname~szTestType.test_type_qualnamec	Cs�x*dD]"}tddd|i�}|�|j|�qW|�t��tddddi�WdQRXtddi�}|�|jd�x dD]}||_|�|j|�qrWdS)N)rir3u🐍zxy�xrgNr�rr�ux�y)rir3u🐍zxyux�yr8rgN)r>r=r�rT�UnicodeEncodeError)rr�r�rrr�
test_type_doc�s

zTestType.test_type_docc	Cs>|�t��t�WdQRX|�t��tdd�WdQRX|�t��tddid�WdQRX|�t��tddid�WdQRX|�t��tdgi�WdQRX|�t��tddt�i��WdQRX|�t��tddi�WdQRX|�t��tdtfi�WdQRX|�t��tdttfi�WdQRXdS)Nr�r)r�)N)rTrVr>r��MappingProxyType�boolr}r )rrrr�
test_bad_args�s$zTestType.test_bad_argsc	Cs�|�t��tddddi�WdQRX|�t��tdtfddi�WdQRX|�t��tddddi�WdQRX|�t��tddddi�WdQRX|�t��tddddi�WdQRX|�t��tdddd	d
��WdQRX|�t��tddddi�WdQRX|�t��tddddi�WdQRXGd
d�d�}|�t��td|fddi�WdQRX|�t��td|fddi�WdQRXdS)Nr�rr�r8rir,r4zxyr)r�ri)r�r�)�__weakref__r>c@seZdZdS)z"TestType.test_bad_slots.<locals>.BN)rrrrrrrr�srr�r>)rTrVr>r}rW)rrrrr�test_bad_slots�s*zTestType.test_bad_slotscCsVt�ddg�}|�d�t|���}tdd|�}|�t|j���dd�ddg�dS)N)r[r)r�rJr[r�rrJ)r��OrderedDict�move_to_endr?�itemsr>r=r�)rZodr�r�rrr�test_namespace_order�s

zTestType.test_namespace_orderN)rrrr1r2r5r7r:r=r?rCrrrrr,8s!
r,cCsddlm}|�|t��|S)Nr)�DocTestSuite)ZdoctestrDZaddTestr�)�loaderZtests�patternrDrrr�
load_tests�srGrM)<r�r�r�r�r�rzrcrar:r�rBr�rFrr�r�r��
contextlibr�operatorrZtest.supportrrrrrZtest.support.script_helperr	Z
unittest.mockr
rr�r�rUrrr!rtrarWr r7Ztest_conv_no_signZtest_conv_signr.r1r6r8ZTestCaser9r�Z
skipUnlessr�rr'r,rGr�mainrrrr�<module>s�i
+"