Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_builtin.cpython-311.pyc
�

�KeGj���ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZddlmZddlmZddlmZddlmZddlmZmZmZddl m!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/m0Z0m1Z1	ddl2Z2ddl3Z3n#e4$rdxZ2Z3YnwxYwGd�d��Z5Gd�d��Z6Gd�d��Z7dddddddddde8ej9��ej9fde:fd d!e:fd"e:fd#e:fd$e:fe;d%d&��d'fe<d(��e:fgZ=dddddddd)e:fdd*e:fe8ej9��ej9fde:fd+e:fd!e:fd"e:fd#e:fd$e:fe;d%d&��d'fe<d(��e:fgZ>Gd,�d-��Z?Gd.�d/��Z@d0�ZAd1�ZBGd2�d3ejC��ZDGd4�d5ejC��ZEejFe2d6��Gd7�d8ejC����ZGGd9�d:ejC��ZHGd;�d<ejC��ZIGd=�d>ejC��ZJd?�ZKeLd@krejM��dSdS)A�N)�	ExitStack)�partial)�CO_COROUTINE)�product)�dedent)�AsyncGeneratorType�FunctionType�CellType)�neg)�support)�	swap_attr�maybe_get_event_loop_policy)�EnvironmentVarGuard�TESTFN�unlink)�assert_python_ok)�check_warnings)�	MagicMock�patchc� �eZdZd�Zd�Zd�ZdS)�Squaresc�"�||_g|_dS�N��max�sofar��selfrs  �;/usr/local/apps/python3/lib/python3.11/test/test_builtin.py�__init__zSquares.__init__+��������
�
�
�c�*�t|j��Sr��lenr�rs r�__len__zSquares.__len__/s��c�$�*�o�o�-r"c���d|cxkr|jks	nt�t|j��}||kr(|j�||z��|dz
}||k�(|j|S�Nr�)r�
IndexErrorr%r�append�r�i�ns   r�__getitem__zSquares.__getitem__1sz���A� � � � ��� � � � �
�"2���
�O�O���1�f�f��J���a��c�"�"�"�
��F�A��1�f�f��z�!�}�r"N��__name__�
__module__�__qualname__r r'r0�r"rrr)s=���������.�-�-�����r"rc� �eZdZd�Zd�Zd�ZdS)�
StrSquaresc�"�||_g|_dSrrrs  rr zStrSquares.__init__;r!r"c�*�t|j��Srr$r&s rr'zStrSquares.__len__?s���4�:���r"c���d|cxkr|jks	nt�t|j��}||kr5|j�t||z����|dz
}||k�5|j|Sr))rr+r%rr,�strr-s   rr0zStrSquares.__getitem__Bs����A� � � � ��� � � � �����
�O�O���1�f�f��J���c�!�A�#�h�h�'�'�'�
��F�A��1�f�f��z�!�}�r"Nr1r5r"rr7r79sA����������������r"r7c��eZdZd�ZdS)�	BitBucketc��dSrr5)r�lines  r�writezBitBucket.writeLs���r"N)r2r3r4r@r5r"rr=r=Ks#������
�
�
�
�
r"r=)�0r)�1r*)�9�	)�10�
)�99�c)�100�d)�314�:)� 314rL)z314 rL)�  		  314  		  rLz  1x)�  1  r*z  1  �� z  		  s\u0663\u0661\u0664 zraw-unicode-escaperLirMrNrOc��eZdZd�ZdS)�TestFailingBoolc��t�r��RuntimeErrorr&s r�__bool__zTestFailingBool.__bool__|����r"N)r2r3r4rWr5r"rrSrS{�#����������r"rSc��eZdZd�ZdS)�TestFailingIterc��t�rrUr&s r�__iter__zTestFailingIter.__iter__�rXr"N�r2r3r4r]r5r"rr[r[rYr"r[c�B�t|��td��kS)N�d)�ord��args r�filter_charrd�s���s�8�8�c�#�h�h��r"c�@�tt|��dz��S�Nr*)�chrrarbs r�map_charrh�s���s�3�x�x��z�?�?�r"c���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zejejpejd
��d���Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%d �Z&d!�Z'd"�Z(d#�Z)d$�Z*d%�Z+d&�Z,d'�Z-d(�Z.d)�Z/d*�Z0d+�Z1d,�Z2d-�Z3d.�Z4d/�Z5d0�Z6eje7j8j9d1��d2���Z:ej;��d3���Z<d4�Z=d5�Z>d6�Z?d7�Z@d8�ZAeBjC���Dd9��o!eBjE���Dd:��ZFeGd;��d;kZHejeFoeHd<��d=���ZId>�ZJd?�ZKd@�ZLdA�ZMeNdB���ZOeNdC���ZPGdD�dEeQ��ZRdF�ZSdG�ZTdH�ZUdI�ZVdJ�ZWdK�ZXdL�ZYdM�ZZdN�Z[dO�Z\dP�Z]ej^dQ���Z_dR�Z`dS�ZadT�ZbdU�ZcdV�ZddW�ZedXS)Y�BuiltinTestc��|}tj||��}tj|��}|�t	|��t	|����|�t|��|��tj|��}	t
|��n#t$rYdSwxYwtj||��}tj|��}|�t|��|dd���dSrf)�pickle�dumps�loads�assertEqual�type�list�next�
StopIteration)r�it�seq�proto�itorgr`s      r�check_iter_picklezBuiltinTest.check_iter_pickle�s������L��U�#�#��
�\�!�_�_������e���d�2�h�h�/�/�/�����b���3�'�'�'��\�!�_�_��	���H�H�H�H���	�	�	��F�F�	�����L��U�#�#��
�\�!�_�_������b���3�q�r�r�7�+�+�+�+�+s�B$�$
B2�1B2c
��td��td��td��td���tdd���|�ttd��|�ttdd	d
d��|�ttd��|�ttdd���|�t��5|�ttdddd
d�idd���ddd��n#1swxYwY|�ttd��dS)N�sys�time�string��namer)r~�level�spamspamr*���rP�__main__)�__package__�__spec__r2)�foo)�locals�fromlistrzstring)�
__import__�assertRaises�ModuleNotFoundError�	TypeError�
ValueError�assertWarns�
ImportWarning�ImportErrorr&s r�test_importzBuiltinTest.test_import�s����5�����6�����8������������a�(�(�(�(����-�z�:�F�F�F����)�Z��A�q�!�<�<�<����*�j�"�5�5�5����)�Z��U��C�C�C�
�
�
�m�
,�
,�	E�	E����k�:�r�.2��R\�]�]�%'�(�!�
�
E�
E�
E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�
	
���-�z�<�H�H�H�H�Hs�2+D)�)D-�0D-c���|�td��d��|�td��d��|�td��d��|�ttjdz
��dk��|�td��d��|�td��d��|�td��d��|�ttd��|�td	��d��|�td
��d��|�tt��|�ttd��Gd�dt��}|�t|����d
��dS)Nr��i.���r*�g��Q�	@g��Q�	��aTFc��eZdZd�ZdS)�&BuiltinTest.test_abs.<locals>.AbsClassc��dS)N���r5r&s r�__abs__z.BuiltinTest.test_abs.<locals>.AbsClass.__abs__�����rr"N)r2r3r4r�r5r"r�AbsClassr���#������
�
�
�
�
r"r�r�)ro�abs�
assertTruerz�maxsizer�r��object)rr�s  r�test_abszBuiltinTest.test_abs�s�������Q����#�#�#�����T���D�)�)�)�����U���T�*�*�*�����S�[�L��N�+�+�a�/�0�0�0�����S���3�'�'�'�����T���D�)�)�)�����U���T�*�*�*����)�S�#�.�.�.�����T���A�&�&�&�����U���Q�'�'�'����)�S�)�)�)����)�S�$�/�/�/�	�	�	�	�	�v�	�	�	�	
����X�X�Z�Z���"�-�-�-�-�-r"c��|�tgd���d��|�tgd���d��|�ttdt	��dg��|�ttt����|�ttd��|�tt��|�ttgd�g��|�tg��d��|�tdt	��g��d��d	d
g}|�td�|D����d��gd�}|�td
�|D����d��dS)N�r�r��T)r�Nr�Fr�r�rFr�2�<c3�"K�|]
}|dkV��dS��*Nr5��.0�xs  r�	<genexpr>z'BuiltinTest.test_all.<locals>.<genexpr>��&����/�/��Q��V�/�/�/�/�/�/r")r��(r�c3�"K�|]
}|dkV��dSr�r5r�s  rr�z'BuiltinTest.test_all.<locals>.<genexpr>�r�r")ro�allr�rVrSr[r��r�Ss  r�test_allzBuiltinTest.test_all�s�������Y�Y�Y����.�.�.�����\�\�\�*�*�E�2�2�2����,��a��1B�1B�A�-F�G�G�G����,��_�->�->�?�?�?����)�S�"�-�-�-����)�S�)�)�)����)�S�)�)�)�R�8�8�8�����R���$�'�'�'�����a��!2�!2�3�4�4�e�<�<�<�
��H������/�/�Q�/�/�/�/�/��6�6�6��L�L������/�/�Q�/�/�/�/�/��7�7�7�7�7r"c��|�tgd���d��|�tgd���d��|�ttdt	��dg��|�ttt����|�ttd��|�tt��|�ttgd�g��|�tg��d��|�tdt	��g��d��gd	�}|�td
�|D����d��gd�}|�td�|D����d��dS)
N)NNNF)Nr�NTr�rFr�r*)r�r��c3�"K�|]
}|dkV��dSr�r5r�s  rr�z'BuiltinTest.test_any.<locals>.<genexpr>�r�r")rF�r�c3�"K�|]
}|dkV��dSr�r5r�s  rr�z'BuiltinTest.test_any.<locals>.<genexpr>�r�r")ro�anyr�rVrSr[r�r�s  r�test_anyzBuiltinTest.test_any�s�������/�/�/�0�0�%�8�8�8�����_�_�_�-�-�t�4�4�4����,��d�O�4E�4E�q�-I�J�J�J����,��_�->�->�?�?�?����)�S�"�-�-�-����)�S�)�)�)����)�S�)�)�)�R�8�8�8�����R���%�(�(�(�����a��!2�!2�3�4�4�d�;�;�;��L�L������/�/�Q�/�/�/�/�/��6�6�6��L�L������/�/�Q�/�/�/�/�/��7�7�7�7�7r"c�����td��d����td��d����td��d����tg��d����ti��d��g}|�|����t|��d	��i}||d<��t|��d
���fd�}|d��|d
��|d��|d��|d��|d��|d��|d��|d��|d����td��d��d}��t|��d��dS)NrP�''rrAr5�()�[]�{}�[[...]]�
{0: {...}}c�h����t|��t|����dSr)ro�ascii�repr)�srs �r�
_check_uniz*BuiltinTest.test_ascii.<locals>._check_uni�s+������U�1�X�X�t�A�w�w�/�/�/�/�/r"�'�"z"'�z
	 .�…u῿u𒿿u�u�u𝄡z'\U0001d121'u'"

	 abcd…é𒿿�𝄡xxx.z:'\'\x00"\n\r\t abcd\x85\xe9\U00012fff\ud800\U0001d121xxx.')ror�r,)rr�r�r�s`   r�
test_asciizBuiltinTest.test_ascii�s��������r���F�+�+�+�����q���3�'�'�'�����r���D�)�)�)�����r���D�)�)�)�����r���D�)�)�)���	�����������q���9�-�-�-�����!������q���<�0�0�0�	0�	0�	0�	0�	0��
�3�����
�3�����
�5�����
�4�����
�:�����
�6�����
�8�����
�<� � � ��
�8�����
�8����	
����|�,�,�o�>�>�>�B������q���M�	O�	O�	O�	O�	Or"c��tjdz
}|�t|t����|�|tjdz��dSrf)rzr�r��
isinstance�intro�rr�s  r�test_negzBuiltinTest.test_negsO��
�[�L��N�����
�1�c�*�*�+�+�+����!��S�[��]�+�+�+�+�+r"c��|�tt����|�td����|�tt����|�td�����|�tt����d�}|�t|����Gd�d��}|�t|����|��}|�t|j����|�t|����d|_|�t|����d�|_|�t|����|`|�t|����Gd�dt��}|��}|�t|����d|_|�t|����Gd	�d
|��}|��}|�t|����dS)Nr�c��||zSrr5�r��ys  r�<lambda>z+BuiltinTest.test_callable.<locals>.<lambda>s
��a�!�e�r"c��dSrr5r5r"r�fz$BuiltinTest.test_callable.<locals>.f����r"c��eZdZd�ZdS)�%BuiltinTest.test_callable.<locals>.C1c��dSrr5r&s r�methz*BuiltinTest.test_callable.<locals>.C1.methr�r"N)r2r3r4r�r5r"r�C1r�s������ � � � � r"r�c��dS�Nrr5r&s rr�z+BuiltinTest.test_callable.<locals>.<lambda>s��!�r"c��eZdZd�ZdS)�%BuiltinTest.test_callable.<locals>.C2c��dSrr5r&s r�__call__z.BuiltinTest.test_callable.<locals>.C2.__call__$r�r"N)r2r3r4r�r5r"r�C2r�#s������$�$�$�$�$r"r�c��eZdZdS)�%BuiltinTest.test_callable.<locals>.C3N�r2r3r4r5r"r�C3r�)��������r"r�)r��callabler%�assertFalse�__builtins__r�r�r�)rr�r��cr��c2r��c3s        r�
test_callablezBuiltinTest.test_callables<�������
�
�&�&�&�����#���'�'�'������*�*�+�+�+�����!3�!3�4�4�5�5�5�����,�/�/�0�0�0��
�
��������$�$�$�	!�	!�	!�	!�	!�	!�	!�	!��������%�%�%��B�D�D��������(�(�)�)�)�����!���%�%�%���
�����!���%�%�%�#�^��
�����!���%�%�%�
�J�����!���%�%�%�	%�	%�	%�	%�	%��	%�	%�	%�
�R�T�T���������%�%�%�����������%�%�%����������
�R�T�T���������%�%�%�%�%r"c��|�td��d��|�td��d��|�td��d��|�td��d��|�ttd	��|�ttj��t
d
�d��d����|�tt��|�td
��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�ttd��|�ttd ��|�ttftd!��dS)"N� rQ�A�A�ar���ÿiz
\U0010ffffr�zunicode-escape��￿��𐀀��𐀁��󿿾��󿿿��􀀀��􀀁��􏿾��􏿿���il)
rorgr�r�rz�
maxunicoder;�encoder��
OverflowErrorr&s r�test_chrzBuiltinTest.test_chr-s2������R���#�&�&�&�����R���#�&�&�&�����R���#�&�&�&�����T���F�+�+�+����*�c�5�1�1�1�����S�^�,�,��]�1�1�'�:�:�<L�M�M�	O�	O�	O����)�S�)�)�)�����Z���,�7�7�7�����Z���,�7�7�7�����Z���,�7�7�7�����Z���,�7�7�7�����Z���,�7�7�7�����Z���,�7�7�7�����Z���,�7�7�7�����Z���,�7�7�7�����Z���,�7�7�7����*�c�2�.�.�.����*�c�:�6�6�6����=�*�5�s�E�B�B�B�B�Br"c�X�|�ttd����dS)N�cmp)r��hasattr�builtinsr&s r�test_cmpzBuiltinTest.test_cmpCs'�����G�H�e�4�4�4�5�5�5�5�5r"c
���tddd��d}t|dzdd��tddd���td	d
dd�
��tdddd���ttd��dd��|�tt��|�ttddd��|�ttdddd��|�tttd��dd��|�ttdddddd
���tddd��|�tttd��dd��|�ttt
d��dd��d}d�}dd|jddfd d!d"g}|D]�^}}g}|�t|d#d|�$����tj
|��}|�t|d#d|�$����|D]G}	i}
t|	|
��|
d��}|�|t|�����H��dS)%Nz	print(1)
rP�exec�s	print(1)
�pass�?)�source�filename�modeF�tmprA�eval)�dont_inheritrrrT)r!rstextr~z
print(42)
�<string>�badmode�singler�rr�)rrruprint("å")
za = 1�badaJdef 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__)
        c��dS)�docNr5r5r"rr�z#BuiltinTest.test_compile.<locals>.ffr�r"r
)rTr'TT)r*Fr'FF)r�FNFFz<test>)�optimize)�compile�
memoryviewr�r�r�rgr;�__doc__r,�ast�parserro�tuple)r�bom�codestrr��values�optval�expected�codeobjs�tree�code�ns�rvs            r�test_compilezBuiltinTest.test_compileFs�����b�&�)�)�)�����m�#�R��0�0�0��v��&�9�9�9�9��U�U�3�V�L�L�L�L����$�V�<�<�<�<��
�7�#�#�V�V�4�4�4����)�W�-�-�-����*�g�}�j�)�T�T�T����*�g�}�j�(�TX�Y�Y�Y����*�g�s�1�v�v�s�F�C�C�C����)�W�f�c�6�%�c�E�	�	C�	C�	C��!�2�v�.�.�.����*�g�s�1�v�v�s�F�C�C�C����*�g�s�7�|�|�S�%�H�H�H���	����y�!�)�Y�	�B�.�1�0�2��"(�
	6�
	6��F�X��H��O�O�G�G�X�v��O�O�O�P�P�P��9�W�%�%�D��O�O�G�D�(�F�V�L�L�L�M�M�M� �
6�
6�����T�2�����R��W�Y�Y��� � ��U�8�_�_�5�5�5�5�	
6�
	6�
	6r"c	��d}gd�}t||��D]a\}}t|��}t|d|tj���}|�|jtztd|�d|������bdS)	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�cos       r�$test_compile_top_level_await_no_coroz0BuiltinTest.test_compile_top_level_await_no_corows���"��
�
�
��")���!=�!=�	D�	D��D�+��K�(�(�F���� �"%�"@�B�B�B�B�

�����l� :�L�$B�f�$B�$B�D�$B�$B�
 �
D�
D�
D�
D�	D�	Dr"zsocket.accept is brokenc	�H�d�}d}gd�}t��}	t||��D�]I\}}t|��}|�td|�d|�����5t|d|��ddd��n#1swxYwYt|d|tj�	��}|�|j	tztd|�d|�����td
|d�}	t||	��}
tj
|
����|�|	dd
��td
|d�}	tj
t||	����|�|	dd
����K	tj|��dS#tj|��wxYw)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.
        c�8K�t|��D]}|WV��dSr��range�r/r.s  r�arangez8BuiltinTest.test_compile_top_level_await.<locals>.arange��2�����1�X�X�
�
��������
�
r"r;)
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>r?r@rNr<r)�asyncior�rOr�r*)rrrr��SyntaxErrorr)r,rBrorDrrQr	�runr �set_event_loop_policy)rrOrErF�policyrrGrrH�globals_�async_fs           r�test_compile_top_level_awaitz(BuiltinTest.test_compile_top_level_await�s4��	�	�	�#��

�

�

��-�.�.��	2�%,�U�L�%A�%A�
3�
3�!��k���,�,���&�&�#�)G�6�)G�)G��)G�)G�'�I�I�/�/��F�C��.�.�.�/�/�/�/�/�/�/�/�/�/�/����/�/�/�/��V� �!�#&�#A�C�C�C��
� � ���|�!;�\�%C�v�%C�%C�T�%C�%C�!�E�E�E�(/�Q�&�I�I��&�r�8�4�4����G�G�I�I�&�&�&�� � ��#���2�2�2�(/�Q�&�I�I����D��X�.�.�/�/�/�� � ��#���2�2�2�2�/
3�2
�)�&�1�1�1�1�1��G�)�&�1�1�1�1���s1�AF� A>�2F�>B	�F�B	�C.F�F!c� �d�}d}gd�}t��}	t||��D]�\}}t|��}|�td|�d|�����5t|d|��ddd��n#1swxYwY|�td|�d|�����5t|d|tj���}ddd��n#1swxYwY��	tj	|��dS#tj	|��wxYw)	Nc�8K�t|��D]}|WV��dSrrLrNs  rrOzFBuiltinTest.test_compile_top_level_await_invalid_cases.<locals>.arange�rPr"r;)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>r?r@rr<)
rrrr�rRr)r,rBrQrT)	rrOrErFrUrrGrrHs	         r�*test_compile_top_level_await_invalid_casesz6BuiltinTest.test_compile_top_level_await_invalid_cases�s���	�	�	�#��
�
�
��-�.�.��	2�%,�U�L�%A�%A�
C�
C�!��k���,�,���&�&�#�)G�6�)G�)G��)G�)G�'�I�I�/�/��F�C��.�.�.�/�/�/�/�/�/�/�/�/�/�/����/�/�/�/��&�&�#�)G�6�)G�)G��)G�)G�'�I�I�C�C� �� �!�#&�#A�C�C�C�B�C�C�C�C�C�C�C�C�C�C�C����C�C�C�C��

C�
�)�&�1�1�1�1�1��G�)�&�1�1�1�1���sT�AC7�A=�1C7�=B	�C7�B	�%C7�*C�C7�C	�C7�C	�C7�7D
c���td��}t|ddtj���}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)rrr<�tickerN)rr)r,rBrrorpr)rr6rH�globs    r�test_compile_async_generatorz(BuiltinTest.test_compile_async_generator�sv���.�/�/��
�T�3��c�.L�
M�
M�
M�����R���������n�d�8�n�.�.�/�/�1C�D�D�D�D�Dr"c�(�dt_ttd��|�tt��|�ttt��d}|�t|ttd��dS)Nr*�spam�*^attribute name must be string, not 'int'$)rzra�delattrr�r��assertRaisesRegex�rrAs  r�test_delattrzBuiltinTest.test_delattrsn�������V�������)�W�-�-�-����)�W�c�2�2�2�;�����y�#�w��Q�?�?�?�?�?r"c���|�ttdd��d}|�dt����|�dtt����Gd�dt
j��}|d��}|�tt|��|�dtt����|�d	tt����Gd
�dt��}|��}|�dt|����Gd�dt��}|��}|�d
t|����Gd�dt��}|��}|�d
t|����|�dt|����Gd�dt��}|��}|�
t|��gd�k��Gd�dt��}t|����}|�|t��|�
|gd�k��Gd�dt��}|��}|�tt|��	t�#t$r?}|�tt|j����d��Yd}~nd}~wwxYw|�t#g�����tg����dS)Nr�r*�	local_var�exitc��eZdZdZdS)�!BuiltinTest.test_dir.<locals>.Foo�N)r2r3r4�__dict__r5r"r�Foorks�������H�H�Hr"rnr��strip�__mro__c��eZdZd�ZdS)rkc�0�d|_d|_d|_dS)N�rlrD)r�r��zr&s rr z*BuiltinTest.test_dir.<locals>.Foo.__init__s������������r"N)r2r3r4r r5r"rrnz!BuiltinTest.test_dir.<locals>.Foos#������
�
�
�
�
r"r�c��eZdZgZdS)rkN)r2r3r4�	__slots__r5r"rrnz!BuiltinTest.test_dir.<locals>.Foo's�������I�I�Ir"�__repr__c��eZdZddgZd�ZdS)rk�	__class__rmc��d|_dS)N�wow)�barr&s rr z*BuiltinTest.test_dir.<locals>.Foo.__init__0s
�� ����r"N)r2r3r4rvr r5r"rrnz!BuiltinTest.test_dir.<locals>.Foo.s-������$�j�1�I�
!�
!�
!�
!�
!r"r|c��eZdZd�ZdS)rkc�
�gd�S)N)�kan�ga�roor5r&s r�__dir__z)BuiltinTest.test_dir.<locals>.Foo.__dir__8s��+�+�+�+r"N�r2r3r4r�r5r"rrnz!BuiltinTest.test_dir.<locals>.Foo7s#������
,�
,�
,�
,�
,r")r�rr�c��eZdZd�ZdS)rkc��dS)N)�br�r�r5r&s rr�z)BuiltinTest.test_dir.<locals>.Foo.__dir__?s��&�r"Nr�r5r"rrnz!BuiltinTest.test_dir.<locals>.Foo>�#������
'�
'�
'�
'�
'r"�r�r�r�c��eZdZd�ZdS)rkc��dS)Nrsr5r&s rr�z)BuiltinTest.test_dir.<locals>.Foo.__dir__G����qr"Nr�r5r"rrnz!BuiltinTest.test_dir.<locals>.FooFs#������
�
�
�
�
r"r�)r�r��dir�assertInrz�types�
ModuleTyper;�assertNotInr�r��assertIsInstancerqr+ror%�
__traceback__�sortedr�)rrhrnr��res�es      r�test_dirzBuiltinTest.test_dirs������)�S�"�b�1�1�1��	��
�
�k�3�5�5�)�)�)�	
�
�
�f�c�#�h�h�'�'�'�	�	�	�	�	�%�"�	�	�	��C��J�J�����)�S�!�,�,�,�	
�
�
�g�s�3�x�x�(�(�(�����C��H�H�-�-�-�	�	�	�	�	�&�	�	�	�

�C�E�E���
�
�c�3�q�6�6�"�"�"�	�	�	�	�	�&�	�	�	��C�E�E���
�
�j�#�a�&�&�)�)�)�	!�	!�	!�	!�	!�&�	!�	!�	!�
�C�E�E������S��V�V�,�,�,��
�
�e�S��V�V�$�$�$�	,�	,�	,�	,�	,�&�	,�	,�	,�
�C�E�E������A���"6�"6�"6�6�7�7�7�	'�	'�	'�	'�	'�&�	'�	'�	'��#�#�%�%�j�j�����c�4�(�(�(��������.�/�/�/�	�	�	�	�	�&�	�	�	�
�C�E�E�����)�S�!�,�,�,�	;�����	;�	;�	;����S��Q�_�!5�!5�6�6��:�:�:�:�:�:�:�:�����	;����	
�����
�
���-�-�s�2�w�w�7�7�7�7�7s�
K�
L�5L�Lc��|�tdd��d��|�tdd��d��|�tdd��d��|�tdd��d��|�ttjd	z
d
��tjd	zdf��dD]Z\}}}t||��}|�|d|d��|�|d	|d	���[|�tt��dS)
N�rs)r*�i�)���r�i����)r�r�)r*r�r*r
r))�
@��?)�@g�?)�
�r�)��g�?)r���)r�g�)r�r�)r�gп)ro�divmodrzr��assertAlmostEqualr�r�)r�num�denom�
exp_result�results     r�test_divmodzBuiltinTest.test_divmodUs2�������A����/�/�/������Q����1�1�1������B����2�2�2������R���'�2�2�2��������Q���3�3�c�k�!�m�Q�5G�H�H�H�'E�	=�	=�"�C��
��C��'�'�F��"�"�6�!�9�j��m�<�<�<��"�"�6�!�9�j��m�<�<�<�<����)�V�,�,�,�,�,r"c���|�td��d��|�td��d��ddd�}ddd�}|�td	|��d��|�td	||��d��|�td
||��d��|�td||��d��ddd�}ddd�}d}|�t|d
z||��d��|�td|��d��|�tt��|�ttd��|�tt|dd�d
z��Gd�d��}|�t
tdi|����dS)N�1+1r�z 1+1
r*�r�r����,)r�r�r�r�r�r�au"å"�år5c��eZdZd�ZdS)� BuiltinTest.test_eval.<locals>.Xc��t�r�r��r�keys  rr0z,BuiltinTest.test_eval.<locals>.X.__getitem__z��� � r"N�r2r3r4r0r5r"r�Xr�y�#������
!�
!�
!�
!�
!r"r�r�)ror r�r�rRr�)r�globalsr�r/r�s     r�	test_evalzBuiltinTest.test_evalgs�������e���a�(�(�(�����h����+�+�+���"�"����%�%������c�7�+�+�a�0�0�0�����c�7�F�3�3�Q�7�7�7�����c�7�F�3�3�S�9�9�9�����c�7�F�3�3�S�9�9�9���"�"����%�%��������c�D�j�'�6�:�:�A�>�>�>�����h��0�0�&�9�9�9����)�T�*�*�*����)�T�2�.�.�.����+�t�S��!��W�t�^�<�<�<�	!�	!�	!�	!�	!�	!�	!�	!�	
���*�d�E�2�q�q�s�s�;�;�;�;�;r"c���Gd�d��}|��}t��}|�td||��d��|�ttd||��|�td||��td����|�td||��|��|�td	||��|��|�ttd|��Gd
�d��}|��}|�ttd||��Gd�d
t��}|��}|�td||��d��|�ttd||��|�td||��td����|�td||��|��|�td	||��|��td||��td|tj	����Gd�d��}|��}d|d<d|d<d|d<|�|dd��Gd�d��}	|�ttdt��|	����dS)Nc��eZdZdZd�Zd�ZdS)�(BuiltinTest.test_general_eval.<locals>.Mz9Test mapping interface versus possible calls from eval().c� �|dkrdSt��Nr�r���KeyErrorr�s  rr0z4BuiltinTest.test_general_eval.<locals>.M.__getitem__�s���#�:�:��2��r"c� �td��S�N�xyz�rqr&s r�keysz-BuiltinTest.test_general_eval.<locals>.M.keys�����E�{�{�"r"N)r2r3r4r+r0r�r5r"r�Mr��s8������G�G�
�
�
�
#�
#�
#�
#�
#r"r�r�r�r�zdir()r�z	globals()zlocals()c��eZdZdZdS)�(BuiltinTest.test_general_eval.<locals>.AzNon-mappingN)r2r3r4r+r5r"rr�r��s�������M��Dr"r�c��eZdZd�Zd�ZdS)�(BuiltinTest.test_general_eval.<locals>.Dc�H�|dkrdSt�||��Sr�)�dictr0r�s  rr0z4BuiltinTest.test_general_eval.<locals>.D.__getitem__�s&���#�:�:��2��'�'��c�2�2�2r"c� �td��Sr�r�r&s rr�z-BuiltinTest.test_general_eval.<locals>.D.keys�r�r"N�r2r3r4r0r�r5r"r�Dr��s2������
3�
3�
3�
#�
#�
#�
#�
#r"r�z[locals() for i in (2,3)]c�"�eZdZdZiZd�Zd�ZdS)�2BuiltinTest.test_general_eval.<locals>.SpreadSheetz6Sample application showing nested, calculated lookups.c��||j|<dSr)�_cells)rr��formulas   r�__setitem__z>BuiltinTest.test_general_eval.<locals>.SpreadSheet.__setitem__�s��#*���C� � � r"c�R�t|j|t��|��Sr)r r�r�r�s  rr0z>BuiltinTest.test_general_eval.<locals>.SpreadSheet.__getitem__�s���D�K��,�g�i�i��>�>�>r"N)r2r3r4r+r�r�r0r5r"r�SpreadSheetr��s=������D�D��F�
+�
+�
+�
?�
?�
?�
?�
?r"r��5�a1za1*6�a2za2*7�a3��c��eZdZd�Zd�ZdS)�(BuiltinTest.test_general_eval.<locals>.Cc� �t|���rr�)r�items  rr0z4BuiltinTest.test_general_eval.<locals>.C.__getitem__�s���t�n�n�$r"c��dSrfr5r&s rr�z-BuiltinTest.test_general_eval.<locals>.C.keys�r�r"Nr�r5r"r�Cr��s2������
%�
%�
%�
�
�
�
�
r"r�)
r�ror r��	NameErrorrqr�r��collections�UserDict)
rr��m�gr�r�r`r��ssr�s
          r�test_general_evalzBuiltinTest.test_general_eval~s#��	#�	#�	#�	#�	#�	#�	#�	#�
�A�C�C���I�I������c�1�a���"�-�-�-����)�T�3��1�5�5�5�����g�q�!�,�,�d�5�k�k�:�:�:�����k�1�a�0�0�!�4�4�4�����j�!�Q�/�/��3�3�3����)�T�3��2�2�2�	�	�	�	�	�	�	�	�
�A�C�C�����)�T�3��1�5�5�5�	#�	#�	#�	#�	#��	#�	#�	#�
�A�C�C������c�1�a���"�-�-�-����)�T�3��1�5�5�5�����g�q�!�,�,�d�5�k�k�:�:�:�����k�1�a�0�0�!�4�4�4�����j�!�Q�/�/��3�3�3�	
�
(�!�Q�/�/�/��
(�!�[�-A�-C�-C�D�D�D�	?�	?�	?�	?�	?�	?�	?�	?��[�]�]����4����4����4������D��3�'�'�'�	�	�	�	�	�	�	�	�
	
���)�T�7�G�I�I�q�q�s�s�C�C�C�C�Cr"c���i}td|��d|vr|d=|�|ddi��td|��d|vr|d=|�|ddi��i}i}t��5tjddd	�
��td||��ddd��n#1swxYwYd|vr|d=d|vr|d=|�||fddid
dif��dS)Nzz = 1r�rtr*zz = 1+1r��ignorezglobal statementr")�modulezglobal a; a = 1; b = 2r�r�)rror�warnings�filterwarnings)rr��ls   r�	test_execzBuiltinTest.test_exec�sv�����W�a�����Q����.�!�����S�!�H�%�%�%��Y������Q����.�!�����S�!�H�%�%�%�����
�
�
�	1�	1��#�H�.@�%�
'�
'�
'�
'��)�1�a�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1��Q����.�!��Q����.�!����!�Q��3��(�S�!�H�!5�6�6�6�6�6s�3)B(�(B,�/B,c��tddd��}|�tdt|dii��|�t
t|ddi��dS)Nzprint('Hello World!')rPrzname 'print' is not definedr��{)r)rdr�rr�r�)rr6s  r�test_exec_globalszBuiltinTest.test_exec_globals�sr���.��F�;�;�����y�*G�#�T�N�B�+?�	A�	A�	A�	
���)���~�s�&;�	=�	=�	=�	=�	=r"c	���Gd�dt���G�fd�dt��}tttj��r|tj��}n|t��}tddd��}|��t|d|i��td	d
d��}|�
tdt|dii��t|d|i��|�
tdt|d|��i��|i��}tddd��}|��t||��dS)
Nc��eZdZdS)�>BuiltinTest.test_exec_globals_frozen.<locals>.frozendict_errorNr�r5r"r�frozendict_errorr����������Dr"r�c���eZdZ�fd�ZdS)�8BuiltinTest.test_exec_globals_frozen.<locals>.frozendictc����d���)Nzfrozendict is readonlyr5)rr��valuer�s   �rr�zDBuiltinTest.test_exec_globals_frozen.<locals>.frozendict.__setitem__�s���&�&�'?�@�@�@r"N)r2r3r4r�)r�s�r�
frozendictr��s5�������
A�
A�
A�
A�
A�
A�
Ar"r�z1__builtins__['superglobal']=2; print(superglobal)�testrr�z
class A: passrPz__build_class__ not foundzx=1)�	Exceptionr�r�r�r�r�rmr)r�rrdr�)rr��frozen_builtinsr6�	namespacer�s     @r�test_exec_globals_frozenz$BuiltinTest.test_exec_globals_frozen�s����	�	�	�	�	�y�	�	�	�	A�	A�	A�	A�	A�	A�	A��	A�	A�	A�
�l�E�$4�5�5�	7�(�j��)>�?�?�O�O�(�j��6�6�O��J�F�TZ�[�[�����*���~��&G�	I�	I�	I����F�3�3�����y�*E�#�T�N�B�+?�	A�	A�	A�	
�T�N�O�4�5�5�5����y�*E�#�T�N�J�J�L�L�+I�	K�	K�	K��J�r�N�N�	��u�f�f�-�-�����*���i�	1�	1�	1�	1�	1r"c
�@��Gd�dt���G�fd�dt��}tddd��}|��t||ddi����td	dd��}|��t|d
|d	di��i��dS)Nc��eZdZdS)�@BuiltinTest.test_exec_globals_error_on_get.<locals>.setonlyerrorNr�r5r"r�setonlyerrorrr�r"rc���eZdZ�fd�ZdS)�?BuiltinTest.test_exec_globals_error_on_get.<locals>.setonlydictc�����rr5)rr�rs  �rr0zKBuiltinTest.test_exec_globals_error_on_get.<locals>.setonlydict.__getitem__
s	���"�"r"Nr�)rs�r�setonlydictr
	s.�������
#�
#�
#�
#�
#�
#�
#r"r�
globalnamerrr*�superglobalr�)rr�r)r�r)rrr6rs   @r�test_exec_globals_error_on_getz*BuiltinTest.test_exec_globals_error_on_gets����	�	�	�	�	�9�	�	�	�	#�	#�	#�	#�	#�	#�	#�$�	#�	#�	#�
�|�V�V�4�4�����,���k�k�<��2C�&D�&D�	F�	F�	F��}�f�f�5�5�����,��d�)�;�;�
�q�7I�+J�+J�K�	M�	M�	M�	M�	Mr"c	���Gd�dt��}tddd��}t|d|ddi��i��|�tdt|d|��i��dS)	Nc��eZdZdS)�?BuiltinTest.test_exec_globals_dict_subclass.<locals>.customdictNr�r5r"r�
customdictrr�r"rrrrr�r*z!name 'superglobal' is not defined)r�r)rrdr�)rrr6s   r�test_exec_globals_dict_subclassz+BuiltinTest.test_exec_globals_dict_subclasss���	�	�	�	�	��	�	�	��}�f�f�5�5���T�N�J�J�
�q�/A�$B�$B�C�D�D�D����y�*M�#�T�N�J�J�L�L�+I�	K�	K�	K�	K�	Kr"c��tj}dt_	td��n#t$rYnwxYw|t_dS#|t_wxYw)Nr�)rz�stdoutrr�)r�
savestdouts  r�test_exec_redirectedz BuiltinTest.test_exec_redirected"sb���Z�
���
�	$���I�I�I�I���	�	�	��D�	����$�C�J�J�J���C�J�#�#�#�#s!�*�A�
7�A�7�A�Ac���d�}d��fd�}|��\}}d�t|j|j|j���|��d��d�td��td��|jdf}t|j|j|���|��d	��|�tt|j|j|���|�tt|j|jd���|�tt|j|j|j���t|��}|�tt|j|j|���t|d<t|��}|�tt|j|j|���dS)
Nc��dS)N�r5r5r"r�function_without_closuresz@BuiltinTest.test_exec_closure.<locals>.function_without_closures.s���5r"rc�<�����d�d�d����fd�}����fd�}||fS)Nr�r�r�c�����z�dSrr5)r�r�r�s���r�three_freevarszUBuiltinTest.test_exec_closure.<locals>.make_closure_functions.<locals>.three_freevars6s����1����r"c�����z�z�dSrr5)r�r�r�r�s����r�
four_freevarszTBuiltinTest.test_exec_closure.<locals>.make_closure_functions.<locals>.four_freevars;s���
�1��Q����r"r5)rr!r�r�r�r�s  @@@�r�make_closure_functionsz=BuiltinTest.test_exec_closure.<locals>.make_closure_functions2sm�������A��A��A�
�
�
�
�
�
�
�

�
�
�
�
�
�
�
�"�=�0�0r")�closurer��#�Hr�i�	)r�__code__�__globals__�__closure__ror
r�r�rqr�r.)rrr"rr!�
my_closurer�s      @r�test_exec_closurezBuiltinTest.test_exec_closure-s!���	�	�	���	1�	1�	1�	1�	1� )?�(>�(@�(@�%��
����^�
$��&�"�.�	0�	0�	0�	0�	
�����#�#�#����r�l�l�H�R�L�L�.�2L�Q�2O�P�
��^�
$��&��	 �	 �	 �	 �	
�����&�&�&�	
���)��%�.�%�1��		�	 �	 �	 �	
���)���#��&��		�	�	�	�	
���)���#��&�!�-�		�	/�	/�	/��*�%�%�
����)���#��&��		�	 �	 �	 ��
�1�
��:�&�&�
����)���#��&��		�	 �	 �	 �	 �	 r"c�0�|�ttd�d����td����|�ttdddgdgdddd	g����dddgdg��|�ttd
�gd�����gd���|�ttdtd
������gd���|�ttd�td
������gd���d�}t|td����|�t
t��Gd�dt��}|�tttd�|������d�}|�t
tt|td������|�ttdd����ddg��|�ttd�d����ddg��|�t
ttdd����dS)Nc�"�d|cxkodkncS)Nr�rtr5)r�s rr�z)BuiltinTest.test_filter.<locals>.<lambda>|s��s�a�����3�����r"zHello World�elloorldr*�hellor�rPrDrc��|dkSr�r5�r�s rr�z)BuiltinTest.test_filter.<locals>.<lambda>~s
��q�1�u�r")r*���rDrr�)r*rDr�rF)	r*r�rD���$�1�@�Qc��|dzS)Nr�r5r0s rr�z)BuiltinTest.test_filter.<locals>.<lambda>�s
��q��s�r")r*rDr3r5r7c��dSrfr5)r�s r�identityz)BuiltinTest.test_filter.<locals>.identity�s���1r"r�c��eZdZd�ZdS)�'BuiltinTest.test_filter.<locals>.BadSeqc� �|dkrdSt�)Nr�r�r��r�indexs  rr0z3BuiltinTest.test_filter.<locals>.BadSeq.__getitem__�s����7�7��2� � r"Nr�r5r"r�BadSeqr<�s#������
!�
!�
!�
!�
!r"r@c��|Srr5r0s rr�z)BuiltinTest.test_filter.<locals>.<lambda>�s��Q�r"c��dSrr5r5r"r�badfuncz(BuiltinTest.test_filter.<locals>.badfunc�����Dr"�r*r�r�c��|dkS)Nr�r5r0s rr�z)BuiltinTest.test_filter.<locals>.<lambda>�s
��q�!�t�r"�r*r�r�r�r�r�)	rorq�filterrr�r�r�r�rM)rr:r@rCs    r�test_filterzBuiltinTest.test_filter{sp������f�%>�%>�
�N�N�O�O�QU�V`�Qa�Qa�b�b�b�����f�T�A�w��Q�C��T�1�a�+P�Q�Q�R�R�UV�X_�bc�ad�fg�Th�i�i�i�����f�_�_�6F�6F�6F�G�G�H�H�)�)�)�T�T�T�����f�T�7�2�;�;�7�7�8�8�:[�:[�:[�\�\�\�����f�]�]�G�B�K�K�@�@�A�A�CU�CU�CU�V�V�V�	�	�	��x�����$�$�$����)�V�,�,�,�	!�	!�	!�	!�	!�V�	!�	!�	!�
	
���*�d�F�;�;�����,I�,I�J�J�J�	�	�	����)�T�6�'�5��8�8�+D�+D�E�E�E�	
����f�T�6�2�2�3�3�a��V�<�<�<�����f�^�^�\�B�B�C�C�a��V�L�L�L����)�T�6�"�f�+=�+=�>�>�>�>�>r"c���ttjdz��D]P}ttd��}ttd��}|�|t
|��|���QdS)Nr*�
abcdeabcde)rMrl�HIGHEST_PROTOCOLrHrdrxrq)rrv�f1�f2s    r�test_filter_picklezBuiltinTest.test_filter_pickle�sj���6�2�Q�6�7�7�	8�	8�E���\�2�2�B���\�2�2�B��"�"�2�t�B�x�x��7�7�7�7�	8�	8r"c���d}ttt|����}t|��D]}tt|��}�~tj��dS)Ni@B)rH�boolrM�gc�collect)r�	max_itersr.�_s    r�test_filter_dealloczBuiltinTest.test_filter_dealloc�sX���	��4��y�)�)�*�*���y�!�!�	 �	 �A��t�Q���A�A�
�
�
�����r"c�`�|�ttd��tju��|�t
t��|�t
tt��d}|�t
|ttd��|�t
|ttdd��|�tttttj	����|�ttdd��dS)Nrrbr*rau�픞)
r��getattrrzrr�r�rd�AttributeErrorrgrres  r�test_getattrzBuiltinTest.test_getattr�s��������X�.�.�#�*�<�=�=�=����)�W�-�-�-����)�W�c�2�2�2�;�����y�#�w��Q�?�?�?����y�#�w��Q��G�G�G����.�'�3��C�N�8K�8K�L�L�L����.�'�1�n�E�E�E�E�Er"c	��|�ttd����|�tt��|�ttt��d}|�t|ttd��|�dttttj������Gd�d��}|�tt|��d��Gd�d	��}|�tt|��d��dS)
Nrrbr*Fc��eZdZd�ZdS)�#BuiltinTest.test_hasattr.<locals>.Ac��t�r)�
SystemExit�r�whats  r�__getattr__z/BuiltinTest.test_hasattr.<locals>.A.__getattr__�r�r"N�r2r3r4rbr5r"rr�r]�r�r"r�r�c��eZdZd�ZdS)�#BuiltinTest.test_hasattr.<locals>.Bc��t�rr�r`s  rrbz/BuiltinTest.test_hasattr.<locals>.B.__getattr__�r�r"Nrcr5r"r�Bre�r�r"rg)r�rrzr�r�rdrorgrr_r�)rrAr�rgs    r�test_hasattrzBuiltinTest.test_hasattr�s1�������X�.�.�/�/�/����)�W�-�-�-����)�W�c�2�2�2�;�����y�#�w��Q�?�?�?�������S���-@�-@� A� A�B�B�B�	!�	!�	!�	!�	!�	!�	!�	!�	
���*�g�q�q�s�s�C�8�8�8�	!�	!�	!�	!�	!�	!�	!�	!�	
���*�g�q�q�s�s�C�8�8�8�8�8r"c�T�td��|�td��td����|�td��td����td��|�td��td����td��d�}t|��|�ttg��|�tti��Gd�d��}|�t	t|������t
��Gd	�d
t
��}|�t|d����td����dS)Nr*r�rasspam�rr*r�r�c��dSrr5r5r"rr�z BuiltinTest.test_hash.<locals>.f�r�r"c��eZdZd�ZdS)� BuiltinTest.test_hash.<locals>.Xc��ddzS)Nr�rJr5r&s r�__hash__z)BuiltinTest.test_hash.<locals>.X.__hash__�s���#�v�
r"N�r2r3r4ror5r"rr�rm�s#������
�
�
�
�
r"r�c��eZdZd�ZdS)� BuiltinTest.test_hash.<locals>.Zc��|Srr5r&s rroz)BuiltinTest.test_hash.<locals>.Z.__hash__�����r"Nrpr5r"r�Zrr��#������
�
�
�
�
r"rur�)�hashror�r�rpr�)rr�r�rus    r�	test_hashzBuiltinTest.test_hash�sy���T�
�
�
�����a���$�q�'�'�*�*�*�����a���$�s�)�)�,�,�,��V��������f���t�G�}�}�5�5�5��Y�����
�
��Q�������)�T�2�.�.�.����)�T�2�.�.�.�	�	�	�	�	�	�	�	�	
����d�1�1�3�3�i�i���#�.�.�.�	�	�	�	�	��	�	�	�	
����a�a��e�e���d�2�h�h�/�/�/�/�/r"c���|�td��d��|�td��d��|�tti��dS)Nr2�0x10i�z-0x10)ro�hexr�r�r&s r�test_hexzBuiltinTest.test_hex�sX������R���&�)�)�)�����S���7�+�+�+����)�S�"�-�-�-�-�-r"c���td��td��td��td��td��tgd���tdddd���dS)Nr*r�rarjr�r�)ra�eggs�ham)�idr&s r�test_idzBuiltinTest.test_id�sf��
�4����
�1����
�3����
�6�
�
�
�
�9�
�
�
�
�9�9�9�
�
�
�
�A�q��+�+�,�,�,�,�,r"c��|�tt��|�ttdd��dddgdg}|D]x}t|��}|�t	|��d��|�t	|��d��|�t
t|���ydS)Nr�)rB�2rBr��12)r�r��iterrorrrs)r�listsr�r.s    r�	test_iterzBuiltinTest.test_iter�s������)�T�*�*�*����)�T�2�r�2�2�2��c�3�Z��.���	6�	6�A��Q���A����T�!�W�W�c�*�*�*����T�!�W�W�c�*�*�*����m�T�1�5�5�5�5�		6�	6r"c�z�Gd�d��}Gd�d|��}Gd�d��}|��}|��}|��}|�t||����|�t||����|�t||����|�t||����|�td|����|�tt|d��|�tt��dS)Nc��eZdZdS)�&BuiltinTest.test_isinstance.<locals>.CNr�r5r"rr�r��r�r"r�c��eZdZdS)�&BuiltinTest.test_isinstance.<locals>.DNr�r5r"rr�r��r�r"r�c��eZdZdS)�&BuiltinTest.test_isinstance.<locals>.ENr�r5r"r�Er��r�r"r�r�)r�r�r�r��rr�r�r�r�r`r�s       r�test_isinstancezBuiltinTest.test_isinstance�sh��	�	�	�	�	�	�	�	�	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	�
�A�C�C��
�A�C�C��
�A�C�C�����
�1�a�(�(�)�)�)����
�1�a�(�(�)�)�)����J�q�!�,�,�,�-�-�-����J�q�!�,�,�,�-�-�-����J�u�a�0�0�0�1�1�1����)�Z��E�:�:�:����)�Z�0�0�0�0�0r"c�.�Gd�d��}Gd�d|��}Gd�d��}|��}|��}|��}|�t||����|�t||����|�t||����|�ttd|��|�tt|d��|�tt��dS)Nc��eZdZdS)�&BuiltinTest.test_issubclass.<locals>.CNr�r5r"rr�r�r�r"r�c��eZdZdS)�&BuiltinTest.test_issubclass.<locals>.DNr�r5r"rr�r�r�r"r�c��eZdZdS)�&BuiltinTest.test_issubclass.<locals>.ENr�r5r"rr�r�r�r"r�r�)r��
issubclassr�r�r�s       r�test_issubclasszBuiltinTest.test_issubclasssD��	�	�	�	�	�	�	�	�	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	�
�A�C�C��
�A�C�C��
�A�C�C�����
�1�a�(�(�)�)�)����
�1�a�(�(�)�)�)����J�q�!�,�,�,�-�-�-����)�Z���:�:�:����)�Z��E�:�:�:����)�Z�0�0�0�0�0r"c��|�td��d��|�td��d��|�td��d��|�tgd���d��|�ti��d��|�tddd	���d��Gd
�d��}|�tt|����Gd�d
��}|�tt|����Gd�d��}|�tt|����Gd�d��}|�tt|����Gd�d��}|�t
t|����Gd�d��}|�tt|����Gd�dt��}|�tt|����dS)N�123r�r5rrGr�r*r�r�c��eZdZd�ZdS)�$BuiltinTest.test_len.<locals>.BadSeqc��t�rr�r&s rr'z,BuiltinTest.test_len.<locals>.BadSeq.__len__r�r"N�r2r3r4r'r5r"rr@r�r�r"r@c��eZdZd�ZdS)�(BuiltinTest.test_len.<locals>.InvalidLenc��dSrr5r&s rr'z0BuiltinTest.test_len.<locals>.InvalidLen.__len__ s���tr"Nr�r5r"r�
InvalidLenr�rvr"r�c��eZdZd�ZdS)�&BuiltinTest.test_len.<locals>.FloatLenc��dS)Ng@r5r&s rr'z.BuiltinTest.test_len.<locals>.FloatLen.__len__$����sr"Nr�r5r"r�FloatLenr�#�#������
�
�
�
�
r"r�c��eZdZd�ZdS)�)BuiltinTest.test_len.<locals>.NegativeLenc��dS)Ni����r5r&s rr'z1BuiltinTest.test_len.<locals>.NegativeLen.__len__(r�r"Nr�r5r"r�NegativeLenr�'r�r"r�c��eZdZd�ZdS)�%BuiltinTest.test_len.<locals>.HugeLenc� �tjdzSrf�rzr�r&s rr'z-BuiltinTest.test_len.<locals>.HugeLen.__len__,s���{�Q��&r"Nr�r5r"r�HugeLenr�+r�r"r�c��eZdZd�ZdS)�-BuiltinTest.test_len.<locals>.HugeNegativeLenc�"�tjdz
S)NrFr�r&s rr'z5BuiltinTest.test_len.<locals>.HugeNegativeLen.__len__0s����|�B��&r"Nr�r5r"r�HugeNegativeLenr�/r�r"r�c��eZdZdS)�)BuiltinTest.test_len.<locals>.NoLenMethodNr�r5r"r�NoLenMethodr�3r�r"r�)ror%r�r�r�rr�)rr@r�r�r�r�r�r�s        r�test_lenzBuiltinTest.test_lens�������U���Q�'�'�'�����R���!�$�$�$�����\�*�*�A�.�.�.�����\�\�\�*�*�A�.�.�.�����R���!�$�$�$�����!�!�_�_�-�-�q�1�1�1�	!�	!�	!�	!�	!�	!�	!�	!�	
���*�c�6�6�8�8�4�4�4�	�	�	�	�	�	�	�	�	
���)�S�*�*�,�,�7�7�7�	�	�	�	�	�	�	�	�	
���)�S�(�(�*�*�5�5�5�	�	�	�	�	�	�	�	�	
���*�c�;�;�=�=�9�9�9�	'�	'�	'�	'�	'�	'�	'�	'�	
���-��g�g�i�i�8�8�8�	'�	'�	'�	'�	'�	'�	'�	'�	
���*�c�?�?�+<�+<�=�=�=�'�'�'�'�'�&�'�'�'����)�S�+�+�-�-�8�8�8�8�8r"c����|�ttd�tdd������gd���	ddlm�n#t$rd��YnwxYw|�tt�fd�d	dgd
dgg����dd
gddgg��|�ttd�gd�gd�����gd���d�}|�tt|gd�����gd���|�tt|gd�gd�����gd���|�tt|gd�gd�gd�����gd���|�ttttd������gd���d�}|�tt|td��td������ddg��|�	tt��|�	ttd�d ��Gd!�d"��}|�	tttd#�|������d$�}|�	ttt|td%������dS)&Nc��||zSrr5r0s rr�z&BuiltinTest.test_map.<locals>.<lambda>8s
��q��s�r"r*r�)r*r�rDr)�sqrtc�"�t|d��S)N��?)�powr0s rr�z"BuiltinTest.test_map.<locals>.sqrt>s���1�c�{�{�"r"c�>��tt�|����Sr)rq�map)r�r�s �rr�z&BuiltinTest.test_map.<locals>.<lambda>As���t�C��a�L�L�1�1�r"r2r7rD�@�@g"@r�c��||zSrr5r�s  rr�z&BuiltinTest.test_map.<locals>.<lambda>Es
��!�A�#�r")r*r�r�)rDr*r�)rFr�r�c��d}|D]}||z}�|Sr�r5)�v�accur.s   r�plusz"BuiltinTest.test_map.<locals>.plusIs!���D��'�'��t�a�x����Kr")r*r�rs)r�rDr�)r�r�rD)r*r*r)r��
rDrF)
rr*r�rDr2r3r4r5r6r7c�2�|�|S|�|St||��Sr)rr�s  r�Maxz!BuiltinTest.test_map.<locals>.Max]s$���y����y����q�!�9�9�r"r�r�c��|Srr5r0s rr�z&BuiltinTest.test_map.<locals>.<lambda>hs��A�r"r�c��eZdZd�ZdS)�$BuiltinTest.test_map.<locals>.BadSeqc3�K�t�rr�r&s rr]z-BuiltinTest.test_map.<locals>.BadSeq.__iter__js���� � r"Nr^r5r"rr@r�is#������
�
�
�
�
r"r@c��|Srr5r0s rr�z&BuiltinTest.test_map.<locals>.<lambda>ms��!�r"c��t�rrUr0s rrCz%BuiltinTest.test_map.<locals>.badfuncns���r"r�)
rorqr�rM�mathr�r�r�rr�r�r�rV)rr�r�r@rCr�s     @r�test_mapzBuiltinTest.test_map6sP��������]�]�E�!�A�J�J�/�/�0�0��I�I�	
�	
�	
�	#�!�!�!�!�!�!�!���	#�	#�	#�
#�
#�
#�
#�
#�	#����	
�����1�1�1�1�R��G�b�!�W�3E�F�F�G�G��3�Z�#�s��$�	
�	
�	
�	
�����%�%�w�w�w����8�8�9�9��J�J�	
�	
�	
�
	�	�	�	
�����T�9�9�9�%�%�&�&��I�I�	
�	
�	
�	
�����T�9�9�9�i�i�i�0�0�1�1��O�O�	
�	
�	
�	
�����T�9�9�9�i�i�i����;�;�<�<�!�!�!�	
�	
�	
�	
�����S�'�"�+�+�&�&�'�'�0�0�0�	
�	
�	
�	�	�	�	
�����S�'�!�*�*�g�a�j�j�1�1�2�2�
��F�	
�	
�	
�	
���)�S�)�)�)����)�S�+�+�r�:�:�:�	�	�	�	�	�	�	�	�	
���*�d�C���V�V�X�X�,F�,F�G�G�G�	�	�	����,��c�'�5��8�8�.D�.D�E�E�E�E�Es�A�
A�Ac���ttjdz��D]P}ttd��}ttd��}|�|t
|��|���QdS)Nr*zIs this the real life?)rMrlrLr�rhrxrq)rrv�m1�m2s    r�test_map_picklezBuiltinTest.test_map_picklersl���6�2�Q�6�7�7�	8�	8�E��X�7�8�8�B��X�7�8�8�B��"�"�2�t�B�x�x��7�7�7�7�	8�	8r"c���|�td��d��|�tddd��d��|�td��d��|�tgd���d��|�tddd��d��|�tddd��d��|�td	dd��d��|�td
��5t��ddd��n#1swxYwY|�ttd��|�t
td��Gd
�d��}|�t
t|����dD]D}	t
|t����|�|���5#t$rY�AwxYw|�tdt���d��|�tdt���d��|�tddt���d��|�tdd���d��|�tdd���d��|�tdd���d��|�tddt���d��|�tddt���d��|�tdd���d��d�td��D��}td�|D����}|j}|�t||���tt|��|���d��dS)N�123123�3r*r�r��r*r�r�r*r�r�r�r�r�z'max expected at least 1 argument, got 0r�r5c��eZdZd�ZdS)�$BuiltinTest.test_max.<locals>.BadSeqc��t�rr�r>s  rr0z0BuiltinTest.test_max.<locals>.BadSeq.__getitem__�r�r"Nr�r5r"rr@r��r�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*�r�rE��default�r�r�c�6�g|]}tjd����S�r���random�	randrange�r�r.s  r�
<listcomp>z(BuiltinTest.test_max.<locals>.<listcomp>��#��:�:�:�!�� ��%�%�:�:�:r"rJc3�BK�|]}|tjd��fV��dS�r�Nr��r��elems  rr�z'BuiltinTest.test_max.<locals>.<genexpr>��2����B�B�T�T�6�+�B�/�/�0�B�B�B�B�B�Br"r
)rorrdr�r�r�rr��failrrMr�r0r��reversed�rr@�stmt�datar�r�s      r�test_maxzBuiltinTest.test_maxxs������X����,�,�,�����Q��1���q�)�)�)�����/�0�0�!�4�4�4�����/�/�/�0�0�!�4�4�4�����Q��3����-�-�-�����Q��Q����+�+�+�����S�!�Q����+�+�+�
�
#�
#��5�
�
�	�	�
�E�E�E�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
���)�S�"�-�-�-����*�c�2�.�.�.�	!�	!�	!�	!�	!�	!�	!�	!�	
���*�c�6�6�8�8�4�4�4�	�	 �	 �D�
 ��T�7�9�9�%�%�%��	�	�$�������
�
�
���
����
	
����T�s�+�+�+�Q�/�/�/�����U��,�,�,�a�0�0�0�����Q��s�+�+�+�Q�/�/�/�����R��.�.�.��5�5�5�����T�4�0�0�0�!�4�4�4�����U�D�1�1�1�1�5�5�5�����R���4�4�4�a�8�8�8�����V�Q�C�8�8�8�!�<�<�<�����V��.�.�.��2�2�2�:�:�u�S�z�z�:�:�:���B�B�T�B�B�B�B�B���������T�q�)�)�)������A�6�6�6�r�:�	<�	<�	<�	<�	<�$�D6�6D:�=D:�>G0�0
G=�<G=c��|�td��d��|�tddd��d��|�td��d��|�tgd���d��|�tddd��d��|�tddd��d��|�td	dd��d	��|�td
��5t��ddd��n#1swxYwY|�ttd��|�t
td��Gd
�d��}|�t
t|����dD]D}	t
|t����|�|���5#t$rY�AwxYw|�tdt���d��|�tdt���d��|�tddt���d��|�tdd���d��|�tdd���d��|�tdd���d��|�tddt���d��|�tddt���d��|�tdd���d��d�td��D��}td�|D����}|j}|�t||���t||���d��dS)Nr�rBr*r�r�r�r�r�r�z'min expected at least 1 argument, got 0r�r5c��eZdZd�ZdS)�$BuiltinTest.test_min.<locals>.BadSeqc��t�rr�r>s  rr0z0BuiltinTest.test_min.<locals>.BadSeq.__getitem__�r�r"Nr�r5r"rr@r��r�r"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�rEr�r�c�6�g|]}tjd����Sr�r�r�s  rr�z(BuiltinTest.test_min.<locals>.<listcomp>�r�r"rJc3�BK�|]}|tjd��fV��dSr�r�r�s  rr�z'BuiltinTest.test_min.<locals>.<genexpr>�r�r"r)ro�minrdr�r�r�rr�r�rrMr�r0r�r�s      r�test_minzBuiltinTest.test_min�s�������X����,�,�,�����Q��1���q�)�)�)�����/�0�0�!�4�4�4�����/�/�/�0�0�!�4�4�4�����Q��3����+�+�+�����Q��Q����+�+�+�����S�!�Q����-�-�-�
�
#�
#��5�
�
�	�	�
�E�E�E�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
���)�S�"�-�-�-����*�c�2�.�.�.�	!�	!�	!�	!�	!�	!�	!�	!�	
���*�c�6�6�8�8�4�4�4�	�	 �	 �D�
 ��T�7�9�9�%�%�%��	�	�$�������
�
�
���
����
	
����T�s�+�+�+�Q�/�/�/�����U��,�,�,�a�0�0�0�����Q��s�+�+�+�Q�/�/�/�����R��.�.�.��5�5�5�����T�4�0�0�0�!�4�4�4�����U�D�1�1�1�1�5�5�5�����R���4�4�4�a�8�8�8�����V�Q�C�8�8�8�!�<�<�<�����V��.�.�.��2�2�2�:�:�u�S�z�z�:�:�:���B�B�T�B�B�B�B�B���������T�q�)�)�)���!�,�,�,�Q�/�	1�	1�	1�	1�	1r�c�^�ttd����}|�t|��d��|�t|��d��|�t
t|��|�t
t|��|�t|d��d��Gd�dt��}t|����}|�t|d��d��|�t
t|��d�}|��}|�t|��d��|�t
t|��|�t|d��d��dS)Nr�rr*r�c��eZdZd�Zd�ZdS)�#BuiltinTest.test_next.<locals>.Iterc��|Srr5r&s rr]z,BuiltinTest.test_next.<locals>.Iter.__iter__�rtr"c��t�r)rsr&s r�__next__z,BuiltinTest.test_next.<locals>.Iter.__next__�s��#�#r"N)r2r3r4r]rr5r"r�Iterr�s2������
�
�
�
$�
$�
$�
$�
$r"rc3�K�dV�dSrfr5r5r"r�genz"BuiltinTest.test_next.<locals>.gens�����G�G�G��Fr")r�rMrorrr�rsr�)rrtrr
s    r�	test_nextzBuiltinTest.test_next�s���
�%��(�(�^�^������b���1�%�%�%�����b���1�%�%�%����-��r�2�2�2����-��r�2�2�2�����b�"���r�*�*�*�	$�	$�	$�	$�	$�6�	$�	$�	$��$�$�&�&�\�\������b�"���r�*�*�*����-��r�2�2�2�	�	�	��S�U�U������b���1�%�%�%����-��r�2�2�2�����b�"���r�*�*�*�*�*r"c���|�td��d��|�td��d��|�ttd��dS)NrJ�0o144i����z-0o144r5)ro�octr�r�r&s r�test_octzBuiltinTest.test_oct	sX������S���7�+�+�+�����T���H�-�-�-����)�S�"�-�-�-�-�-r"c��ttdd���}|�tt��|5|�d��|�d��|�d��|�d��|�d��|�d	��ddd��dS#1swxYwYdS)
N�w�utf-8��encoding�1+1
z+The quick brown fox jumps over the lazy dogz.
z
Dear John
�,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX�,YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY)�openr�
addCleanuprr@�r�fps  r�write_testfilezBuiltinTest.write_testfiles���
�&�#��
0�
0�
0�������'�'�'�
�	 �	 ��H�H�W�����H�H�B�C�C�C��H�H�U�O�O�O��H�H�]�#�#�#��H�H�Y�����H�H�Y����
	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�A?C�C
�
C
c��|���ttd���}|5|�|�d��d��|�|���d��|�|�d��d��|�|�d��d��|�|�d	��d
��|�|�d��d��ddd��n#1swxYwY|�ttd
��|�ttd��dS)Nrrr�rz-The quick brown fox jumps over the lazy dog.
�DearrJz John
r�r��rzabsab)rrrro�readline�readr�r�rs  r�	test_openzBuiltinTest.test_opensz��������
�&�7�
+�
+�
+��
�	7�	7����R�[�[��^�^�W�5�5�5����R�[�[�]�]�,\�]�]�]����R�[�[��^�^�V�4�4�4����R�[�[��-�-�y�9�9�9����R�W�W�S�\�\�9�5�5�5����R�W�W�T�]�]�I�6�6�6�
	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	
���*�d�H�5�5�5����*�d�I�6�6�6�6�6s�C6D/�/D3�6D3zutf-8 mode is enabledc���ttj��}	dD]}|tjvr
tj|=�|���t	j��}t
j��5t
jdt��ttd��}ddd��n#1swxYwY|5|�|j
|��ddd��n#1swxYwYtj���tj�|��dS#tj���tj�|��wxYw)N)�LC_ALL�LANG�LC_CTYPEr�r)r��os�environr�locale�getencodingr��catch_warnings�simplefilter�EncodingWarningrrror�clear�update)r�old_environr��current_locale_encodingrs     r�test_open_default_encodingz&BuiltinTest.test_open_default_encoding)s����2�:�&�&��	+�6�
(�
(���"�*�$�$��
�3������!�!�!�&,�&8�&:�&:�#��(�*�*�
'�
'��%�h��@�@�@��&�#�&�&��
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'����
'�
'�
'�
'��
G�
G�� � ���.E�F�F�F�
G�
G�
G�
G�
G�
G�
G�
G�
G�
G�
G����
G�
G�
G�
G�
�J�������J���k�*�*�*�*�*��
�J�������J���k�*�*�*�*���sT�AD0�50B1�%D0�1B5�5D0�8B5�9D0�>C&�D0�&C*�*D0�-C*�.D0�0?E/c���ttd���}|5|�tj|�������ddd��dS#1swxYwYdS)Nrr)r�__file__r�r'�get_inheritable�fileno)r�fileobjs  r�test_open_non_inheritablez%BuiltinTest.test_open_non_inheritable?s����x�'�2�2�2��
�	C�	C����R�/����0@�0@�A�A�B�B�B�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�	C�	Cs�:A � A$�'A$c�b�|�td��d��|�td��d��|�td��d��|�td��d��|�td	��d
��|�td��d��|�td��d��|�td
��d��|�td��d��|�td��d
��|�tttj����tj��|�ttd��|�ttd����d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td ��d!��|�td"��d��dS)#NrQr�r�r�r�r��€�r�r�� �Ar�����r�rr�r�r�r�rr�rrrrrrrrr
r	r)rorargrzrr�r�r&s r�test_ordzBuiltinTest.test_ordEs�������S���2�&�&�&�����S���2�&�&�&�����S���2�&�&�&�����V���c�*�*�*�����V���c�*�*�*�����T���B�'�'�'�����T���B�'�'�'�����T���B�'�'�'�����W���s�+�+�+�����W���s�+�+�+�����S���0�0�1�1�3�>�B�B�B����)�S�"�-�-�-�����S��]�]�+�+�X�6�6�6�����\�*�*�J�7�7�7�����\�*�*�J�7�7�7�����\�*�*�J�7�7�7�����\�*�*�J�7�7�7�����\�*�*�J�7�7�7�����\�*�*�J�7�7�7�����\�*�*�J�7�7�7�����\�*�*�J�7�7�7�����\�*�*�J�7�7�7�7�7r"c
��|�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��st|t��r$|�tt|||���e|�t|||��d��������|�tdd��d��|�tdd��d��|�tdd
d��d��|�ttddd��|�tt��|�tdd� ��d��|�tdd�!��d"��|�td#dd$�%��d&��ttd�'��}|�|d#� ��d(��ttd#� ��}|�|d��d(��ttd�)��}|�|dd*��d��|�|d*d�+��d��dS),Nrr*r�rFir�rr��@r�r�r����r�r�r�g�@g0Ag�Ag�r�� �)r�r�)rF�$@)rg@�@g8@r
r�y�?gUUUUUU�?y�?�LX�z��?)�exp)�baserFr2r��)rGrF�mod�)rGr�)rIr�)rFrG)	ror�r�r��floatr�r�r�r)rr�r�rt�twopow�fifth_power�mod10s       r�test_powzBuiltinTest.test_pow`sK������Q�q���1�%�%�%�����Q�q���1�%�%�%�����Q�q���1�%�%�%�����Q�q���1�%�%�%�����Q�q���1�%�%�%�����Q�r���D�)�)�)�����Q�r���I�.�.�.�����Q�r���N�3�3�3�����R����A�&�&�&�����R����B�'�'�'�����R����A�&�&�&�����R����B�'�'�'����s�2�a�y�y�"�-�-�-����s�2�a�y�y�"�-�-�-����s�2�a�y�y�"�-�-�-����s�2�a�y�y�"�-�-�-����s�2�a�y�y�"�-�-�-����s�2�b�z�z�5�1�1�1����s�2�b�z�z�;�7�7�7����s�2�b�z�z�+<�=�=�=����s�3�q�z�z�2�.�.�.����s�3�q�z�z�3�/�/�/����s�3�q�z�z�2�.�.�.����s�3�q�z�z�3�/�/�/��	C�	C�A��
C�
C��%�C�C�A�!�!�U�+�+�C�!�!�U�+�+�C�!�!�U�+�+�C��)�)�)�S�!�Q��B�B�B�B��.�.�s�1�a��|�|�T�B�B�B�B�
C�
C�	
���s�2�s�|�|�R�0�0�0����s�2�s�|�|�-F�G�G�G�	
����R��Q����+�+�+����*�c�1�a��3�3�3����)�S�)�)�)�	
����Q�A�����*�*�*�����!��+�+�+�R�0�0�0�����!���3�3�3�R�8�8�8���1�%�%�%�������A�����+�+�+��c�q�)�)�)�������Q����,�,�,����$�$�$�������q�!���a�(�(�(������1�1�-�-�-�q�1�1�1�1�1r"c�:�|���ttd���}tj}tj}	|t_t
��t_|�t��d��|�t��d��|�td��d��|t_tj�	��|�
tt��t
��t_tj
d��t_|�
ttdd��tj
d	��t_|�t��d	��tj
��t_|�
tt��t`|�
t td
��t`|�
t td
��|t_|t_|�	��dS#|t_|t_|�	��wxYw)Nrrr�z,The quick brown fox jumps over the lazy dog.ztesting
z	Dear JohnzNULLr�z    'whitespace'�prompt)rrrrz�stdinrr=ro�input�closer�r��io�StringIOr��EOFErrorrV)rr�	savestdinrs    r�
test_inputzBuiltinTest.test_input�s���������
�&�7�
+�
+�
+���I�	��Z�
�	��C�I�"���C�J����U�W�W�e�,�,�,����U�W�W�&T�U�U�U����U�;�/�/��=�=�=�$�C�J��I�O�O�������j�%�0�0�0�"���C�J���H�-�-�C�I����i���B�7�7�7���$6�7�7�C�I����U�W�W�&8�9�9�9���
�
�C�I����h��.�.�.��
����l�E�8�<�<�<��	����l�E�8�<�<�<�!�C�I�#�C�J��H�H�J�J�J�J�J��"�C�I�#�C�J��H�H�J�J�J�J���s
�G:I,�,.Jc�,�|�td��d��|�td��d��|�td��d��|�tg��d��|�ti��d��g}|�|��|�t|��d	��i}||d<|�t|��d
��dS)NrPr�rrAr5r�r�r�r�r�)ror�r,)rr�s  r�	test_reprzBuiltinTest.test_repr�s�������b���6�*�*�*�����a���#�&�&�&�����b���4�(�(�(�����b���4�(�(�(�����b���4�(�(�(���	�����������a���)�,�,�,�����!������a���,�/�/�/�/�/r"c��
�|�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��|�tdd�#��d��|�tt��Gd$�d%��}Gd&�d'��}|�t|����d(��|�ttdd)d*��|�tt|����|��}d+�|_|�tt|��|�tt|d��dS),Nr�r�rEge��Ag@��x�Dr�g$�ge��g@��x��g�������?g�������?g333333$@g��e��Ag�������g333333$�g��e��g�������?g������#@g33�d��Ag�������g������#�g33�d��rDr
rr*g@r�g@g�i����g�rlrC)�number�ndigitsc��eZdZd�ZdS)�)BuiltinTest.test_round.<locals>.TestRoundc��dS)N�r5r&s r�	__round__z3BuiltinTest.test_round.<locals>.TestRound.__round__
r�r"N)r2r3r4rcr5r"r�	TestRoundr`	r�r"rdc��eZdZdS)�+BuiltinTest.test_round.<locals>.TestNoRoundNr�r5r"r�TestNoRoundrf
r�r"rgrbr�r�c��|Srr5)�argss rr�z(BuiltinTest.test_round.<locals>.<lambda>s��D�r")ro�roundrpr�rKr�r�rc)rrdrg�ts    r�
test_roundzBuiltinTest.test_round�s�������s���S�)�)�)�����e�C�j�j�)�)�3�/�/�/�����s���S�)�)�)�����t���d�+�+�+�����|�,�,�l�;�;�;�����t���d�+�+�+�����t���d�+�+�+�����u���u�-�-�-�����}�-�-�}�=�=�=�����u���u�-�-�-�����s���S�)�)�)�����s���S�)�)�)�����t���d�+�+�+�����|�,�,�l�;�;�;�����t���d�+�+�+�����u���u�-�-�-�����}�-�-�}�=�=�=�����s���S�)�)�)�����s���T�*�*�*�����{�+�+�\�:�:�:�����t���d�+�+�+�����t���e�,�,�,�����|�,�,�m�<�<�<�����t�R���%�0�0�0�����e�D�"�o�o�.�.��6�6�6�����e�D�!�n�n�-�-�u�5�5�5�����e�D�!�n�n�-�-�u�5�5�5�	
����s���Q�'�'�'�����s���Q�'�'�'�����t���b�)�)�)�����t���b�)�)�)�	
����q���1�%�%�%�����q���1�%�%�%�����r���B�'�'�'�����e�A�h�h����-�-�-�����e�B��m�m�,�,�c�2�2�2�����e�B��l�l�+�+�S�1�1�1�����e�B��l�l�+�+�S�1�1�1�	
����d�B�7�7�7��?�?�?����)�U�+�+�+�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
����y�y�{�{�+�+�R�0�0�0����)�U�A�q�!�4�4�4����)�U�K�K�M�M�:�:�:��K�M�M��(�(������)�U�A�.�.�.����)�U�A�q�1�1�1�1�1r"�Linux�alpha���7y�1CzItest will fail;  failure is probably due to a buggy system round functionc�d�|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��dS)Ng��7y�1Cg��7y�1Crog��7y�1Cg��7y�1C)rorjr&s r�test_round_largezBuiltinTest.test_round_large$s���
	
����v����/�/�/�����t���d�+�+�+�����v����/�/�/�����v����/�/�/�����v����/�/�/�/�/r"c	�Z�ddtjd��tjdd��fD]~}|�t|d��t|����|�t
t|d����t
t|�������dS)Nr�g
ףp=J�@z1234.56i@�rJ)�decimal�Decimal�	fractions�Fractionrorjrpr�s  r�test_bug_27936zBuiltinTest.test_bug_27936/s������/�)�,�,��$�V�S�1�1�3�	C�	C�A�
���U�1�d�^�^�U�1�X�X�6�6�6����T�%��4�.�.�1�1�4��a���>�>�B�B�B�B�	C�	Cr"c��ttdd��|�tjd��|�t
t��|�t
tt��|�t
ttd��d}|�t
|ttdd��dS)Nrar*rb)�setattrrzrorar�r�rdres  r�test_setattrzBuiltinTest.test_setattr8s�����V�Q���������1�%�%�%����)�W�-�-�-����)�W�c�2�2�2����)�W�c�6�:�:�:�;�����y�#�w��Q��G�G�G�G�Gr"c�
�|�tg��d��|�tttdd������d��|�tt	ttdd��������d��|�ttd����d��|�tt	td������d��|�tdgdgdggg��gd	���|�ttd��d
��d��|�ttd��d
���d��|�ttd��d
��d��|�ttd��d��d��|�td�td��D����d��|�td�td��D��d��d��|�td�td��D��d��d��|�tgd��d��|�td�td��D����d��|�td�td��D��d
��d��|�td�td��D��d��d ��|�td!dg��d"��|�tdd!g��d"��|�ttd#g����d$��|�ttd#gd#����d%��|�ttgd#����d%��|�tt��|�ttd&��|�ttgd'���|�ttgd'�d(��|�ttd)d*gd+��td)��td,��g}|�tt|td+����|�ttdgdgdgg��|�ttddig��|�ttddigdzddi��|�ttgd(��|�ttgd+��|�ttgt����Gd-�d.��}|�tt|����g}td/�td��D��|��|�|g��dS)0Nrr�rl�rFir*r��r*r�r�ri)�starti���l(l����l(c3�(K�|]
}|dzdkV��dS�r�rNr5r�s  rr�z'BuiltinTest.test_sum.<locals>.<genexpr>Ps*����;�;�A�Q��U�a�Z�;�;�;�;�;�;r"r�c3�(K�|]
}|dzdkV��dSr�r5r�s  rr�z'BuiltinTest.test_sum.<locals>.<genexpr>Q�*����<�<�Q�a�!�e�q�j�<�<�<�<�<�<r"i���lc3�(K�|]
}|dzdkV��dSr�r5r�s  rr�z'BuiltinTest.test_sum.<locals>.<genexpr>Sr�r"l����lFc3� K�|]	}|dzV��
dS�r�Nr5r�s  rr�z'BuiltinTest.test_sum.<locals>.<genexpr>Ws&����6�6�q�Q��U�6�6�6�6�6�6r"g�6@c3� K�|]	}|dzV��
dSr�r5r�s  rr�z'BuiltinTest.test_sum.<locals>.<genexpr>X�&����7�7��a�!�e�7�7�7�7�7�7r"g�@c3� K�|]	}|dzV��
dSr�r5r�s  rr�z'BuiltinTest.test_sum.<locals>.<genexpr>Yr�r"gB�@g��@r�g�?g�z0.0z-0.0r�r�rPr��cr"�bc��eZdZd�ZdS)�$BuiltinTest.test_sum.<locals>.BadSeqc��t�rr�r>s  rr0z0BuiltinTest.test_sum.<locals>.BadSeq.__getitem__or�r"Nr�r5r"rr@r�nr�r"r@c3�K�|]}|gV��dSrr5r�s  rr�z'BuiltinTest.test_sum.<locals>.<genexpr>ts$����$�$�Q�a�S�$�$�$�$�$�$r")ro�sumrqrMr�r�assertIsr�r�r��	bytearrayr�)rr1r@�emptys    r�test_sumzBuiltinTest.test_sumCs�������R���!�$�$�$�����T�%��!�*�*�-�-�.�.��3�3�3�����T�$�u�Q�q�z�z�"2�"2�3�3�4�4�b�9�9�9�����W�R�[�[�)�)�3�/�/�/�����T�'�"�+�+�.�.�/�/��5�5�5�����q�c�A�3���_�b�1�1�9�9�9�=�=�=�����U�2�Y�Y��-�-�t�4�4�4�����U�2�Y�Y�d�3�3�3�T�:�:�:�����U�2�Y�Y��0�0�(�;�;�;�����U�2�Y�Y��0�0�(�;�;�;�����;�;��r���;�;�;�;�;�Q�?�?�?�����<�<�%��)�)�<�<�<�g�F�F� �	"�	"�	"�����<�<�%��)�)�<�<�<�g�F�F� �	"�	"�	"��
�
�c�"�e�n�n�e�,�,�,�����6�6�E�"�I�I�6�6�6�6�6��=�=�=�����7�7�U�2�Y�Y�7�7�7��>�>��G�G�G�����7�7�U�2�Y�Y�7�7�7��A�A�7�K�K�K�����c�1�X����,�,�,�����a��X����,�,�,�����c�4�&�k�k�*�*�E�2�2�2�����c�4�&�$�/�/�0�0�&�9�9�9�����c�"�d�m�m�,�,�f�5�5�5����)�S�)�)�)����)�S�"�-�-�-����)�S�/�/�/�:�:�:����)�S�/�/�/�2�>�>�>����)�S�4��,��<�<�<��D�/�/�9�T�?�?�3�����)�S�&�)�C�.�.�A�A�A����)�S�A�3���a�S�/�:�:�:����)�S�A�a�5�'�2�2�2����)�S�A�a�5�'�!�)�a��U�;�;�;����)�S�"�b�1�1�1����)�S�"�c�2�2�2����)�S�"�i�k�k�:�:�:�	!�	!�	!�	!�	!�	!�	!�	!�	
���*�c�6�6�8�8�4�4�4����$�$�%��)�)�$�$�$�e�,�,�,������#�#�#�#�#r"c���|�td��td����|�td��td����dS)NrPr�r5)rorprCr&s r�	test_typezBuiltinTest.test_typewsL������b���D��K�K�0�0�0����D��H�H�d�2�h�h�/�/�/�/�/r"c��t��Sr)�varsr5r"r�get_vars_f0zBuiltinTest.get_vars_f0}s���v�v�
r"c�X�t���d}d}t��S)Nr*r�)rjr�r�r�s  r�get_vars_f2zBuiltinTest.get_vars_f2�s'�����!�!�!�
��
���v�v�
r"c�,�eZdZd�Zee���ZdS)�BuiltinTest.C_get_varsc�
�ddiS)Nr�r�r5r&s r�getDictzBuiltinTest.C_get_vars.getDict�s����7�Nr")�fgetN)r2r3r4r��propertyrmr5r"r�
C_get_varsr��s/������	�	�	��8��)�)�)���r"r�c���|�tt����tt������|�ttt����ttt������|�|���i��|�|���ddd���|�ttdd��|�ttd��|�t|�	����ddi��dS)Nr*r�r�r�r�)
ro�setr�r�rzr�r�r�r�r�r&s r�	test_varszBuiltinTest.test_vars�s
������T�V�V���c�#�%�%�j�j�1�1�1�����T�#�Y�Y����S��X�X���7�7�7�����)�)�+�+�R�0�0�0�����)�)�+�+�1�1�-=�-=�>�>�>����)�T�2�r�2�2�2����)�T�2�.�.�.�����d�o�o�/�/�0�0�3�q�'�:�:�:�:�:r"c��g}|�|��5|D]}|�|���	ddd��n#1swxYwY|S)z=Collect `iterable` into a list, catching an expected `error`.N)r�r,)r�iterable�error�itemsr�s     r�
iter_errorzBuiltinTest.iter_error�s�����
�
�
�u�
%�
%�	#�	#� �
#�
#�����T�"�"�"�"�
#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#��s�A�A�Ac
��d}d}gd�}|�tt||����|��gd�}|�tt||����|��d}|�tt||����|��Gd�d��}|�tt||������|��|�tt����g��|�ttg���g��|�ttd��Gd�d��}|�tt||����|�t
t|t
����Gd	�d
��}|�tt|��td������tttd��������Gd
�d��}|�ttt|��|������dS)Nr}�r�r�r��)r*r�)r�r�)r�r��r�r�r�rsc��eZdZd�ZdS)�BuiltinTest.test_zip.<locals>.Ic�2�|dks|dkrt�|dzS)Nrr�r��r+�rr.s  rr0z+BuiltinTest.test_zip.<locals>.I.__getitem__�s!���q�5�5�A��E�E��#3��1�u�r"Nr�r5r"r�Ir��s#������
�
�
�
�
r"r�c��eZdZdS)�BuiltinTest.test_zip.<locals>.GNr�r5r"r�Gr��r�r"r�c��eZdZd�ZdS)�4BuiltinTest.test_zip.<locals>.SequenceWithoutALengthc� �|dkrt�|S�Nr�r�r�s  rr0z@BuiltinTest.test_zip.<locals>.SequenceWithoutALength.__getitem__������6�6�$�$��Hr"Nr�r5r"r�SequenceWithoutALengthr���#������
�
�
�
�
r"r�rBr�c��eZdZd�ZdS)�$BuiltinTest.test_zip.<locals>.BadSeqc� �|dkrt�|Sr�r�r�s  rr0z0BuiltinTest.test_zip.<locals>.BadSeq.__getitem__�r�r"Nr�r5r"rr@r��r�r"r@)
rorq�zipr�r�rVr[rM�	enumerater�)rr�r�rkr�r�r�r@s        r�test_zipzBuiltinTest.test_zip�s�������$�$�$������c�!�Q�i�i���!�,�,�,��I�I������c�!�Q�i�i���!�,�,�,�������c�!�Q�i�i���!�,�,�,�	�	�	�	�	�	�	�	�	
����c�!�Q�Q�S�S�k�k�*�*�A�.�.�.�����c�e�e���b�)�)�)�����c�2�h����,�,�,����)�S�$�/�/�/�	�	�	�	�	�	�	�	����)�S�!�Q�Q�S�S�1�1�1����,��Q��0A�0A�B�B�B�
	�	�	�	�	�	�	�	�	
�����+�+�-�-�u�U�|�|�<�<�=�=���5��8�8�$�$�%�%�	
�	
�	
�
	�	�	�	�	�	�	�	�	
���*�d�C�����&�&�(�(�,C�,C�D�D�D�D�Dr"c��d}d}gd�}ttjdz��D])}t||��}|�|||���*dS)Nr}r�r�r*�rMrlrLr�rx�rr�r�rkrv�z1s      r�test_zip_picklezBuiltinTest.test_zip_pickle�sh������$�$�$���6�2�Q�6�7�7�	1�	1�E��Q����B��"�"�2�q�%�0�0�0�0�	1�	1r"c��d}d}gd�}ttjdz��D]+}t||d���}|�|||���,dS)Nr}r�r�r*T��strictr�r�s      r�test_zip_pickle_strictz"BuiltinTest.test_zip_pickle_strict�so������$�$�$���6�2�Q�6�7�7�	1�	1�E��Q��$�'�'�'�B��"�"�2�q�%�0�0�0�0�	1�	1r"c��d}d}gd�}ttjdz��D]�}t||d���}tjtj||����}|�|�|t��|��|�|�|t��|����dS)Nr}r�r�r*Tr�)	rMrlrLr�rnrmror�r�)rr�r�rkrvr��z2s       r�test_zip_pickle_strict_failz'BuiltinTest.test_zip_pickle_strict_fail�s�������$�$�$���6�2�Q�6�7�7�	A�	A�E��Q��$�'�'�'�B���f�l�2�u�5�5�6�6�B����T�_�_�R��<�<�a�@�@�@����T�_�_�R��<�<�a�@�@�@�@�		A�	Ar"c�
��t���G�fd�d��}|�t��5}t|����ddd��n#1swxYwY|�|j���dS)Nc���eZdZ�fd�ZdS)�6BuiltinTest.test_zip_bad_iterable.<locals>.BadIterablec�����rr5)r�	exceptions �rr]z?BuiltinTest.test_zip_bad_iterable.<locals>.BadIterable.__iter__�s����r"Nr^)r�s�r�BadIterabler��s.�������
 �
 �
 �
 �
 �
 �
 r"r�)r�r�r�r�r�)rr��cmr�s   @r�test_zip_bad_iterablez!BuiltinTest.test_zip_bad_iterable�s�����K�K�	�	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ��
�
�y�
)�
)�	�R����
�
����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
�
�
�b�l�I�.�.�.�.�.s�A�A!�$A!c
��|�ttddd�����d��|�tttddd�����|�tttddd�����|�tttdddd�����dS)Nr}�abcTr�))r*r�)r�r�)r�r�rGrE)ror.r�r�r�r&s r�test_zip_strictzBuiltinTest.test_zip_strict�s�������s�9�e�D�A�A�A�B�B�7�	9�	9�	9����*�e��l�E�$�?�?�?�	A�	A�	A����*�e��f�e�D�9�9�9�	;�	;�	;����*�e��f�f�e�D�A�A�A�	C�	C�	C�	C�	Cr"c
�l�ttd����}dg}ttd����}|�ttt|||d�����|�t|��d��|�t|��d��dS)Nr�rTr�r�r*)r�rMr�r�rqr�rorr)rr�r�rts    r�test_zip_strict_iteratorsz%BuiltinTest.test_zip_strict_iterators�s�����q���N�N��
�C����q���N�N�����*�d��q�!�Q�t�4�4�4�	7�	7�	7�����a���!�$�$�$�����a���!�$�$�$�$�$r"c���
�Gd�dt���
G�
fd�d��}|�td|d��d����
��}|�|d	g��|�td|d
��dd���t��}|�|dg��|�td|d
��d
d����
��}|�|ddg��|�td|d��d���t��}|�|ddg��|�t|d��dd����
��}|�|dg��|�t|d
��dd���t��}|�|dg��|�t|d
��d
d����
��}|�|ddg��|�t|d��dd���t��}	|�|	ddg��dS)Nc��eZdZdS)�9BuiltinTest.test_zip_strict_error_handling.<locals>.ErrorNr�r5r"r�Errorr�r�r"r�c�&��eZdZd�Zd�Z�fd�ZdS)�8BuiltinTest.test_zip_strict_error_handling.<locals>.Iterc��||_dSr��size�rr�s  rr zABuiltinTest.test_zip_strict_error_handling.<locals>.Iter.__init__	�
�� ��	�	�	r"c��|Srr5r&s rr]zABuiltinTest.test_zip_strict_error_handling.<locals>.Iter.__iter__rtr"c�L��|xjdzc_|jdkr��|jS�Nr*rr�)rr�s �rrzABuiltinTest.test_zip_strict_error_handling.<locals>.Iter.__next__
s*����	�	�Q��	�	��9�q�=�=��K��y� r"N�r2r3r4r r]r)r�s�rrr�sL�������
!�
!�
!�
�
�
�
!�
!�
!�
!�
!�
!�
!r"r�ABr*Tr��r�rr�r��r�r*r��ABC�rgrrgr��r�r��rgr*�rr��r*r��rrg�r�r��r*rg)rr�r�ror�)rr�l1�l2�l3�l4�l5�l6�l7�l8r�s          @r�test_zip_strict_error_handlingz*BuiltinTest.test_zip_strict_error_handlings����	�	�	�	�	�I�	�	�	�		!�		!�		!�		!�		!�		!�		!�		!�		!�		!��_�_�S��t�t�A�w�w�t�<�<�<�e�
D�
D������h�Z�(�(�(�
�_�_�S��t�t�A�w�w��D�A�A�A�:�
N�
N������m�_�-�-�-�
�_�_�S��t�t�A�w�w��d�C�C�C�U�
K�
K������m�]�;�<�<�<�
�_�_�S��t�t�A�w�w�t�<�<�<�j�
I�
I������h��1�2�2�2�
�_�_�S���a���$�t�<�<�<�e�
D�
D������h�Z�(�(�(�
�_�_�S���a���#�d�;�;�;�Z�
H�
H������h�Z�(�(�(�
�_�_�S���a���%��=�=�=�u�
E�
E������h��1�2�2�2�
�_�_�S���a���$�t�<�<�<�j�
I�
I������h��1�2�2�2�2�2r"c���Gd�d��}|�td|d��d���t��}|�|dg��|�td|d��d	d���t��}|�|d
g��|�td|d��dd���t��}|�|d
dg��|�td|d
��d���t��}|�|ddg��|�t|d��dd���t��}|�|dg��|�t|d��d	d���t��}|�|dg��|�t|d��dd���t��}|�|ddg��|�t|d
��dd���t��}	|�|	ddg��dS)Nc� �eZdZd�Zd�Zd�ZdS)�FBuiltinTest.test_zip_strict_error_handling_stopiteration.<locals>.Iterc��||_dSrr�r�s  rr zOBuiltinTest.test_zip_strict_error_handling_stopiteration.<locals>.Iter.__init__'r�r"c��|Srr5r&s rr]zOBuiltinTest.test_zip_strict_error_handling_stopiteration.<locals>.Iter.__iter__)rtr"c�T�|xjdzc_|jdkrt�|jSr�)r�rsr&s rrzOBuiltinTest.test_zip_strict_error_handling_stopiteration.<locals>.Iter.__next__+s*���	�	�Q��	�	��9�q�=�=�'�'��y� r"Nr�r5r"rrr&sA������
!�
!�
!�
�
�
�
!�
!�
!�
!�
!r"rr�r*Tr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)r�r�r�ro)
rrr�r�r�r�r�r�r�r�s
          r�,test_zip_strict_error_handling_stopiterationz8BuiltinTest.test_zip_strict_error_handling_stopiteration$sR��		!�		!�		!�		!�		!�		!�		!�		!��_�_�S��t�t�A�w�w�t�<�<�<�j�
I�
I������h�Z�(�(�(�
�_�_�S��t�t�A�w�w��D�A�A�A�:�
N�
N������m�_�-�-�-�
�_�_�S��t�t�A�w�w��d�C�C�C�Z�
P�
P������m�]�;�<�<�<�
�_�_�S��t�t�A�w�w�t�<�<�<�j�
I�
I������h��1�2�2�2�
�_�_�S���a���$�t�<�<�<�j�
I�
I������h�Z�(�(�(�
�_�_�S���a���#�d�;�;�;�Z�
H�
H������h�Z�(�(�(�
�_�_�S���a���%��=�=�=�z�
J�
J������h��1�2�2�2�
�_�_�S���a���$�t�<�<�<�j�
I�
I������h��1�2�2�2�2�2r"c��tgg��}tj��|�tjt|������dSr)r�rRrSr��
is_trackedrr)rrts  r�test_zip_result_gczBuiltinTest.test_zip_result_gcBsF��
�"��Y�Y��
�
����	
����
�d�2�h�h�/�/�0�0�0�0�0r"c�����tdd��d��d�}�fd�}||����fd�}|d��|d��|d	��|d
��|d��|d��|t��|d��Gd
�d��}��tt|��d����ttt��d����ttt��t����t���d��}��|�d������tt��jd����tt��jt������tt��jd��Gd�d��}��t|����d����t|��d��d����t|��d��d��Gd�d��}Gd�dt��}t||fD]�}	|	��}
��t|
��t|
������t|
d��t|
������	tdtj|	j��z��5t|
d��ddd��n#1swxYwY��Gd�dt��}��td|d����d��dS)Nr�rPr�c��Gd�dt��}Gd�d|��}Gd�dt��}Gd�d|��}Gd	�d
|��}||||fS)Nc��eZdZd�Zd�ZdS)�7BuiltinTest.test_format.<locals>.classes_new.<locals>.Ac��||_dSrr0r�s  rr z@BuiltinTest.test_format.<locals>.classes_new.<locals>.A.__init__W�
���D�F�F�Fr"c�0�t|j��|zSr�r;r��r�format_specs  r�
__format__zBBuiltinTest.test_format.<locals>.classes_new.<locals>.A.__format__Y����t�v�;�;��4�4r"N�r2r3r4r rr5r"rr�rV�2���������5�5�5�5�5r"r�c��eZdZdS)�BBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromANr�r5r"r�DerivedFromAr[s�������r"rc��eZdZdS)�<BuiltinTest.test_format.<locals>.classes_new.<locals>.SimpleNr�r5r"r�Simpler^r�r"rc��eZdZd�Zd�ZdS)�GBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimplec��||_dSrr0r�s  rr zPBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple.__init__`rr"c�0�t|j��|zSrrrs  rrzRBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple.__format__brr"Nrr5r"r�DerivedFromSimpler _rr"r#c��eZdZdS)�HBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple2Nr�r5r"r�DerivedFromSimple2r%dr�r"r&)r�)r�rrr#r&s     r�classes_newz,BuiltinTest.test_format.<locals>.classes_newUs���
5�
5�
5�
5�
5�F�
5�
5�
5�

�
�
�
�
�q�
�
�
�
'�&�&�&�&��&�&�&�
5�
5�
5�
5�
5�F�
5�
5�
5�

>�=�=�=�=�%6�=�=�=��l�$5�7I�I�Ir"c�p����t|d��d��d����t|d��d��d����t|d��d��d����t|d	��d
��d��dS)Nr��spec�3specr��4specr�r��5abcrF�abcdef�10abcdef)ro�format)r�rr#r&rs    �r�
class_testz+BuiltinTest.test_format.<locals>.class_testgs�������V�A�A�a�D�D�&�1�1�7�;�;�;����V�L�L��O�O�V�<�<�g�F�F�F����V�$5�$5�a�$8�$8�%�@�@�&�I�I�I����V�$6�$6�r�$:�$:�H�E�E�'�
)�
)�
)�
)�
)r"c������t|d��t|������t|��t|����dS�NrP)ror/r;)r�rs �r�empty_format_specz2BuiltinTest.test_format.<locals>.empty_format_specpsS���
���V�E�2�.�.��E�
�
�;�;�;����V�E�]�]�C��J�J�7�7�7�7�7r"l�.��@r�g�]]^��Ug�]]^���g�;�q7r*g�;�q7r�c��eZdZd�ZdS)�0BuiltinTest.test_format.<locals>.BadFormatResultc��dS)Nr�r5rs  rrz;BuiltinTest.test_format.<locals>.BadFormatResult.__format__�r�r"N�r2r3r4rr5r"r�BadFormatResultr5�r�r"r8r�z<object object atc��eZdZd�ZdS)�"BuiltinTest.test_format.<locals>.Ac�"�td|��Sr2)r/)r�fmt_strs  rrz-BuiltinTest.test_format.<locals>.A.__format__�s���b�'�*�*�*r"Nr7r5r"rr�r:�s#������
+�
+�
+�
+�
+r"r�r�c��eZdZdS)�"BuiltinTest.test_format.<locals>.BNr�r5r"rrgr>�r�r"rgc��eZdZdS)�"BuiltinTest.test_format.<locals>.CNr�r5r"rr�r@�r�r"r�z\b%s\bc��eZdZdS)�/BuiltinTest.test_format.<locals>.DerivedFromStrNr�r5r"r�DerivedFromStrrB�r�r"rCrrEz
         0)
ror/r�r�r�rr��
startswithr;rd�re�escaper2)rr'r0r3r8r�r�rgr��cls�objrCs`           r�test_formatzBuiltinTest.test_formatNs_���	
�����2����,�,�,�	J�	J�	J�$	)�	)�	)�	)�	)�	�
�K�K�M�M�"�"�	8�	8�	8�	8�	8�	��&�!�!�!���#������*�%�%�%���+�&�&�&���+�&�&�&���,�'�'�'���&�!�!�!���$����	�	�	�	�	�	�	�	�	
���)�V�_�_�->�->��C�C�C�	
���)�V�V�X�X�q�9�9�9����)�V�V�X�X�v�x�x�@�@�@�
�H�H����#�#��������%8�9�9�:�:�:�	
���)�V�X�X�%8�!�<�<�<����)�V�X�X�%8�&�(�(�C�C�C����)�V�X�X�%8�$�?�?�?�
	+�	+�	+�	+�	+�	+�	+�	+�	
����������b�)�)�)���������R���"�-�-�-���������S�)�)�2�.�.�.�	�	�	�	�	�	�	�	�	�	�	�	�	��	�	�	��A�q�>�	!�	!�C��#�%�%�C����V�C�[�[�#�c�(�(�3�3�3����V�C��_�_�c�#�h�h�7�7�7��'�'�	�(1�B�I�c�l�4K�4K�(K�M�M�
!�
!��s�C� � � �
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!��	(�'�'�'�'�S�'�'�'������>�>�$�#7�#7�8�8�,�G�G�G�G�Gs�4N�N	�N	c��|�td��d��|�td��d��|�td��d��|�tddz��d	��|�tddzdz
��d
��|�tddz��d��|�tddzdz
��d��dS)
Nr�0b0r*�0b1r
z-0b1r�r��D0b100000000000000000000000000000000000000000000000000000000000000000�C0b11111111111111111111111111111111111111111111111111111111111111111zE-0b100000000000000000000000000000000000000000000000000000000000000000zD-0b11111111111111111111111111111111111111111111111111111111111111111)ro�binr&s r�test_binzBuiltinTest.test_bin�s�������Q����'�'�'�����Q����'�'�'�����R���&�)�)�)�����Q��U���%5�6�6�6�����Q��U�1�W����7�7�7�����q�"�u�X���(9�:�:�:�����q�"�u�Q�w�Z���*:�;�;�;�;�;r"c��td��}|�t|jdd��|�t|jdd��dS)Nsabc�1r*s1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111)r�r�r��	translater�r�s  r�test_bytearray_translatez$BuiltinTest.test_bytearray_translate�sM���f�������*�a�k�4��;�;�;����)�Q�[�(�A�>�>�>�>�>r"c��t��}ttd��}|�t|j|��dS)Nr�)r�r�r�r�r��extend)r�array�bad_iters   r�test_bytearray_extend_errorz'BuiltinTest.test_bytearray_extend_error�s8�������s�C�=�=�����*�e�l�H�=�=�=�=�=r"c��dttfD]j}t|��}|�|��|��|�t
|dd��|�t
|dd����kdS)Nr*r�r�)�Ellipsis�NotImplementedrpr�r�r�)r�const�tps   r�test_construct_singletonsz%BuiltinTest.test_construct_singletons�s����8�^�3�	7�	7�E��e���B��M�M�"�"�$�$��&�&�&����i��Q��2�2�2����i��q�A��6�6�6�6�		7�	7r"c��|�ttt��|�t��5|�t��ddd��n#1swxYwY|�t��5|�t��ddd��dS#1swxYwYdSr)r��DeprecationWarningrQr\r�r�r&s r�test_warning_notimplementedz'BuiltinTest.test_warning_notimplemented�s)��	
���+�T�>�B�B�B�
�
�
�0�
1�
1�	,�	,��O�O�N�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�
�
�
�0�
1�
1�	1�	1�����/�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1s$�A(�(A,�/A,�
B6�6B:�=B:N)fr2r3r4rxr�r�r�r�r�r�r�rrr9rI�unittest�skipIfr�
is_emscripten�is_wasirXr[r_rfr�r�r�r�r�r�rrrrr*rIrOrVrZrhrxr|r�r�r�r�r�r�r�r�rrrrr"rzr=�	utf8_moder2�requires_subprocessr8r@rOrYr[rl�platform�systemrD�machine�linux_alpharj�system_round_bugrqrwrzr�r��staticmethodr�r�r�r�r�r�r�r�r�r�r�r�r�rr�cpython_onlyr
rIrPrTrYr_rbr5r"rrjrj�sE������,�,�,�"I�I�I�$.�.�.�.
8�
8�
8�
8�
8�
8�!O�!O�!O�F,�,�,�
 &� &� &�DC�C�C�,6�6�6�/6�/6�/6�bD�D�D�*�X�_���0���!���82�82�	��82�t#2�#2�#2�LE�E�E� @�@�@�K8�K8�K8�Z-�-�-�$<�<�<�.CD�CD�CD�J7�7�7�0=�=�=�1�1�1�@M�M�M�&	K�	K�	K�	$�	$�	$�K �K �K �\?�?�?�28�8�8����	F�	F�	F�9�9�9�&0�0�0�*.�.�.�
-�-�-�6�6�6�1�1�1�$1�1�1�" 9� 9� 9�D:F�:F�:F�x8�8�8�9<�9<�9<�v91�91�91�v+�+�+�6.�.�.�

 �
 �
 �
7�
7�
7��X�_�S�Y�(�*A�B�B�+�+�C�B�+�*!�W� �"�"�C�C�#�"�C�
8�8�8�6<2�<2�<2�|!�!�!�J0�0�0�H2�H2�H2�b#�8�?�$�$�/�/��8�8�:�#�8�#�%�%�0�0��9�9���u�V�}�}��.���X�_�[�5�%5�3�4�4�0�0�4�4�0�C�C�C�H�H�H�2$�2$�2$�h0�0�0�����\������\��*�*�*�*�*�V�*�*�*�
;�;�;����*E�*E�*E�X1�1�1�1�1�1�A�A�A�
/�
/�
/�C�C�C�%�%�%�3�3�3�B3�3�3�<
��	1�	1���	1�cH�cH�cH�J<�<�<�?�?�?�
>�>�>�
7�7�7�1�1�1�1�1r"rjc�^�eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	j
ejj
d��d���Ze	j
ejj
d��d	���Ze	j
ejj
d��d
���Zd�Ze	j
ejj
d��d���Zd
�ZdS)�TestBreakpointc�@�t��|_|�|jj��|j�t����|_|jd=|j�ttdtj	����dS)N�PYTHONBREAKPOINT�breakpointhook)
r�	resourcesrrT�
enter_contextr�envr
rz�__breakpointhook__r&s r�setUpzTestBreakpoint.setUp�s���#����������,�-�-�-��>�/�/�0C�0E�0E�F�F����H�'�(���$�$��c�+�S�-C�D�D�	F�	F�	F�	F�	Fr"c��td��5}t��ddd��n#1swxYwY|���dS�N�
pdb.set_trace)r�
breakpoint�assert_called_once�r�mocks  r�test_breakpointzTestBreakpoint.test_breakpoint�s���
�?�
#�
#�	�t��L�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	����!�!�!�!�!s�+�/�/c�~�t��}|t_t��|���dSr�rrzrtr}�assert_called_once_with�r�my_breakpointhooks  r�'test_breakpoint_with_breakpointhook_setz6TestBreakpoint.test_breakpoint_with_breakpointhook_set�s5��%�K�K��.��������1�1�3�3�3�3�3r"c�d�t��}|t_t��|���tjt_t
d��5}t��|���ddd��n#1swxYwY|���dSr{)rrzrtr}r�rxr)rr�r�s   r�)test_breakpoint_with_breakpointhook_resetz8TestBreakpoint.test_breakpoint_with_breakpointhook_reset�s���%�K�K��.��������1�1�3�3�3� �3���
�?�
#�
#�	+�t��L�L�L��(�(�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	�1�1�3�3�3�3�3s�"#B�B�Bc��t��}|t_tddddd���|�ddddd���dS)Nr*r�r�r�r���four�fiver�r�s  r�&test_breakpoint_with_args_and_keywordsz5TestBreakpoint.test_breakpoint_with_args_and_keywordssR��%�K�K��.����1�a����+�+�+�+��1�1�!�Q����1�J�J�J�J�Jr"c	�p�d�}|t_|�ttddddd���dS)Nc��dSrr5r5r"rr�zMTestBreakpoint.test_breakpoint_with_passthru_error.<locals>.my_breakpointhook	rDr"r*r�r�r�r�r�)rzrtr�r�r}r�s  r�#test_breakpoint_with_passthru_errorz2TestBreakpoint.test_breakpoint_with_passthru_errorsB��	�	�	�.������)�Z��A�q�q�q��I�I�I�I�Ir"z-E was givenc��d|jd<td��5}td��|�d��ddd��dS#1swxYwYdS)Nr�rszbuiltins.int�7�rwrr}r�rs  r�test_envar_good_path_builtinz+TestBreakpoint.test_envar_good_path_builtins���',���#�$�
�>�
"�
"�	.�d��s�O�O�O��(�(��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�%A�A�Ac��d|jd<td��5}t��|���ddd��dS#1swxYwYdS�Nzsys.exitrsr�rs  r�test_envar_good_path_otherz)TestBreakpoint.test_envar_good_path_others���'1���#�$�
�:�
�
�	+�$��L�L�L��(�(�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+��#A
�
A�Ac��d|jd<td��5}t��|���ddd��dS#1swxYwYdS)NrArsr|)rwrr}�assert_not_calledrs  r�test_envar_good_path_noop_0z*TestBreakpoint.test_envar_good_path_noop_0s���'*���#�$�
�?�
#�
#�	%�t��L�L�L��"�"�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%r�c��d|jd<td��5}t��|���ddd��dS#1swxYwYdS)NrPrsr|r�rs  r�!test_envar_good_path_empty_stringz0TestBreakpoint.test_envar_good_path_empty_string#s���')���#�$�
�?�
#�
#�	+�t��L�L�L��(�(�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+r�c��dD]�}|�|���5||jd<|j�t	d����}|j�td�����}t
��|�t|j	��d|�d���|�|j
t��|���ddd��n#1swxYwY��dS)	N)�.z..z.foozfoo.z.intzint.z.foo.barz	..foo.barz/./�
nosuchbuiltinznosuchmodule.nosuchcallable)�envarrsr|T)�quietz*Ignoring unimportable $PYTHONBREAKPOINT: "r�)
�subTestrwrurvrrr}ror;�message�category�RuntimeWarningr�)rr�r�rs    r�test_envar_unimportablez&TestBreakpoint.test_envar_unimportable*s<���	)�	)�E����E��*�*�	
)�	
)�/4���+�,��~�3�3�E�/�4J�4J�K�K���N�0�0��d�1K�1K�1K�L�L������� � ���	�N�N�I��I�I�I�K�K�K�� � ���^�<�<�<��&�&�(�(�(�	
)�	
)�	
)�	
)�	
)�	
)�	
)�	
)�	
)�	
)�	
)����	
)�	
)�	
)�	
)��
	)�	)s�CC/�/C3	�6C3	c���d|jd<td��5}tt_t��|���ddd��dS#1swxYwYdSr�)rwrr�rzrtr}r�rs  r�#test_envar_ignored_when_hook_is_setz2TestBreakpoint.test_envar_ignored_when_hook_is_set=s���'1���#�$�
�:�
�
�	%�$�!$�C���L�L�L��"�"�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s�4A�A�"AN)r2r3r4ryr�r�r�r�r�rcrdrzr=�ignore_environmentr�r�r�r�r�r�r5r"rrqrq�sU������F�F�F�"�"�"�
4�4�4�
4�
4�
4�K�K�K�J�J�J��X�_�S�Y�1�>�B�B�.�.�C�B�.��X�_�S�Y�1�>�B�B�+�+�C�B�+��X�_�S�Y�1�>�B�B�%�%�C�B�%�+�+�+��X�_�S�Y�1�>�B�B�)�)�C�B�)�$%�%�%�%�%r"rqz,the pty and signal modules must be availablec�Z�eZdZdZed���Zd�Zd�Zdd�Zd�Z	d�Z
d	�Zd
�Zd�Z
dS)
�PtyTestszhTests that use a pseudo terminal to guarantee stdin and stdout are
    terminals in the test environmentc��dSrr5)�signum�frames  r�
handle_sighupzPtyTests.handle_sighupJs	��
	
�r"c��tjtj|j��}	|�||��tjtj|��S#tjtj|��wxYwr)�signal�SIGHUPr��
_run_child)r�child�terminal_input�
old_sighups    r�	run_childzPtyTests.run_childQs_���]�6�=�$�2D�E�E�
�	5��?�?�5�.�9�9��M�&�-��4�4�4�4��F�M�&�-��4�4�4�4���s�A�!A<c�x�tj��\}}	tj��\}}nj#tt
f$rV}tj|��tj|��|�d�|�����d}~wwxYw|dkr�	tj
d��tj|��t|d��5}||��ddd��n#1swxYwYn#tj
��YnxYwtjd��n#tjd��wxYwtj|��tj||��t|d���5}	g}
	|	������}|dkrn|
�|���C	ddd��n#1swxYwYt'|
��dkr�t)��}		tj|d	��}
n#t$rYnwxYw|
sn|�|
���@tj|��|�d
d��}|�dt'|
��|fz��tj|��t3j|d�
��|
S)Nzpty.fork() raised {}rr�rrrTrPi�r�r�z9got %d lines in pipe but expected 2, child output was:
%s)�exitcode)r'�pipe�pty�fork�OSErrorrYrT�skipTestr/r��alarmr�	traceback�	print_exc�_exitr@r ror,r%r�r!rV�decoder�r�wait_process)rr�r��rr�pid�fdr��wpipe�rpipe�linesr?�child_output�chunks              rr�zPtyTests._run_childXs.���w�y�y���1�	��h�j�j�G�C������(�	�	�	��H�Q�K�K�K��H�Q�K�K�K��M�M�0�7�7��:�:�;�;�;������		�����!�8�8�

���Q�����������!�S�\�\�!�U��E�%�L�L�L�!�!�!�!�!�!�!�!�!�!�!����!�!�!�!���
&��#�%�%�%�%�%����������������������	������
���^�$�$�$��!�g�
&�
&�
&�	#�%��E�
#��~�~�'�'�-�-�/�/���2�:�:�����T�"�"�"�
#��
	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#��u�:�:��?�?�%�;�;�L�
+���G�B��-�-�E�E�������E���������#�#�E�*�*�*�
+�
�H�R�L�L�L�'�.�.�w��A�A�L��I�I�R��U���\�2�3�
4�
4�
4�
	��������S�1�-�-�-�-��s}�/�B�AB�B� 8C<�C0�$C<�0C4�4C<�7C4�8C<�;D+�<D�D+�+E�>AG�G�G�H�
H#�"H#Nc�8���tj���rtj���s|�d����fd�}|�||dz��}|�|dddh��|ddkr|�d��t|d��}�r|��d	��}n$|�tjj	��}|�
||��dS)
Nzstdin and stdout must be ttysc�����rztjtj����d���t_tjtj����d���t_t
dtj���otj���|���t
tt�����|���dS)N�surrogateescape)r�errors�replaceztty =��file)
rU�
TextIOWrapperrzrR�detachr�print�isattyr�rS)r�rQ�stdio_encodings ��rr�z'PtyTests.check_input_tty.<locals>.child�s�����
@��,�S�Y�-=�-=�-?�-?�6D�4E�G�G�G��	� �-�c�j�.?�.?�.A�.A�7E�5>�@�@�@��
�
�'�3�9�+�+�-�-�E�#�*�2C�2C�2E�2E�E�R�R�R�R��%��f�
�
�&�&�U�3�3�3�3�3�3r"s
rz
tty = Trueztty = Falsez%standard IO in should have been a ttyr*r�)rzrRr�rr�r�r�r r�rro)rrQr�r�r�r��input_resultr3s ` `    r�check_input_ttyzPtyTests.check_input_tty�s�����y���!�!�	;���):�):�)<�)<�	;��M�M�9�:�:�:�
	4�
	4�
	4�
	4�
	4�
	4����u�n�w�&>�?�?���
�
�e�A�h��}� =�>�>�>���8�|�#�#��M�M�A�B�B�B��E�!�H�~�~���	A�%�,�,�^�=N�O�O�H�H�%�,�,�S�Y�-?�@�@�H�����x�0�0�0�0�0r"c�2�|�dd��dS)NrQsquux)r�r&s r�test_input_ttyzPtyTests.test_input_tty�s ��	
���X�w�/�/�/�/�/r"c�P�dtjvr|�d��dSdS)Nr zthe readline module is loaded)rz�modulesr�r&s r�skip_if_readlinezPtyTests.skip_if_readline�s2�����$�$��M�M�9�:�:�:�:�:�%�$r"c�\�|���|�ddd��dS)N�prompté�quux�r�r�r�r&s r�test_input_tty_non_asciiz!PtyTests.test_input_tty_non_ascii��2�����������Z��g�>�>�>�>�>r"c�\�|���|�ddd��dS)Nr�r�r�r�r&s r�'test_input_tty_non_ascii_unicode_errorsz0PtyTests.test_input_tty_non_ascii_unicode_errors�r�r"c�h�d�}|�|d��}d}|�||��dS)Nc�0�tdtj���|���t	j��t_td��tdttj�	����|���dS)Nzstdin.isatty():r�rQz	captured:)
r�rzrRr�rUrVrrSr��getvalue)r�s rr�z3PtyTests.test_input_no_stdout_fileno.<locals>.child�so���#�S�Y�%5�%5�%7�%7�e�D�D�D�D�����C�J��(�O�O�O��+�u�S�Z�%8�%8�%:�%:�;�;�%�H�H�H�H�H�Hr"squux
)zstdin.isatty(): Truezcaptured: 'prompt')r��assertSequenceEqual)rr�r�r3s    r�test_input_no_stdout_filenoz$PtyTests.test_input_no_stdout_fileno�sN��	I�	I�	I�
���u�i�0�0��
��	
� � ���1�1�1�1�1r"r)r2r3r4r+rnr�r�r�r�r�r�r�r�r�r5r"rr�r�Es�������)�)��
�
��\�
�5�5�5�>�>�>�@1�1�1�1�40�0�0�
;�;�;�?�?�?�
?�?�?�

2�
2�
2�
2�
2r"r�c�&�eZdZd�Zd�Zd�Zd�ZdS)�
TestSortedc�R�ttd����}|dd�}tj|��|�|t|����|�||��|���tj|��|�|t|d������|�||��tj|��|�|t|d�����|�||��dS)NrJc��|Srr5r0s rr�z'TestSorted.test_basic.<locals>.<lambda>�s��1�"�r"r�T)�reverse)rqrMr��shuffleror�rCr�)rr��copys   r�
test_basiczTestSorted.test_basic�s���E�#�J�J�����A�A�A�w����t��������v�d�|�|�,�,�,����D�$�'�'�'���������t��������v�d���=�=�=�>�>�>����D�$�'�'�'���t��������v�d�D�9�9�9�:�:�:����D�$�'�'�'�'�'r"c�P�tg��|�t��5tg���ddd��n#1swxYwYtgd���|�t��5tgd��ddd��dS#1swxYwYdS)N)r�r�)r�r�r�r&s r�test_bad_argumentszTestSorted.test_bad_arguments�s$���r�
�
�
�
�
�
�y�
)�
)�	 �	 ��B�����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	�r�t�����
�
�
�y�
)�
)�	�	��2�t����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A�A�A�=B�B�"Bc	���d}tttg}|D];}|�t	|��t	||�������<d�t
|����}ttttttj	g}|D];}|�t	|��t	||�������<dS)N�abracadabrarP)
rqr.r;ror��joinr��	frozensetr��fromkeys)rr�r��Ts    r�test_inputtypeszTestSorted.test_inputtypes�s������u�c�"���	6�	6�A����V�A�Y�Y��q�q��t�t���5�5�5�5��G�G�C��F�F�O�O���c�9�d�E�4�=�A���	6�	6�A����V�A�Y�Y��q�q��t�t���5�5�5�5�	6�	6r"c�v�d���}|�tt|dd���dS)Nz,The quick Brown fox Jumped over The lazy Dogc��dSr�r5r�s  rr�z.TestSorted.test_baddecorator.<locals>.<lambda>	s��Q�r")�splitr�r�r�)rr�s  r�test_baddecoratorzTestSorted.test_baddecorator	s7��=�C�C�E�E�����)�V�T�4���G�G�G�G�Gr"N)r2r3r4r�r�r�rr5r"rr�r��sU������
(�
(�
(����	6�	6�	6�H�H�H�H�Hr"r�c��eZdZd�ZdS)�ShutdownTestc��d}td|d���\}}}|�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�)�PYTHONIOENCODING�before�after)rror��
splitlines)rr6�rc�out�errs     r�test_cleanupzShutdownTest.test_cleanup	sd����2(��d�9@�B�B�B���C�����(�G�,�c�j�j�l�l�.E�.E�.G�.G�H�H�H�H�Hr"N)r2r3r4rr5r"rrr	s(������I�I�I�I�Ir"rc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestTypec��tddi��}|�|jd��|�|jd��|�|jt��|�|jtf��|�|jt��|��}|�t|��|��|�|j	|��Gd�d��}td|tfdd�i��}|�|jd��|�|jd��|�|jt��|�|j|tf��|�|jt��|�d|j��|�
d|j��|d	��}|�|d	��|�t|��|��|�|j	|��|�|���d
��|�|���d��|�|�dd
��d��dS)Nr�r5c��eZdZd�ZdS)�!TestType.test_new_type.<locals>.Bc��d|zS)Nzham%dr5r&s rrz%TestType.test_new_type.<locals>.B.ham4	s����~�%r"N)r2r3r4rr5r"rrgr3	s#������
&�
&�
&�
&�
&r"rgr�rac��d|zS)Nzspam%sr5r&s rr�z(TestType.test_new_type.<locals>.<lambda>6	s
��h��o�r"rr��ham42�spam42r��littles*)rpror2r4r3�	__bases__r�r��__base__ryr�r�rmr�rra�to_bytes)rr�r�rgr�s     r�
test_new_typezTestType.test_new_type(	so����b�"���������S�)�)�)�������-�-�-������x�0�0�0������v�i�0�0�0��
�
�a�j�&�)�)�)�
�A�C�C���
�
�d�1�g�g�q�!�!�!��
�
�a�k�1�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�
��q�#�h��)E�)E� F�G�G�������S�)�)�)�������-�-�-������x�0�0�0������q�#�h�/�/�/��
�
�a�j�#�&�&�&��
�
�f�a�j�)�)�)������
�+�+�+�
�A�b�E�E������B�����
�
�d�1�g�g�q�!�!�!��
�
�a�k�1�%�%�%���������'�*�*�*���������8�,�,�,�������A�x�0�0�+�>�>�>�>�>r"c��|�t��5tddid���ddd��n#1swxYwY|�t��5tddi���ddd��dS#1swxYwYdS)Nr�r5r�r0�r�)r�r�rpr&s r�test_type_nokwargszTestType.test_type_nokwargsF	s��
�
�
�y�
)�
)�	#�	#���b�"��"�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
�
�y�
)�
)�	#�	#���b�r�"�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#s�;�?�?� B�B�Bc�(�dD]�}|�|���5t|di��}|�|j|��|�|j|��|�|jt��ddd��n#1swxYwY��|�t��5tddi��ddd��n#1swxYwY|�t��5tddi��ddd��n#1swxYwY|�t��5tddi��ddd��n#1swxYwYtddi��}dD]�}|�|���5||_|�|j|��|�|jd��|�|jt��ddd��n#1swxYwY��tddi��}|�t��5d|_ddd��n#1swxYwY|�|jd��|�t��5d|_ddd��n#1swxYwY|�|jd��|�t��5d|_ddd��n#1swxYwY|�|jd��dS)N)r��Ä�🐍zB.A�42rPr}r5zABuA�Br=r�)
r�rpror2r4r3r�r��UnicodeEncodeErrorr�)rr~r�r�s    r�test_type_namezTestType.test_type_nameL	s���>�	9�	9�D����4��(�(�
9�
9���r�2�&�&��� � ���T�2�2�2�� � ����6�6�6�� � ���x�8�8�8�	
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9��
�
�
�z�
*�
*�	#�	#���2�r�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
�
�1�
2�
2�	%�	%���R��$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�
�
�y�
)�
)�	�	���r�2����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
��b�"����>�	9�	9�D����4��(�(�
9�
9�!��
�� � ���T�2�2�2�� � ����5�5�5�� � ���x�8�8�8�	
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9��
��b�"����
�
�
�z�
*�
*�	"�	"�!�A�J�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"������S�)�)�)�
�
�
�1�
2�
2�	$�	$�#�A�J�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$������S�)�)�)�
�
�
�y�
)�
)�	�	��A�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������S�)�)�)�)�)s��A(B�B	�B	�5C�C�C�8D�D�D�;E�E� E�AG9�9G=	�G=	�0I�I�I�J�J�J�K,�,K0�3K0c��tddddi��}|�|jd��|�|jd��|�|jt��|�t��5tddddi��ddd��n#1swxYwY|�|jd��d|_|�|jd��|�|jd��|�t��5d|_ddd��n#1swxYwY|�|jd��dS)Nr�r5r4zB.C�BzD.E)rpror2r4r3r�r�)rr�s  r�test_type_qualnamezTestType.test_type_qualnamem	s�����b�>�5�1�2�2�������S�)�)�)�������/�/�/������x�0�0�0�
�
�
�y�
)�
)�	2�	2���b�>�4�0�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�������/�/�/���������S�)�)�)�������/�/�/�
�
�
�y�
)�
)�	"�	"�!�A�N�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�������/�/�/�/�/s$�B$�$B(�+B(�!D5�5D9�<D9c��dD]0}tddd|i��}|�|j|���1|�t��5tddddi��ddd��n#1swxYwYtddi��}|�|jd��dD]$}||_|�|j|���%dS)N)r�r!r"�xy�xr�Nr�r5r+�x�y)r�r!r"r*r,r+r�N)rpror+r�r$)rr'r�s   r�
test_type_doczTestType.test_type_doc}	s)��F�	-�	-�C��S�"�y�#�.�/�/�A����Q�Y��,�,�,�,�
�
�
�1�
2�
2�	3�	3���b�9�j�1�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
��b�"���������D�)�)�)�R�	-�	-�C��A�I����Q�Y��,�,�,�,�	-�	-s�A.�.A2�5A2c��|�t��5t��ddd��n#1swxYwY|�t��5tdd��ddd��n#1swxYwY|�t��5tddid��ddd��n#1swxYwY|�t��5tddi���ddd��n#1swxYwY|�t��5tdgi��ddd��n#1swxYwY|�t��5tddtji����ddd��n#1swxYwY|�t��5tddi��ddd��n#1swxYwY|�t��5tdt
fi��ddd��n#1swxYwY|�t��5tdttfi��ddd��dS#1swxYwYdS)Nr�r5rr)r�r�rpr��MappingProxyTyperQr�r;r&s r�
test_bad_argszTestType.test_bad_args�	sl��
�
�
�y�
)�
)�	�	��F�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	���b�M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	"�	"���b�"�b�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	#�	#���b�r�"�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
�
�y�
)�
)�	�	���b�"����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	6�	6���b�%�0��4�4�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
�
�
�y�
)�
)�	#�	#���g�r�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
�
�y�
)�
)�	#�	#���t�g�r�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
�
�y�
)�
)�	&�	&���s�C�j�"�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s��6�:�:�A8�8A<�?A<�B<�<C�C�!D�D�D�%E�E�
E�($F�F�F�=G�G�"G�H$�$H(�+H(�	I4�4I8�;I8c��|�t��5tddddi��ddd��n#1swxYwY|�t��5tdtfddi��ddd��n#1swxYwY|�t��5tddddi��ddd��n#1swxYwY|�t��5tddddi��ddd��n#1swxYwY|�t��5tddddi��ddd��n#1swxYwY|�t��5tdddd	d
���ddd��n#1swxYwY|�t��5tddddi��ddd��n#1swxYwY|�t��5tddddi��ddd��n#1swxYwYGd
�d��}|�t��5td|fddi��ddd��n#1swxYwY|�t��5td|fddi��ddd��dS#1swxYwYdS)Nr�r5rvr+r�rPr#r*r)rvr�)rmrm)�__weakref__r2c��eZdZdS)�"TestType.test_bad_slots.<locals>.BNr�r5r"rrgr4�	r�r"rgrmr2)r�r�rpr�r�)rrgs  r�test_bad_slotszTestType.test_bad_slots�	sf��
�
�
�y�
)�
)�	/�	/���b�;��-�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�
�
�
�y�
)�
)�	2�	2���s�f�{�C�0�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�
�
�
�y�
)�
)�	-�	-���b�;��+�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�
�
�
�y�
)�
)�	/�	/���b�;��-�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�
�
�
�y�
)�
)�	3�	3���b�;��1�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�z�
*�
*�	6�	6���b��!�4�4�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
�
�
�y�
)�
)�	C�	C���b�;�(@�A�B�B�B�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�
�
�
�y�
)�
)�	I�	I���b�;�(F�G�H�H�H�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	�	�	�	�	�	�	�	�
�
�
�y�
)�
)�	7�	7���q�d�[�*�5�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�
�
�y�
)�
)�	:�	:���q�d�[�-�8�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s��;�?�?� B�B
�
B
�+C�C�C�0D�D�D�5E�E�E�:F�F�"F�G � G$�'G$�H%�%H)�,H)�I8�8I<�?I<�J?�?K�Kc�H�tjddg��}|�d��t|�����}tdd|��}|�t|j�����dd�ddg��dS)N)r�r*)r�r�r�r�r5r�)r��OrderedDict�move_to_endrqr�rprorm)r�odr3r�s    r�test_namespace_orderzTestType.test_namespace_order�	s���
�
$�h��%9�
:�
:��
���s��������
�
�#�#����b�"��������a�j�.�.�0�0�1�1�"�1�"�5��(�7K�L�L�L�L�Lr"N)r2r3r4rrr%r(r-r0r5r:r5r"rrr'	s�������?�?�?�<#�#�#�*�*�*�B0�0�0� -�-�-�&�&�&�(:�:�:�2M�M�M�M�Mr"rc�X�ddlm}|�|t����|S)Nr)�DocTestSuite)�doctestr<�addTestr)�loader�tests�patternr<s    r�
load_testsrB�	s5��$�$�$�$�$�$�	�M�M�,�,�x�(�(�)�)�)��Lr"r�)Nr,rQrr�rsrurRrUr)r'rlrir�rErzr�r�rcr��
contextlibr�	functoolsr�inspectr�	itertoolsr�textwraprrr	r
�operatorrrr�test.supportr
r�test.support.os_helperrrr�test.support.script_helperr�test.support.warnings_helperr�
unittest.mockrrr�r�r�rr7r=r�r�r�r;rg�test_conv_no_sign�test_conv_signrSr[rdrh�TestCaserjrq�
skipUnlessr�r�rrrBr2�mainr5r"r�<module>rSs����
�
�
���������������������	�	�	�	�	�	�	�	�
�
�
�
�	�	�	�	�
�
�
�
�����
�
�
�
�	�	�	�	�
�
�
�
����������������� � � � � � ������� � � � � � �������������<�<�<�<�<�<�<�<�<�<�������������A�A�A�A�A�A�A�A�H�H�H�H�H�H�H�H�H�H�7�7�7�7�7�7�7�7�7�7�7�7�*�*�*�*�*�*�*�*������������������C�&�&�&������������� ��������$
�
�
�
�
�
�
�
�
	���������$�	
��c�k�	�	�C�K�(�	����	�Z� �	�Z��	�j��	�Z� �	��
$�%9�	:�	:�C�@�	��U���Z� �'��.	�������	����	�
�+�	
��c�k�	�	�C�K�(�	���	�*��	�Z� �	�Z��	�j��	�Z� �	��
$�%9�	:�	:�C�@�	��U���Z� �'��,����������������������P1�P1�P1�P1�P1�(�#�P1�P1�P1�f:f%�f%�f%�f%�f%�X�&�f%�f%�f%�R���S�H�I�I�R2�R2�R2�R2�R2�x� �R2�R2�J�I�R2�h(H�(H�(H�(H�(H��"�(H�(H�(H�VI�I�I�I�I�8�$�I�I�I�DWM�WM�WM�WM�WM�x� �WM�WM�WM�t���
�z����H�M�O�O�O�O�O��s�(B1�1	B=�<B=