Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/test/test_inspect/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/test/test_inspect/__pycache__/test_inspect.cpython-312.opt-1.pyc

�

)Μg�0��
�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ddlZddlZddlZddlZddlZddlZddlmZddlZddlZddlZddlZddlZ	ddlmZddlmZddlm Z m!Z!ddl"m#Z#m$Z$ddl%m&Z&dd	l'm(Z(m)Z)dd
l*m+Z+ddl,m-Z.ddl,m/Z0dd
l,m1Z1ddl,m2Z2ddl,m3Z3ddl,m4Z4e.jjZ6e6jod�re6ddZ6e
e6�Z6d�Z8e.jr�Z:d�Z;d�Z<d�Z=dj}�Z?Gd�dej��ZAd�ZBd�ZCd�ZDej�d��ZFGd�deA�ZGGd �d!eA�ZHGd"�d#ej��ZIGd$�d%�ZJGd&�d'eI�ZKGd(�d)ej��ZLGd*�d+eI�ZMGd,�d-eI�ZNGd.�d/eI�ZOGd0�d1eI�ZPGd2�d3eI�ZQGd4�d5eI�ZRGd6�d7eI�ZSGd8�d9eT�ZUGd:�d;eT�ZVd<�ZWGd=�d>ej��ZXGd?�d@ej��ZYGdA�dBej��ZZeT�Z[GdC�dDej��Z\GdE�dFej��Z]GdG�dHe]�Z^GdI�dJe^�Z_GdK�dLej��Z`GdM�dNej��ZaGdO�dPej��Zbe+j��GdQ�dRej���ZeGdS�dTej��ZgGdU�dVej��ZiGdW�dXej��ZjGdY�dZej��ZkGd[�d\ej��ZlGd]�d^ej��ZmGd_�d`ej��ZnGda�dbej��ZoGdc�dd�ZpGde�dfej��ZqGdg�dhej��ZrGdi�djej��Zsetdkk(rej��yy#e$rdZY���wxYw)l�N��normcase)�Unpack)�ThreadPoolExecutor)�cpython_only)�MISSING_C_DOCSTRINGS�	ALWAYS_EQ)�
DirsOnSysPath�ready_to_import)�TESTFN)�assert_python_ok�assert_python_failure)�support)�inspect_fodder)�inspect_fodder2)�inspect_stock_annotations)�inspect_stringized_annotations)� inspect_stringized_annotations_2)�%inspect_stringized_annotations_pep695)�c�o���c� �t|�f|zS�Nr)�filename�argss  �;/usr/local/lib/python3.12/test/test_inspect/test_inspect.py�reviserBs���X�� �4�'�'�c�P�tjrtjd�yyr)r�has_socket_support�asyncio�set_event_loop_policy�rr�tearDownModuler%Hs���!�!��%�%�d�+�"rc#�K�gd�}tddt|�z�D]i}g}d}tt|��D]}|||zzs�|j||��!ddj|�zdz}i}t	|||�|d���ky�w)	z�
    Yields a whole bunch of functions with only keyword-only parameters,
    where those parameters are always in lexicographically sorted order.
    )�a�barr�delta�ephraim�magical�yoyo�z��zdef foo(*, z, z): pass�fooN)�range�len�append�join�exec)�
parameters�i�p�bit�j�fn_text�symbolss       r�5signatures_with_lexicographic_keyword_only_parametersr=Ms�����
O�J�
�1�a��Z��(�
)�������s�:��'�A��C�1�H�~�����A��'�(� �$�)�)�A�,�.��:�����W�g�w�'��e�n��*�s
�AB�ABc��yrr$)�throw�out�the�baby�with_�the_�	bathwaters       r�#unsorted_keyword_only_parameters_fnrF_s��rz'throw out the baby with_ the_ bathwaterc�r�eZdZeej
ejejejejejejejejejejej ej"ej$ej&g�Zd�Zd�Zy)�
IsTestBasec	��t|�}|j||�|j�d|�d��|jt	|g�z
D]x}|t
jk(s&|t
jk(s|t
jk(r|t
jk(r�P|j||�d|j�d|�d���zy)N�(�)znot )�eval�
assertTrue�__name__�
predicates�set�inspect�isgeneratorfunction�isasyncgenfunction�iscoroutinefunction�
isfunction�assertFalse)�self�	predicate�exp�obj�others     r�istestzIsTestBase.istestns����3�i�����	�#��I�4F�4F��(L�M��_�_�s�I�;�'7�7�E��W�8�8�8��G�6�6�6��G�7�7�7���*�*�*�����U�3�Z�����)M�N�
8rc�<�tj|td��y)N)�
modulesbyfile)�not_exported)r�check__all__rQ�rWs r�test__all__zIsTestBase.test__all__zs�����T�7�9K�LrN)rN�
__module__�__qualname__rPrQ�	isbuiltin�isclass�iscode�isframerU�ismethod�ismodule�istraceback�isgeneratorrR�iscoroutinerT�
isasyncgenrS�ismethodwrapperrOr\rbr$rrrHrHes����g�'�'����'�.�.��o�o�w�'9�'9�7�;K�;K��&�&��(;�(;��)�)�7�+F�+F��)�)�7�+F�+F��(�(�'�*D�*D��-�-�
/�0�J�
O�MrrHc#�4K�td�D]}|���y�w�Nr/�r1�rWr7s  r�generator_function_examplert}s����
�1�X�������c�FK�td�23d{���}|����7�
6y�wrqrrrss  r� async_generator_function_examplerw�s!������8��a�����8�s�!����!��!c��K�y�w�N�spamr$ras r�coroutine_function_exampler{�s	�������c#�K�d��y�wryr$ras r�gen_coroutine_function_exampler~�s����	����c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�TestPredicatesc	��|jtjd�|jtjd�|jtjd�	ddzda|jtj d
�|jtj d�|jtj"d�|jtj"d
�|jtj$d�|jtj&d�|jtj(d�|jtj*d�|jtj,d�|jtj.d�t1j2�5t1j4d�|jtj6d�|jtj8d�ddd�ttd�r!|jtj:d�n<|jtj:t<j>j@��|jtjBd�|jtjBd�|jtjBd�|jtjBt��|jtjBtD��|jtjBtddi���y#t$r�}|j
a|jtjd�|jtjd�ttd�r!|jtjd	�nE|jtjttj�j��Yd}~���d}~wwxYw#dawxYw#1swY��7xYw)Nzsys.exitz	[].appendzmod.spam.__code__r.rztb.tb_frame�tb�GetSetDescriptorTypeztype(tb.tb_frame).f_localszmod.spamzmod.StupidGit.abusez	git.arguezmod.custom_method�modz'collections.defaultdict.default_factoryz(x for x in range(2))rtz#async_generator_function_example(1)rw�ignorezcoroutine_function_example(1)r{�MemberDescriptorTypezdatetime.timedelta.dayszobject().__str__zobject().__eq__zobject().__repr__�AnyClassr$)#r\rQrerg�	Exception�
__traceback__r�rhrk�hasattr�types�isgetsetdescriptorrV�type�tb_frame�f_localsrUrirj�isdatadescriptorrlrRrnrS�warnings�catch_warnings�simplefilterrmrT�ismemberdescriptor�datetime�	timedelta�daysro�int�rW�es  r�test_excluding_predicatesz(TestPredicates.test_excluding_predicates�s������G�%�%�z�2����G�%�%�{�3����G�N�N�$7�8�
	�
�a�C��B����G�&�&�
�3����G�&�&�(=�>����G�$�$�k�2����G�$�$�&9�:����G�$�$�e�,����G�,�,�.W�X����G�'�'�)@�A����G�/�/�1M�N����G�&�&�9�	;����G�.�.�6�	8��
$�
$�
&��!�!�(�+��K�K��+�+�-L�M��K�K��3�3�5Q�R�'�
�5�0�1��K�K��2�2�4M�N����W�7�7��8J�8J�8O�8O�P�Q����G�+�+�-?�@����G�+�+�->�?����G�+�+�-@�A�����0�0��6�7�����0�0��5�6�����0�0��j�"�b�1I�J�K��O�	Y����B��K�K�����7��K�K��+�+�T�2��u�4�5����G�6�6�8�:�� � ��!;�!;�D����<M�<V�<V�!W�X���	Y���B��'�
&�s8�"M(�=AQ�(	P>�1CP9�3Q�9P>�>Q�Q�Qc	�6��td�}td�}td�}|jt	j
t��|jt	j
t
jt
jt����|jt	j
t��|jt	j|��|jt	jt��|jt	jt
jt
jt����|jt	j|��d��tj�fd��}|jt	j
|��|jt	j
t	j�fd����Gd�d�}|jt	j
|��|jt	j
|���|jt	j
t	j|����Gd�d�}|jt	j
|��|jt	j
|���|jt	j
t	j|����Gd	�d
�}|jt	j
|j��|jt	j
|j��|jt	j
tj j#���|jt	j
tj j%���|jt	j
t��|jt	j
t
jt
jt����|jt	j|��|jt	jtj j#���|jt	jtj j%���|jt	jt��|jt	jt
jt
jt����|jt	j|��|jt	j&tj j#���|jt	j&tj j%���|jt	j&t��|jt	j&t��|jt	j&t
jt
jt����|jt	j(|��|j+�|j+�y)Nr.c��K�y�wrr$r$rr�_fn3z-TestPredicates.test_iscoroutine.<locals>._fn3�s	�����r|c�����Srr$�r�s�r�fn3z,TestPredicates.test_iscoroutine.<locals>.fn3�s
����6�Mrc�����Srr$r�s�r�<lambda>z1TestPredicates.test_iscoroutine.<locals>.<lambda>�s���d�frc��eZdZd�Zy)�+TestPredicates.test_iscoroutine.<locals>.Clc��K�y�wrr$ras r�__call__z4TestPredicates.test_iscoroutine.<locals>.Cl.__call__�s	�����r|N�rNrcrdr�r$rr�Clr�����
rr�c�0�eZdZejd��Zy)�,TestPredicates.test_iscoroutine.<locals>.Cl2c��yrr$ras rr�z5TestPredicates.test_iscoroutine.<locals>.Cl2.__call__����rN)rNrcrdrQ�markcoroutinefunctionr�r$rr�Cl2r��s��
�
*�
*�
�+�
rr�c�h�eZdZejed���Zejed���Zy)�,TestPredicates.test_iscoroutine.<locals>.Cl3c��yrr$��clss r�do_something_classyz@TestPredicates.test_iscoroutine.<locals>.Cl3.do_something_classy����rc��yrr$r$rr�do_something_staticz@TestPredicates.test_iscoroutine.<locals>.Cl3.do_something_staticr�rN)	rNrcrdrQr��classmethodr��staticmethodr�r$rr�Cl3r��sD��
�
*�
*�
�
��+�
��
*�
*�
�
��+�
rr�)rwr~r{rVrQrT�	functools�partialrmrMrRrlr�r�r��unittest�mock�Mock�	AsyncMockrSrn�close)	rW�async_gen_coro�gen_coro�coror�r�r�r�r�s	        @r�test_iscoroutinezTestPredicates.test_iscoroutine�s���9�!�<��1�!�4��)�!�,������'�'�(F�G�	I�����'�'��!�!�)�"3�"3�2�#4�5�
6�	7�	
����4�4�W�=�>�����,�,�X�6�7�����'�'�(F�G�	I�����'�'��!�!�)�"3�"3�2�#4�5�
6�	7�	
����+�+�H�5�6�	�
�	&�	&�	�
'�	�	
����3�3�C�8�9�����'�'��-�-�n�=�
�	
�	�	�	
����4�4�R�8�9�����4�4�R�T�:�;�����3�3��)�)�"�$�/�
�	�	�	�
	
����4�4�S�9�:�����4�4�S�U�;�<�����3�3��)�)�#�%�0�
�	�		�		�	
����3�3�C�4K�4K�L�M�����3�3�C�4K�4K�L�M�����'�'��
�
�(:�(:�(<�=�	?�����'�'��
�
�(?�(?�(A�B�	D�����'�'�(B�C�	E�����'�'��!�!�)�"3�"3�.�#0�1�
2�	3�	
����+�+�D�1�2�����'�'��
�
�(:�(:�(<�=�	?�����'�'��
�
�(?�(?�(A�B�	D�����'�'�(B�C�	E�����'�'��!�!�)�"3�"3�.�#0�1�
2�	3�	
����,�,�T�2�3�����&�&�x�}�}�'9�'9�';�<�	>�����&�&�x�}�}�'>�'>�'@�A�	C�����&�&�'A�B�	D�����&�&�'G�H�	J�����&�&��!�!�)�"3�"3�4�#6�7�
8�	9�	
����*�*�>�:�;��
�
��h�n�n�&rc��d�}|jtj|���td�}t	d�}|jtj|��|jtj|��Gd�d�}|jtj|���|jtj|��Gd�d�}|�}d�|_|jtj|��|j�|j�y)Nc3�K�d��y�wrr$r$rr�genz,TestPredicates.test_isawaitable.<locals>.gen5s����5�rr.c��eZdZd�Zy)�/TestPredicates.test_isawaitable.<locals>.Futurec��yrr$r$rr�	__await__z9TestPredicates.test_isawaitable.<locals>.Future.__await__?���rN)rNrcrdr�r$rr�Futurer�>r�rr�c��eZdZy)�2TestPredicates.test_isawaitable.<locals>.NotFutureN�rNrcrdr$rr�	NotFuturer�D��rr�c��yrr$r$rrr�z1TestPredicates.test_isawaitable.<locals>.<lambda>F���Dr)rVrQ�isawaitabler{r~rMr�r�)rWr�r�r�r�r��not_futs       r�test_isawaitablezTestPredicates.test_isawaitable4s��������,�,�S�U�3�4�)�!�,��1�!�4������+�+�D�1�2�����+�+�H�5�6�	�	�	
����+�+�F�H�5�6�����,�,�V�4�5����+��(�������,�,�W�5�6��
�
��h�n�n�&rc	�	�|jtjtj��|jtjt
j��|jtjgj��|jtjt
j��|jtjt
jj��|jtjtj��|jtjtj��|jtjtj��|jtjtj��|jtjt�j��|jtjt�j��|jtjt�j��|jtjdj��|jtjt j"��|jtjt$j&��|jtjdj"��|jtjgj&��|j)tjt��|j)tjt���|j)tjt!���|j)tjt
��|j)tjt*��|j)tjt��|j)tjt+ddi���y)N�*��
some_classr$)rMrQ�	isroutine�git�arguer��
custom_method�countrz�	StupidGit�abuse�object�__init__�__str__�__lt__r��strr4�listr3rVr�ras r�test_isroutinezTestPredicates.test_isroutineKs�������)�)�#�)�)�4�5�����)�)�#�*;�*;�<�=�����)�)�"�(�(�3�4�����)�)�#�(�(�3�4�����)�)�#�-�-�*=�*=�>�?�����)�)�&�/�/�:�;�����)�)�&�.�.�9�:�����)�)�&�-�-�8�9�����)�)�#�*�*�5�6�����)�)�&�(�*;�*;�<�=�����)�)�&�(�*:�*:�;�<�����)�)�&�(�/�/�:�;�����)�)�2�+�+�6�7�����)�)�#�(�(�3�4�����)�)�$�+�+�6�7�����)�)�"�'�'�2�3�����)�)�"�)�)�4�5�����*�*�6�2�3�����*�*�6�8�4�5�����*�*�3�5�1�2�����*�*�3�/�0�����*�*�4�0�1�����*�*�3�/�0�����*�*�4��b�"�+E�F�Grc��|jtjd�|jtjt��Gd�dt
�}|j
tj|���y)Nz
mod.StupidGitc��eZdZd�Zy)�2TestPredicates.test_isclass.<locals>.CustomGetattrc��yrr$�rW�attrs  r�__getattr__z>TestPredicates.test_isclass.<locals>.CustomGetattr.__getattr__r���rN�rNrcrdr�r$rr�
CustomGetattrr�q���
rr�)r\rQrfrMr�r�rV)rWr�s  r�test_isclasszTestPredicates.test_isclassmsP�����G�O�O�_�5��������-�.�	�F�	�	
��������9�:rc���Gd�dt�}|�}d|_ttj|��}|jd|�|j
d|�y)Nc��eZdZdZy)�/TestPredicates.test_get_slot_members.<locals>.C�r'�bN�rNrcrd�	__slots__r$rr�Cr�ws��"�Irrr�r'r�)r�r'�dictrQ�
getmembers�assertIn�assertNotIn)rWr�x�memberss    r�test_get_slot_membersz$TestPredicates.test_get_slot_membersvsO��	#��	#�
�C������w�)�)�!�,�-���
�
�c�7�#�����g�&rc����ddlm}m�G�fd�d|��}Gd�d|�}|�}|jt	j
|��|j
t	j
|��|j
t	j
|��|j
t	j
t��|j
t	j
d��y)	Nr��ABCMeta�abstractmethodc� ��eZdZW�d��Zy)�<TestPredicates.test_isabstract.<locals>.AbstractClassExamplec��yrr$ras rr0z@TestPredicates.test_isabstract.<locals>.AbstractClassExample.foo�r�rN�rNrcrdr0�rs�r�AbstractClassExampler�s���
�
��
rr��	metaclassc��eZdZd�Zy)�4TestPredicates.test_isabstract.<locals>.ClassExamplec��yrr$ras rr0z8TestPredicates.test_isabstract.<locals>.ClassExample.foo�r�rNrr$rr�ClassExampler�r�rr�)�abcrrrMrQ�
isabstractrVr�)rWrrrr'rs     @r�test_isabstractzTestPredicates.test_isabstracts����/�	�W�	�	�/�	�
�N��	
����*�*�+?�@�A�����+�+�L�9�:�����+�+�A�.�/�����+�+�C�0�1�����+�+�A�.�/rc���	�ddlm}m�g�	G�	fd�d|��}G�fd�d|�}Gd�d	|�}|j�	d
dg��	j	�Gd�d
|�}Gd�d|�}Gd�d|�}|j�	gd��y)Nrr
c���eZdZ�fd�Zy)�LTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractCheckerc�N���jtj|��yr)r3rQr)r��isabstract_checkss �r�__init_subclass__z^TestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractChecker.__init_subclass__�s���!�(�(��);�);�C�)@�ArN)rNrcrdr")r!s�r�AbstractCheckerr�s	���
Brr#rc� ��eZdZW�d��Zy)�QTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractClassExamplec��yrr$ras rr0zUTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractClassExample.foo�r�rNrrs�rrr%�s���
�
��
rrc��eZdZd�Zy)�ITestPredicates.test_isabstract_during_init_subclass.<locals>.ClassExamplec��yrr$ras rr0zMTestPredicates.test_isabstract_during_init_subclass.<locals>.ClassExample.foo�r�rNrr$rrrr(�r�rrTFc��eZdZy)�JTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractChildNr�r$rr�
AbstractChildr+����rr,c��eZdZy)�OTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractGrandchildNr�r$rr�AbstractGrandchildr/�r-rr0c��eZdZy)�OTestPredicates.test_isabstract_during_init_subclass.<locals>.ConcreteGrandchildNr�r$rr�ConcreteGrandchildr2�r-rr3)TTF)rrr�assertEqual�clear)
rWrr#rrr,r0r3rr!s
        @@r�$test_isabstract_during_init_subclassz3TestPredicates.test_isabstract_during_init_subclass�s����/���	B��	B�	�?�	�	�/�	�	
���*�T�5�M�:����!�	�0�	�	��	�	��	����*�,?�@rN)rNrcrdr�r�r�r�r�rrr6r$rrr�r��s1��.L�dq(�f'�. H�D;�'�0�,Arr�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestInterpreterStackc�x�tjj|g|��i|��tj	ddd�y)N���	)r��TestCaser�r�r��rWr�kwargss   rr�zTestInterpreterStack.__init__�s0�����"�"�4�9�$�9�&�9��	�	�!�Q��rc��|jtjd�|jtjd�y)Nzgit.ex.__traceback__zmod.fr)r\rQrkrhras r�test_abuse_donez$TestInterpreterStack.test_abuse_done�s)�����G�'�'�)?�@����G�O�O�X�.rc	��|jttj�dk\�tj^}}}}}t	|dd�}|j|tdddgdf�|j|jtjdddd��t	|dd�}|j|tdd	d
gdf�|j|jtjdddd��t	|dd�}|j|td
ddgdf�|j|jtjd
d
dd��t	|dd�}|j|tdddgdf�|j|jtjdddd��tjd}|j|jtj�|j|jd�|j|jtj�|j|j d�|j#d|j$d�|j|j&d�y)Nrr.��eggsz    st = inspect.stack()
rr<�rz�    eggs(b + d, c + f)
���+r��            spam(a, b, c)
���'r�z        self.argue(a, b, c)
r;�zinspect.stack())rMr2r��strr4�modfile�	positions�dis�	Positions�assertIs�frame�fr�linenor�__file__�functionr�code_context�index)rW�frame1�frame2�frame3�frame4�_�	frameinfo�records        r�
test_stackzTestInterpreterStack.test_stack�s ������C�F�F��q�(�)�-0�V�V�*�������F�1�2�J�'�	������r�6�$@�#A�1�
E�	G�����)�)�3�=�=��R��B�+G�H��F�1�2�J�'�	������q�&�#=�">��
B�	D�����)�)�3�=�=��A�q�"�+E�F��F�1�2�J�'�	������r�7�%B�$C�Q�
G�	I�����)�)�3�=�=��R��R�+H�I��F�1�2�J�'�	������r�7�%D�$E�q�
I�	K�����)�)�3�=�=��R��B�+G�H��������
�
�f�l�l�C�F�F�+��������+�������#�,�,�7�������&�1��
�
�'��)<�)<�Q�)?�@�������q�)rc	��|jttj�d�tj\}}}|jt	|dd�t
dddgdf�|j|jtjdddd��|jt	|dd�t
d	d
dgdf�|j|jtjd	d	dd
��|jt	|dd�t
dddgdf�|j|jtjdddd��y)N�r.rIr�rJrrKrLr<rzrFrGrH�rDz    q = y / 0
r;�
)	r4r2r��trrrPrQrRrS)rWr\r]r^s    r�
test_tracezTestInterpreterStack.test_trace�s"������S�V�V��a�(�"%�&�&�������������,��r�7�%B�$C�Q�
G�	I�����)�)�3�=�=��R��R�+H�I���������,��q�&�#=�">��
B�	D�����)�)�3�=�=��A�q�"�+E�F���������,��r�6�$5�#6��
:�	<�����)�)�3�=�=��R��B�+G�Hrc�@�tjtj�\}}}}|j	|ddg�|j	|d�|j	|d�|j	|dddd��|j	tj
||||�d�y)Nr�y��)rr8rkz(x=11, y=14))rQ�getargvaluesr�rVr4�formatargvalues�rWr�varargs�varkw�localss     r�
test_framezTestInterpreterStack.test_frame�s���'.�';�';�C�F�F�'C�$��g�u�f������S�z�*�����$�'������%�����r���!<�=�����0�0��w��v�N�'�	)rc�(�tjtjj�\}}}}|j|gd��|j|d�|j|d�|jtj||||�d�y)N)r'r�r�dr��f�g�hz-(a=7, b=8, c=9, d=3, e=4, f=5, *g=(), **h={}))rQrnr�rV�f_backr4rorps     r�test_previous_framez(TestInterpreterStack.test_previous_frame�sx��'.�';�';�C�F�F�M�M�'J�$��g�u�f�����=�>�����#�&������$�����0�0��w��v�N�
<�	>rN)	rNrcrdr�rArcrirtr{r$rrr8r8�s!���
/�*�8I�)�>rr8c�"�eZdZdZd�Zd�Zd�Zy)�
GetSourceBaseNc��ttj|j�d��5}|j	�|_ddd�y#1swYyxYw)N�utf-8��encoding)�openrQ�
getsourcefile�fodderModule�read�source)rW�fps  r�setUpzGetSourceBase.setUp�s:��
�'�'�'��(9�(9�:�W�
M�QS��'�'�)�D�K�N�
M�
M�s�A
�
Ac�x�|jjd�}dj||dz
|�|rdzSdzS)N�
r.r�)r��splitr4)rW�top�bottom�liness    r�sourcerangezGetSourceBase.sourcerange�s?�����!�!�$�'���y�y��s�1�u�V�,�-���H�H�R�H�Hrc�n�|jtj|�|j||��yr)r4rQ�	getsourcer�)rWrZr�r�s    r�assertSourceEqualzGetSourceBase.assertSourceEqual�s-������*�*�3�/��)�)�#�v�6�	8r)rNrcrdr�r�r�r�r$rrr}r}�s���L�$�I�8rr}c��eZdZdZddd�Zy)�SlotUserzDocstrings for __slots__�measured in kilowatts�measured in kilometers)�power�distanceN)rNrcrd�__doc__rr$rrr�r�s���1�5�7�Irr�c�n�eZdZeZd�Zd�Zeje	jjdk\d�d��Zeje	jjdk\d�d��Z
ejed�d��Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TestRetrievingSourceCodec��tjttj�}|j	|dtj
fdtjfdtjfdtjfdtjfdtjfg�tj|D�cgc]}|d��	c}�}|j	|tdftjtfftj
tjtjffgtjtfftjtjfftj
tjtjffggtjtffgg�tj|D�cgc]}|d��	c}d	�}|j	|tdftjtfftjtfftjtjfftj
tjtjffggtjtffgg�ycc}wcc}w)
N�FesteringGob�MalodorousPervert�ParrotDroppingsr��Tit�
WhichCommentsr.r$T)rQrr�rfr4r�r�r�r�r��getclasstreer�)rW�classesr��trees    r�test_getclassesz(TestRetrievingSourceCode.test_getclasses
s0���$�$�S�'�/�/�:������)�3�+;�+;�<�.��0E�0E�F�,�c�.A�.A�B�&��
�
�6� �#�"7�"7�8�*�C�,=�,=�>��	��#�#�w�$?�w��S��V�w�$?�@������!�2�,��/�/�&��;� �-�-��0E�0E�36�3F�3F�0H�I�� �M�M�F�9�5� �2�2�S�]�]�4D�E�!�.�.��1F�1F�47�4G�4G�1I�J���
!�.�.��	�;��
�	��#�#�w�$?�w��S��V�w�$?��F������!�2�,��/�/�&��;��M�M�F�9�5� �2�2�S�]�]�4D�E�!�.�.��1F�1F�47�4G�4G�1I�J���
!�.�.��	�;��
�	��#%@�� %@s�4I9�7I>c��tjttj�}|j	|dtj
fdtjfdtjfdtjfg�y)N�
after_closingrD�lobbestrz)	rQrr�rUr4r�rDr�rz)rW�	functionss  r�test_getfunctionsz*TestRetrievingSourceCode.test_getfunctions2s`���&�&�s�G�,>�,>�?�	�����o�s�7H�7H�%I�&,�c�h�h�%7�&/����%=�&,�c�h�h�%7�%9�	:rr/z)Docstrings are omitted with -O2 and abovec���|jtjt�d�|jtjtj�d�|jtjt
j�d�|jtjtj�d�|jtjtj�d�y)NzA module docstring.�A longer,

indented

docstring.�$Another

docstring

containing

tabsr�r�)
r4rQ�getdocr�r�r�r�r�r�r�ras r�test_getdocz$TestRetrievingSourceCode.test_getdoc9s���	
�������,�.C�D��������
�
�6�>�	@��������	�	�2�E�	G����������7�0�	2��������(9�(9�:�1�	3rc���|jtjtj�d�|jtjtjj
�d�|jtjtj�j
�d�|jtjtjj�d�y)Nr�r�zThe automatic gainsaying.)r4rQr�r�r�r��
contradictionras r�test_getdoc_inheritedz.TestRetrievingSourceCode.test_getdoc_inheritedFs���	
�������(8�(8�9�>�	@��������(8�(8�(>�(>�?�E�	G��������(8�(8�(:�(@�(@�A�E�	G��������(8�(8�(F�(F�G�4�	6rztest requires docstringsc�p�tj}|j|t�tj�|j|tj
�tj
j�|j|t�j
�tj
j�|j|tj�tjj�|j|tj�tjj�yr)rQ�_finddocr4r�r��to_bytes�
from_bytes�real)rW�finddocs  r�test_finddocz%TestRetrievingSourceCode.test_finddocRs����"�"��������s�{�{�3��������.����0D�0D�E���������0�#�,�,�2F�2F�G��������0�#�.�.�2H�2H�I��������*�C�H�H�,<�,<�=rc�N�|jtjd�d�y)NzAn
    indented
    docstring.zAn
indented
docstring.)r4rQ�cleandocras r�
test_cleandocz&TestRetrievingSourceCode.test_cleandoc[s!������)�)�*L�M�3�	5rc���|jtjt�d�|jtjtj�d�|jtjt
j�d�tddd�}|jtj|��|jtjt��y)N�	# line 1
z
# line 20
z# line 159
�x=1z_non_existing_filename.pyr5)
r4rQ�getcommentsr�r��mod2�cls160�compile�assertIsNoner�)rW�cos  r�test_getcommentsz)TestRetrievingSourceCode.test_getcomments_s�������,�,�S�1�<�@�����,�,�S�]�]�;�]�K�����,�,�T�[�[�9�>�J�
�U�7��
@�����'�-�-�b�1�2����'�-�-�d�3�4rc��|jtjt�t�|jtjtj�t�|jtjtjj
�t�|jtjtjj
�t�|jtjt�tjd�|jtjdt�t�y)N�builtins)
r4rQ�	getmoduler�r�r�r��sys�modulesrPras r�test_getmodulez'TestRetrievingSourceCode.test_getmoduleis�������*�*�3�/��5�����*�*�3�=�=�9�3�?�����*�*�3�=�=�+>�+>�?��E�����*�*�3�=�=�+>�+>�?��E�����*�*�3�/����Z�1H�I�����*�*�4��9�3�?rc��d�}tjjd|�5tj�}|jtj|��tj|�ddd�y#1swYyxYw)Nc��td��)Nzbad file)�FileNotFoundError)rZ�	_filenames  r�_getabsfilezKTestRetrievingSourceCode.test_getmodule_file_not_found.<locals>._getabsfileys
��#�J�/�/rzinspect.getabsfile)r�r��patchrQ�currentframer�r��getouterframes)rWr�rws   r�test_getmodule_file_not_foundz6TestRetrievingSourceCode.test_getmodule_file_not_foundws^��	0�
�]�]�
 �
 �!5�{�
C��$�$�&�A����g�/�/��2�3��"�"�1�%�D�
C�
C�s�AA;�;Bc���tj|jjd�}|j	|j
dd�|j	|j
dd�y)N�2rr�r.z'A module docstring.'
)rQ�getframeinfor�rVr4rZ)rW�
frame_infos  r� test_getframeinfo_get_first_linez9TestRetrievingSourceCode.test_getframeinfo_get_first_line�sW���)�)�$�*;�*;�*>�*>��C�
�����0�0��3�\�B�����0�0��3�5N�Orc��|jtjdd�|jtjdd�|jtj
dd�|jtjdd�y)N�rM��3�K�L�x)r�r�r�r�r�r�r�ras r�test_getsourcez'TestRetrievingSourceCode.test_getsource�s\�����s�y�y�"�b�1����s�}�}�b�"�5����s�{�{�B��3����s�0�0�#�s�;rc��|jttjtj
��t�|jttjtj��t�d}td|d�}|jtj|�d�ddd|jftj|j<	|jttj|��|�tj|j=y#tj|j=wxYw)Nz2_non_existing_filename_used_for_sourcefile_test.pyr�r5r.�None)
r4rrQr�r�rzrPr�r�r��co_filename�	linecache�cache)rW�fnr�s   r�test_getsourcefilez+TestRetrievingSourceCode.test_getsourcefile�s�������'�"7�"7����"A�B�G�L�����'�"7�"7��	�	�"B�C�W�M�
A��
�U�B��
'������.�.�r�2�D�9�+,�d�F�B�N�N�*K�	������'�	0����X�g�&;�&;�B�&?�@�"�E�������/��	������/�s�!.D+�+Ec��|jtjtj�tj
�yr)r4rQ�getfiler�r�rXras r�test_getfilez%TestRetrievingSourceCode.test_getfile�s#�����������7����Frc���|jt�5}tjt�ddd�|jt
j�jd��y#1swY�=xYw)Nz<module)	�assertRaises�	TypeErrorrQr�r�rMr��	exception�
startswithr�s  r�test_getfile_builtin_modulez4TestRetrievingSourceCode.test_getfile_builtin_module�sL��
�
�
�y�
)�Q��O�O�C� �*�����A�K�K�(�3�3�I�>�?�*�
)���A,�,A5c���|jt�5}tjt�ddd�|jt
j�jd��y#1swY�=xYw)Nz<class)	r�r�rQr�r�rMr�r�r�r�s  r�test_getfile_builtin_classz3TestRetrievingSourceCode.test_getfile_builtin_class�sL��
�
�
�y�
)�Q��O�O�C� �*�����A�K�K�(�3�3�H�=�>�*�
)�r�c��|jt�5}tjt�ddd�|jdt
j��|jt�5}tjtj�ddd�|jdt
j��y#1swY��xYw#1swY�;xYw)Nz
expected, got)
r�r�rQr��absrr�r�r�r3)rW�e_abs�e_appends   r�'test_getfile_builtin_function_or_methodz@TestRetrievingSourceCode.test_getfile_builtin_function_or_method�s���
�
�
�y�
)�U��O�O�C� �*��
�
�o�s�5�?�?�';�<�
�
�
�y�
)�X��O�O�D�K�K�(�*��
�
�o�s�8�+=�+=�'>�?�*�
)��*�
)�s�C�2$C�C
�Cc��Gd�dt�}Gd�d|��}|jt�5tj|�ddd�y#1swYyxYw)Nc��eZdZed��Zy)�FTestRetrievingSourceCode.test_getfile_class_without_module.<locals>.CMc��t�r��AttributeErrorr�s rrczQTestRetrievingSourceCode.test_getfile_class_without_module.<locals>.CM.__module__�s��$�$rN)rNrcrd�propertyr$rr�CMr�����
�
%��
%rrc��eZdZy)�ETestRetrievingSourceCode.test_getfile_class_without_module.<locals>.CNr�r$rrrr�r-rrr)r�r�r�rQr�)rWrrs   r�!test_getfile_class_without_modulez:TestRetrievingSourceCode.test_getfile_class_without_module�s@��	%��	%�	�"�	�
�
�
�y�
)��O�O�A��*�
)�
)�s�A�Ac��Gd�d�}|�}|jt�5tj|�ddd�y#1swYyxYw)Nc��eZdZd�Zy)�DTestRetrievingSourceCode.test_getfile_broken_repr.<locals>.ErrorReprc��td��)N�xyz)r�ras r�__repr__zMTestRetrievingSourceCode.test_getfile_broken_repr.<locals>.ErrorRepr.__repr__�s
����&�&rN)rNrcrdrr$rr�	ErrorReprr	�s��
'rr
)r�r�rQr�)rWr
�ers   r�test_getfile_broken_reprz1TestRetrievingSourceCode.test_getfile_broken_repr�s;��	'�	'��[��
�
�
�y�
)��O�O�B��*�
)�
)�s�A�Ac�f�ddlm}d}||�x}tj|<d|_d|_t
d|j�|jtj|jj�d�tj|=tjtddd	��y)
Nr)�
ModuleType�__inspect_dummy�<string>�dummyz
def x(): passza=10r��single)r�rr�r�rX�
__loader__r5�__dict__r4rQr�r�__code__r�r�)rWr�name�ms    r�test_getmodule_recursionz1TestRetrievingSourceCode.test_getmodule_recursion�s���$� �� *�4� 0�0��C�K�K�����
�����_�a�j�j�)�����.�.�q�s�s�|�|�<�j�I��K�K������'�&��H�5�6rc������d\��tj�d���fd�	}|t_	i}tt��d�|�t	j
|d��t_y#�t_wxYw)z4doctest monkeypatches linecache to enable inspection)z<test>zdef x(): pass
Nc�D��|�k(r�jd��S�||�S)NT)�keepends)�
splitlines)r�module_globalsr��getlinesr�s  ���r�monkeyzHTestRetrievingSourceCode.test_proceed_with_fake_filename.<locals>.monkey�s+����2�~��(�(�$�(�7�7���.�9�9rrrr)r�r!r5r�rQr�)rWr"�nsr�r!r�s   @@@r�test_proceed_with_fake_filenamez8TestRetrievingSourceCode.test_proceed_with_fake_filename�sf���0�
��F��%�%��	:�
$�	��	*��B�����X�.��3����b��g�&�!)�I����I��s�1A*�*
A7c�Z�|jtjjdd�y)NrKrf)r�r�rDrras r�test_getsource_on_code_objectz6TestRetrievingSourceCode.test_getsource_on_code_object�s�����s�x�x�0�0�"�b�9rN) rNrcrdr�r�r�r�r��skipIfr��flags�optimizer�r�rr�r�r�r�r�r�r�r�r�r�r�r�rrrr$r&r$rrr�r�s����L�&�P:��X�_�_�S�Y�Y�'�'�1�,�@�B�	3�B�	3��X�_�_�S�Y�Y�'�'�1�,�@�B�6�B�6��X�_�_�)�+E�F�>�G�>�5�5�@�&�P�
<�
0�G�@�
?�
@�� �	7�*�":rr�c��eZdZd�Zy)�TestGetsourceInteractivec�P�d}td|d��\}}}|jd|�y)Nz�import sys, inspect;                 assert not hasattr(sys.modules['__main__'], '__file__');                 A = type('A', (), {});                 inspect.getsource(A)z-cT)�
__isolateds"OSError: source code not available)rr)rW�coder`�stderrs    r�test_getclasses_interactivez4TestGetsourceInteractive.test_getclasses_interactive�s.��&��-�T�4�D�I���1�f��
�
�;�V�DrN)rNrcrdr0r$rrr+r+�s��Err+c��eZdZeZd�Zd�Zy)�!TestGettingSourceOfToplevelFramesc�T�d|_|jtjdd�y�Nr.)�maxDiffr�r�r�ras r�test_range_toplevel_framez;TestGettingSourceOfToplevelFrames.test_range_toplevel_frame�s!��������s�/�/��D�9rc�F�|jtjdd�yr4)r�r�r�ras r�#test_range_traceback_toplevel_framezETestGettingSourceOfToplevelFrames.test_range_traceback_toplevel_frame�s�����s�v�v�q�$�/rN)rNrcrdr�r�r6r8r$rrr2r2�s���L�:�0rr2c�(�eZdZeZd�Zd�Zd�Zd�Zy)�TestDecoratorsc�F�|jtjdd�y)Nrm�)r�r��wrappedras r�test_wrapped_decoratorz%TestDecorators.test_wrapped_decorator�s�����t�|�|�R��4rc�F�|jtjdd�y)Nr<�
)r�r��goneras r�test_replacing_decoratorz'TestDecorators.test_replacing_decorator�s�����t�y�y�!�R�0rc�F�|jtjdd�y)N��)r�r�r�ras r�test_getsource_unwrapz$TestDecorators.test_getsource_unwrap�s�����t�y�y�#�s�3rc�F�|jtjdd�y)N�q�s)r�r��func114ras r�test_decorator_with_lambdaz)TestDecorators.test_decorator_with_lambda�s�����t�|�|�S�#�6rN)	rNrcrdr�r�r>rBrFrKr$rrr:r:�s���L�5�1�4�7rr:c�R�eZdZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zy)
�
TestOnelinersc�F�|jtjdd�y)NrL)r�r��ollras r�test_oneline_lambdaz!TestOneliners.test_oneline_lambdas�����t�x�x��R�0rc�F�|jtjdd�y)N��)r�r��tllras r�test_threeline_lambdaz#TestOneliners.test_threeline_lambdas��	
���t�x�x��R�0rc�F�|jtjdd�y)N�!�")r�r��tlliras r�test_twoline_indented_lambdaz*TestOneliners.test_twoline_indented_lambdas��	
���t�y�y�"�b�1rc���|jtjdd�|jtjdd�|jtjdd�y)Niii)r�r��parenthesized_lambda�parenthesized_lambda2�parenthesized_lambda3ras r�#test_parenthesized_multiline_lambdaz1TestOneliners.test_parenthesized_multiline_lambdasL��	
���t�8�8�#�s�C����t�9�9�3��D����t�9�9�3��Drc�F�|jtjdd�y)Nii)r�r��post_line_parenthesized_lambda1ras r�#test_post_line_parenthesized_lambdaz1TestOneliners.test_post_line_parenthesized_lambdas��	
���t�C�C�S�#�Nrc�F�|jtjdd�y)Ni#i$)r�r��
nested_lambdaras r�test_nested_lambdaz TestOneliners.test_nested_lambdas�����t�1�1�3��<rc�F�|jtjdd�y)N�%)r�r��onelinefuncras r�test_onelinefunczTestOneliners.test_onelinefunc!s�����t�/�/��R�8rc�F�|jtjdd�y)N�(�))r�r��manyargsras r�
test_manyargszTestOneliners.test_manyargs%s��	
���t�}�}�b�"�5rc�F�|jtjdd�y)N�,�-)r�r��twolinefuncras r�test_twolinefunczTestOneliners.test_twolinefunc+s��	
���t�/�/��R�8rc�L�|jtjddd�y)Nr.�1)r�r�r'ras r�test_lambda_in_listz!TestOneliners.test_lambda_in_list1s��	
���t�v�v�a�y�"�b�1rc�F�|jtjdd�y)N�7)r�r��	anonymousras r�test_anonymouszTestOneliners.test_anonymous6s��	
���t�~�~�r�2�6rN)rNrcrdr�r�rPrUrZr_rbrerirnrsrvrzr$rrrMrMs@���L�1�1�
2�
E�O�
=�9�6�9�2�
7rrMc�"�eZdZeZd�Zd�Zd�Zy)�TestBlockCommentsc�F�|jtjdd�y)N�`�r)r�r�r�ras r�test_toplevel_classz%TestBlockComments.test_toplevel_class>s�����s�0�0�"�c�:rc�Z�|jtjjdd�y)N�c�h)r�r�r�rwras r�test_class_methodz#TestBlockComments.test_class_methodAs �����s�0�0�2�2�B��<rc�Z�|jtjjdd�y)N�m�p)r�r�r��asyncfras r�test_class_async_methodz)TestBlockComments.test_class_async_methodDs �����s�0�0�7�7��c�BrN)rNrcrdr�r�r�r�r�r$rrr|r|;s���L�;�=�Crr|c�f�eZdZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zejeed�xsej j#d	�d
�d��Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zeje jBxse jDd�d��Z#y)�TestBuggyCasesc�F�|jtjdd�y)N�:�;)r�r��with_commentras r�test_with_commentz TestBuggyCases.test_with_commentJs�����t�0�0�"�b�9rc�L�|jtjddd�y)Nr�?�@)r�r��
multiline_sigras r�test_multiline_sigz!TestBuggyCases.test_multiline_sigMs�����t�1�1�!�4�b�"�=rc�b�|jtj�jdd�y)N�G�H)r�r��func69�func71ras r�test_nested_classz TestBuggyCases.test_nested_classPs �����t�{�{�}�3�3�R��<rc�F�|jtjdd�y)N�M)r�r��func77ras r�#test_one_liner_followed_by_non_namez2TestBuggyCases.test_one_liner_followed_by_non_nameS������t�{�{�B��3rc�Z�|jtjjdd�y)N�S)r�r��cls82�func83ras r�test_one_liner_dedent_non_namez-TestBuggyCases.test_one_liner_dedent_non_nameVs�����t�z�z�0�0�"�b�9rc�F�|jtjdd�y)N�X�Z)r�r��func88ras r�&test_with_comment_instead_of_docstringz5TestBuggyCases.test_with_comment_instead_of_docstringYr�rc�F�|jtjdd�y)N�_�a)r�r��method_in_dynamic_classras r�test_method_in_dynamic_classz+TestBuggyCases.test_method_in_dynamic_class\s�����t�;�;�R��DrrXz.pyz,unicodedata is not an external binary modulec��|jttjt�|jttj
t�yr)r��OSErrorrQr��unicodedata�
findsourceras r�test_findsource_binaryz%TestBuggyCases.test_findsource_binaryas4��	
���'�7�#4�#4�k�B����'�7�#5�#5�{�Crc�*�dg}t|ddd�}|jttj|�|jttj
|�dd||jftj|j<	|jtj|�|df�|jtj
|�|d�tj|j=y#tj|j=wxYw)Nr�r�_dynamically_created_filer5r.)
r�r�r�rQr�r�r�r�r�r4)rWr�r�s   r�!test_findsource_code_in_linecachez0TestBuggyCases.test_findsource_code_in_linecachehs������
�U�1�X�:�F�
C�����'�7�#5�#5�r�:����'�7�#4�#4�b�9�+,�d�E�2�>�>�*J�	������'�	0����W�/�/��3�e�A�Y�?����W�.�.�r�2�E�!�H�=�������/��	������/�s
�
AC5�5Dc��dD]Y}td|d�}|jttj|�|jttj
|��[y)N)r�rr�r5)r�r��IOErrorrQr�r�)rW�fnamer�s   r� test_findsource_without_filenamez/TestBuggyCases.test_findsource_without_filenametsJ��%�E����v�.�B����g�w�'9�'9�2�>����g�w�'8�'8�"�=�&rc��ttjt��}d|zdz}t	|tj
d�}ii}}t
|||�|d}|j|jjdd|zz�|jtd�5tj|�ddd�y#1swYyxYw)Nz

z
def f(): passr5rwr.r/zlineno is out of bounds)
r2rQr�r�r�rXrLr4r�co_firstlineno�assertRaisesRegexr�r�)rW�mod_len�srcr�rx�l�funcs       r�)test_findsource_with_out_of_bounds_linenoz8TestBuggyCases.test_findsource_with_out_of_bounds_linenozs����g�'�'��,�-�����/�1��
�S�#�,�,��
/���2�1���R��A����v��������5�5�q��7��{�C�
�
#�
#�G�-F�
G����t�$�H�
G�
G�s�B=�=Cc�Z�|jtjjdd�y)N�v�w)r�r��ClassWithMethod�methodras r�test_getsource_on_methodz'TestBuggyCases.test_getsource_on_method�s �����t�3�3�:�:�C��Erc�Z�|jtjjdd�y)N��)r�r��cls135�func136ras r�test_nested_funczTestBuggyCases.test_nested_func�s�����t�{�{�2�2�C��=rc�F�|jtjdd�y)N��)r�r��cls149ras r�4test_class_definition_in_multiline_string_definitionzCTestBuggyCases.test_class_definition_in_multiline_string_definition�������t�{�{�C��5rc�F�|jtjdd�y)N��)r�r�r�ras r�*test_class_definition_in_multiline_commentz9TestBuggyCases.test_class_definition_in_multiline_comment�r�rc�Z�|jtjjdd�y)N��)r�r��cls173�cls175ras r�,test_nested_class_definition_indented_stringz;TestBuggyCases.test_nested_class_definition_indented_string�s�����t�{�{�1�1�3��<rc��|jtjdd�|jtjjdd�y)N���)r�r��cls183�cls185ras r�test_nested_class_definitionz+TestBuggyCases.test_nested_class_definition��4�����t�{�{�C��5����t�{�{�1�1�3��<rc��|jtjdd�|jtjjdd�y)N������)r�r��cls196�cls200ras r�test_class_decoratorz#TestBuggyCases.test_class_decorator�r�rc��|jtjdd�|jtjjdd�y)N������)r�r��cls238�cls239ras r�test_class_inside_conditionalz,TestBuggyCases.test_class_inside_conditional�r�rc���|jtjdd�|jtjjdd�|jtjjjdd�|jtjj
dd�|jtjj
jdd�y)N��������������)r�r��cls203�cls204�cls205�cls207ras r�test_multiple_children_classesz-TestBuggyCases.test_multiple_children_classes�s������t�{�{�C��5����t�{�{�1�1�3��<����t�{�{�1�1�8�8�#�s�C����t�{�{�1�1�3��<����t�{�{�1�1�8�8�#�s�Crc��|jtj�dd�|jtjdd�|jtj�j	�dd�y)N������������)r�r��func212�cls213�func219ras r�,test_nested_class_definition_inside_functionz;TestBuggyCases.test_nested_class_definition_inside_function�sQ�����t�|�|�~�s�C�8����t�{�{�C��5����t�{�{�}�4�4�6��S�Arzsocket.accept is brokenc�v�ddl}|j|jd�|j|jtj��dd�|jt
jdd�|j|jtj�j��dd�y)Nr������������)	r"�
addCleanupr#r��runr��func225�cls226�func232)rWr"s  r�2test_nested_class_definition_inside_async_functionzATestBuggyCases.test_nested_class_definition_inside_async_function�s���
	�����5�5�t�<����{�w�{�{�4�<�<�>�:�C��E����t�{�{�C��5����{�w�{�{�4�;�;�=�+@�+@�+B�C�S�#�NrN)$rNrcrdr�r�r�r�r�r�r�r�r�r�r'r�r�rX�endswithr�r�r�r�r�r�r�r�r�r�r�r�rr
r�
is_emscripten�is_wasirr$rrr�r�Gs����L�:�>�=�4�:�4�E�
�X�_�_���j�9�9�F�!,�!5�!5�!>�!>�u�!E�C�E�D�E�D�
0�>�	%�F�>�6�6�=�=�=�=�D�B�
�X�_�_����0����!��O�	�Orr�c�*��eZdZ�fd�Zd�Zd�Z�xZS)�	TestNoEOLc���tdz|_tj|j�t	tj
j
|jdtjz�dd��5}|jd�ddd�t|j�5ddl
}ddd�|_t�|�5�y#1swY�AxYw#1swY�+xYw)N�_dirzinspect_fodder3%spy�wrr�zclass X:
    pass # No EOLr)r�tempdir�os�mkdirr��pathr4�extsep�writer
�inspect_fodder3r��superr�)rWrw�mod3�	__class__s   �rr�zTestNoEOL.setUp�s���������
�������
�"�'�'�,�,�t�|�|�-B�R�Y�Y�-N�O���)�,-�
�G�G�1�2�)��4�<�<�
(�*�)� ���
��
��
)�)��)�
(�s�6C�%C�C�Cc�B�tj|j�yr)�shutil�rmtreer#ras r�tearDownzTestNoEOL.tearDown�s���
�
�d�l�l�#rc�R�|j|jjdd�y)Nr.r/)r�r��Xras r�
test_classzTestNoEOL.test_class�s �����t�0�0�2�2�A�q�9r)rNrcrdr�r0r3�
__classcell__�r,s@rrr�s���	�$�:rrc��eZdZeZd�Zy)�TestComplexDecoratorc�R�|j|jjdd�y)Nii)r�r��complex_decoratedras r�test_parens_in_decoratorz-TestComplexDecorator.test_parens_in_decorator�s �����t�0�0�B�B�C��MrN)rNrcrdr�r�r:r$rrr7r7�s
���L�Nrr7c�"�eZdZdZd�Zd�Zd�Zy)�_BrokenDataDescriptorz2
    A broken data descriptor. See bug #1785.
    c��td���Nzbroken data descriptorr��rs r�__get__z_BrokenDataDescriptor.__get__�����5�6�6rc��t�r)�RuntimeErrorr?s r�__set__z_BrokenDataDescriptor.__set__�s���rc��td��r>r�r?s rr�z!_BrokenDataDescriptor.__getattr__�rArN)rNrcrdr�r@rDr�r$rrr<r<�s���7��7rr<c��eZdZdZd�Zd�Zy)�_BrokenMethodDescriptorz4
    A broken method descriptor. See bug #1785.
    c��td���Nzbroken method descriptorr�r?s rr@z_BrokenMethodDescriptor.__get__�����7�8�8rc��td��rIr�r?s rr�z#_BrokenMethodDescriptor.__getattr__�rJrN)rNrcrdr�r@r�r$rrrGrG�s���9�9rrGc�X�tj|�D�cgc]}|dd��	c}Scc}w�Nre)rQ�classify_class_attrs)r��ts  r�
attrs_wo_objsrP�s-��"�7�7��<�=�<�a�A�b�q�E�<�=�=��=s�'c��eZdZd�Zdddggdifd�Zd�Zd�Zd�Zd�Ze	jed�d	��Ze
e	jed�d
���Ze
e	jed�d���Zd�Zd
�Zd�Zd�Zd�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+y)(�TestClassesAndFunctionsc���Gd�dt�}Gd�d|�}Gd�d|�}Gd�d||�}||||tf}tj|�}|j||�y)	Nc��eZdZy)�4TestClassesAndFunctions.test_newstyle_mro.<locals>.ANr�r$rr�ArU�r�rrVc��eZdZy)�4TestClassesAndFunctions.test_newstyle_mro.<locals>.BNr�r$rr�BrX�r�rrYc��eZdZy)�4TestClassesAndFunctions.test_newstyle_mro.<locals>.CNr�r$rrrr[�r�rrc��eZdZy)�4TestClassesAndFunctions.test_newstyle_mro.<locals>.DNr�r$rr�Dr]�r�rr^)r�rQ�getmror4)rWrVrYrr^�expected�gots       r�test_newstyle_mroz)TestClassesAndFunctions.test_newstyle_mro�sR�� �� ���������1���q�!�Q��'���n�n�Q�������3�'rNc
�:�tj|�\}
}}}
}}}|j|
|�|j||�|j||�|j|
|�|j||�|j||�|j||	�yr)rQ�getfullargspecr4)rW�routine�args_e�	varargs_e�varkw_e�
defaults_e�
posonlyargs_e�kwonlyargs_e�kwonlydefaults_e�ann_errqrr�defaults�
kwonlyargs�kwonlydefaults�anns                 r�assertFullArgSpecEqualsz/TestClassesAndFunctions.assertFullArgSpecEquals�s���
�"�"�7�+�	H��g�u�h�
�N�C�����v�&�����)�,������(�����:�.�����\�2�����)9�:�����e�$rc	���|jtjgddgddi��|jtjdgdti��|jtj
gdg��|jtjgd�d	d
g��|jtjgd�ddd	d
g�
�|jtjgd�dd	d
gddd���y)N�arg1�arg2r.)rgrkrl)rm�arg)rk�r'r�rrvr�rwrr?)rgrhrk�r.r/rerGr)r�rw)rirkrl)	rrr��	keyworded�	annotatedr��keyword_only_arg�all_markers� all_markers_with_args_and_kwargs�all_markers_with_defaultsras r�test_getfullargspecz+TestClassesAndFunctions.test_getfullargspec	s����$�$�T�^�^�R�6�39�(�7=�a�j�	%�	B�	
�$�$�T�^�^�f�X�,2�T�?�	%�	<��$�$�T�%:�%:�B�38�'�	%�	;�	
�$�$�T�%5�%5�7K�36��*�	%�	>�	
�$�$�T�%J�%J�%9�/5�-5�36��*�		%�	>�	
�$�$�T�%C�%C�EY�07�36��*�<=�A�6F�	%�	Hrc���tjtj�d��}|j	|ddg�|j	tj
|�ddg�y)Nc��yrr$�rrks  r�hamzETestClassesAndFunctions.test_argspec_api_ignores_wrapped.<locals>.ham#���rrrk)r��wrapsr�rzrrr�)rWr�s  r� test_argspec_api_ignores_wrappedz8TestClassesAndFunctions.test_argspec_api_ignores_wrapped!sY��	������	"�	�
#�	�	
�$�$�S�3��*�5��$�$�Y�%6�%6�s�%;�&)�3�Z�	1rc���d�}tjdtjj�}tj|f��|_|j|dg�y)Nc��yrr$r$rr�testzHTestClassesAndFunctions.test_getfullargspec_signature_attr.<locals>.test,���rrz�r6)rQ�	Parameter�POSITIONAL_ONLY�	Signature�
__signature__rr)rWr��
spam_params   r�"test_getfullargspec_signature_attrz:TestClassesAndFunctions.test_getfullargspec_signature_attr+sL��	��&�&�v�w�/@�/@�/P�/P�Q�
�$�.�.�:�-�H����$�$�T�F�8�4rc��dd�}tj|�}|j|j|j�d�}tj|�}|j|j|j�y)Nc��yrr$�r's rr�zITestClassesAndFunctions.test_getfullargspec_signature_annos.<locals>.test4���Trc��yrr$r$rrr�zITestClassesAndFunctions.test_getfullargspec_signature_annos.<locals>.test8���Dr)r'rz�returnr�)rQrdr4�__annotations__�annotations)rWr��specs   r�#test_getfullargspec_signature_annosz;TestClassesAndFunctions.test_getfullargspec_signature_annos3s`��)��%�%�d�+������-�-�t�/?�/?�@���%�%�d�+������-�-�t�/?�/?�@r�6Signature information for builtins requires docstringsc�4�|jtjjddg�|jtjt	j
��jddg�|jtjdgddgddd���y)	NrWrZr&�dir_fd�follow_symlinksT)r�r�)rfrkrl)rr�_pickle�Pickler�dump�io�BytesIOr$�statras r�#test_getfullargspec_builtin_methodsz;TestClassesAndFunctions.test_getfullargspec_builtin_methods<s}��	
�$�$�W�_�_�%9�%9�F�E�?�K��$�$�W�_�_�R�Z�Z�\�%B�%G�%G�&�RW��Y��$�$�
�W�W��H�#�%6�7�)-�$�G�		%�	Irc��ddl}|j}tj|�}|j	|j
dd�y)Nr�avocado)�	_testcapi�&docstring_with_signature_with_defaultsrQrdr4rn)rWr��builtinr�s    r� test_getfullargspec_builtin_funcz8TestClassesAndFunctions.test_getfullargspec_builtin_funcIs;��	��B�B���%�%�g�.��������q�)�9�5rc��ddl}|j}|jt�5t	j
|�ddd�y#1swYyxYw�Nr)r��docstring_no_signaturer�r�rQrd)rWr�r�s   r�-test_getfullargspec_builtin_func_no_signaturezETestClassesAndFunctions.test_getfullargspec_builtin_func_no_signatureRs:��	��2�2��
�
�
�y�
)��"�"�7�+�*�
)�
)�s�A�Ac�Z�t�D]Z}tj|�}t|j�}t|�}|j
|�|j||��\tjt�}t|j�}|j|t�yr)
r=rQrdr�ro�sortedrMr4rF� unsorted_keyword_only_parameters�rWr��	signaturer��sorted_ls     r�8test_getfullargspec_definition_order_preserved_on_kwonlyzPTestClassesAndFunctions.test_getfullargspec_definition_order_preserved_on_kwonly[s���G�I�B��.�.�r�2�I��Y�)�)�*�A��a�y�H��O�O�A�����Q��)�J��*�*�+N�O�	���%�%�&������<�=rc��Gd�dt�}t|�}|jddtf|d�|jddtf|d�|jd	d|f|d
�|jdd|f|d
�|jdd|f|d�|jdd|f|d|z�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�Gd�d|�}t|�}|jd	d|f|d
�|jdd|f|d
�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�Gd�d|�}t|�}|jd	d|f|d
�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�Gd �d!||�}t|�}|jd	d|f|d
�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�y)"Nc�z�eZdZd�Zee�Zd�Zee�Zd�Zee�Z	d�Z
d�ZdZe
�Ze�Zy)�9TestClassesAndFunctions.test_classify_newstyle.<locals>.Ac��yrr$r$rr�sz;TestClassesAndFunctions.test_classify_newstyle.<locals>.A.si���Trc��yrr$r�s rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.A.cls��rc��yrr$ras r�getpz>TestClassesAndFunctions.test_classify_newstyle.<locals>.A.getpo���Drc��yrr$ras rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.A.mr���rc��yrr$ras r�m1z<TestClassesAndFunctions.test_classify_newstyle.<locals>.A.m1t���$r�1N)rNrcrdr�r�rr�r�rr8rr��datablobr<�ddrG�mdr$rrrVr�gsA����Q��A���A��A� ����A����H�&�(�B�(�*�BrrV�__new__�
static method�missing __new__r�r�zmissing __init__r�zmissing static methodr�class method�missing class methodr8rzmissing propertyrzmissing plain method: %rr��missing plain methodr��datazmissing datar�zmissing method descriptorr�zmissing data descriptorc��eZdZd�Zy)�9TestClassesAndFunctions.test_classify_newstyle.<locals>.Bc��yrr$ras rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.B.m�r�rN)rNrcrdrr$rrrYr��s��rrYc��eZdZd�Zd�Zy)�9TestClassesAndFunctions.test_classify_newstyle.<locals>.Cc��yrr$ras rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.C.m�r�rc��yrr$ras rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.C.c�r�rN)rNrcrdrrr$rrrr��s���rrc��eZdZd�Zy)�9TestClassesAndFunctions.test_classify_newstyle.<locals>.Dc��yrr$ras rr�z<TestClassesAndFunctions.test_classify_newstyle.<locals>.D.m1�r�rN)rNrcrdr�r$rrr^r��s��rr^)r�rPr)rWrV�attrsrYrr^s      r�test_classify_newstylez.TestClassesAndFunctions.test_classify_newstylefs���	+��	+�(�a� ���
�
�y�/�6�:�E�'�	)��
�
�z�8�V�4�e�=O�P��
�
�s�O�Q�/��8O�P��
�
�s�N�A�.��7M�N��
�
�s�J��*�E�3E�F��
�
�s�H�a�(�%�0�5�8�	:��
�
�t�X�q�)�5�2H�I��
�
�z�6�1�-�u�n�E��
�
�t�X�q�)�5�2M�N��
�
�t�V�Q�'��0I�J�	��	��a� ���
�
�s�O�Q�/��8O�P��
�
�s�N�A�.��7M�N��
�
�s�J��*�E�3E�F��
�
�s�H�a�(�%�1G�H��
�
�t�X�q�)�5�2H�I��
�
�z�6�1�-�u�n�E��
�
�t�X�q�)�5�2M�N��
�
�t�V�Q�'��0I�J�	��	�
�a� ���
�
�s�O�Q�/��8O�P��
�
�s�H�a�(�%�1G�H��
�
�s�J��*�E�3E�F��
�
�s�H�a�(�%�1G�H��
�
�t�X�q�)�5�2H�I��
�
�z�6�1�-�u�n�E��
�
�t�X�q�)�5�2M�N��
�
�t�V�Q�'��0I�J�	��1�	��a� ���
�
�s�O�Q�/��8O�P��
�
�s�H�a�(�%�1G�H��
�
�s�J��*�E�3E�F��
�
�s�H�a�(�%�1G�H��
�
�t�X�q�)�5�2H�I��
�
�z�6�1�-�u�n�E��
�
�t�X�q�)�5�2M�N��
�
�t�V�Q�'��0I�Jrc��tt�D]8}tt|�}t|t�s�$tj|��:tt�}|jddtf|d�|jddtf|d�|jddtf|d	�|jd
dtf|d	�|jddtf|d	�y)Nr�r�r�r�r�r�r�r�r��__add__�__and__)�dir�__builtins__�getattr�
isinstancer�rQrNrP�boolrr�)rWrr�r�s    r�test_classify_builtin_typesz3TestClassesAndFunctions.test_classify_builtin_types�s�����%�D��l�D�1�G��'�4�(��,�,�W�5�&�
�d�#���
�
�y�/�4�8�%�'�	)��
�
�|�^�S�9�5�,�	.��
�
�z�8�S�1�5�,�	.��
�
�y�(�C�0�%�,�	.��
�
�y�(�D�1�5�,�	.rc�H�Gd�dt�}Gd�d|��}tjdd||jd�}|j	|tj
|��tjdd|d�}|j	|tj
|��y)	Nc���eZdZ�fd�Z�xZS)�ITestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.Metac�.��|dk(ryt�|�|�S)Nr�rz�r*r��rWrr,s  �rr�zUTestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.Meta.__getattr__�s����5�=�!��w�*�4�0�0r�rNrcrdr�r4r5s@r�Metar���
���
1�
1rr�c�0�eZdZejd��Zy)�GTestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.VAc��y)NrDr$ras rr�zKTestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.VA.ham����rN)rNrcrdr��DynamicClassAttributer�r$rr�VAr�����
�
(�
(�
�)�
rr�rr�r�rz)r�rQ�	AttributerrrN)rWr�r��should_find_dca�should_find_gas     r�#test_classify_DynamicClassAttributez;TestClassesAndFunctions.test_classify_DynamicClassAttribute�s���	1�4�	1�
	�4�	�"�+�+�E�6�2�r�{�{�5�?Q�R���
�
�o�w�'C�'C�B�'G�H� �*�*�5�&�$��G���
�
�n�g�&B�&B�2�&F�Grc����G�fd�dt��G�fd�dt�}tjdd||j�}|j	|tj
|��y)Nc���eZdZ�fd�Zd�Zy)�DTestClassesAndFunctions.test_classify_overrides_bool.<locals>.NoBoolc�����Srr$)rWr[�NoBools  �r�__eq__zKTestClassesAndFunctions.test_classify_overrides_bool.<locals>.NoBool.__eq__�s
����x�rc��td��)Nz,This object does not specify a boolean value��NotImplementedErrorras r�__bool__zMTestClassesAndFunctions.test_classify_overrides_bool.<locals>.NoBool.__bool__�s��)�B�D�DrN)rNrcrdrr�rs�rrr��s���
 �
Drrc���eZdZW��Zy)�CTestClassesAndFunctions.test_classify_overrides_bool.<locals>.HasNBN)rNrcrdr�rs�r�HasNBr�s
�����Brr	r�r�)r�rQr�r�rrN)rWr	�should_find_attrrs   @r�test_classify_overrides_boolz4TestClassesAndFunctions.test_classify_overrides_bool�sT���	D�V�	D�	�F�	�#�,�,�T�6�5�%�(�(�K���
�
�&��(D�(D�U�(K�Lrc��Gd�dt�}Gd�d|��}tjdd|d�}|j|tj|��y)	Nc��eZdZdZd�Zy)�MTestClassesAndFunctions.test_classify_metaclass_class_attribute.<locals>.Meta�slapc�
�gd�S)N)r,rcrN�fishr$ras r�__dir__zUTestClassesAndFunctions.test_classify_metaclass_class_attribute.<locals>.Meta.__dir__����F�FrN)rNrcrdrrr$rrr�r�s
���D�
Grr�c��eZdZy)�NTestClassesAndFunctions.test_classify_metaclass_class_attribute.<locals>.ClassNr�r$rr�Classr�r-rrrrr�r�r�rQr�rrN�rWr�r�should_finds    r�'test_classify_metaclass_class_attributez?TestClassesAndFunctions.test_classify_metaclass_class_attribute�sK��	G�4�	G�	�d�	��'�'����f�E���
�
�k�7�#?�#?��#F�Grc��Gd�dt�}Gd�d|��}tjdd|d�}|j|tj|��y)	Nc�$��eZdZd�Z�fd�Z�xZS)�DTestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.Metac�
�gd�S)N)r,rcrN�BOOMr$r�s rrzLTestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.Meta.__dir__�rrc�.��|dk(ryt�|�|�S)Nrr�)r*�_Meta__getattrr�s  �rr�zPTestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.Meta.__getattr__�s����&�=���w�(��.�.r�rNrcrdrr�r4r5s@rr�r�s���
G�
/�
/rr�c��eZdZy)�ETestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.ClassNr�r$rrrr$�r-rrrrr�r�rrs    r�test_classify_VirtualAttributez6TestClassesAndFunctions.test_classify_VirtualAttribute�sI��	/�4�	/�	�d�	��'�'����b�A���
�
�k�7�#?�#?��#F�Grc��	�
�Gd�dt��	Gd�dt��
G�	�
fd�d�	�
�}Gd�d�	�	�}Gd
�d||�	�}tjdd
�	d�}tjdd
�
d�}tjdd
|d�}tj|�}|||fD]}|j	||��y)Nc�$��eZdZd�Z�fd�Z�xZS)�STestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta1c�
�gd�S)N)r,rcrN�oner$r�s rrz[TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta1.__dir__���E�Erc�.��|dk(ryt�|�|�S)Nr*r.r�r�s  �rr�z_TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta1.__getattr__�����%�<���w�*�4�0�0rr"r5s@r�Meta1r(����
F�
1�
1rr.c�$��eZdZd�Z�fd�Z�xZS)�STestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta2c�
�gd�S)N)r,rcrN�twor$r�s rrz[TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta2.__dir__	r+rc�.��|dk(ryt�|�|�S)Nr3r/r�r�s  �rr�z_TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta2.__getattr__r-rr"r5s@r�Meta2r1r/rr5c�,���eZdZ��fd�Z�fd�Z�xZS)�STestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta3c
���tttgd��j|�z�j|�z���S)N)r,rcrN�three)r�r�rPr)r�r.r5s ��rrz[TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta3.__dir__sC����F�3�'W��M�M�#�&�('�).���s�);�(<�$=�>�?�?rc�.��|dk(ryt�|�|�S)Nr9rer�r�s  �rr�z_TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta3.__getattr__s����'�>���w�*�4�0�0rr")r,r.r5s@��r�Meta3r7s���
?�
1�
1rr;c��eZdZy)�TTestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Class1Nr�r$rr�Class1r=r-rr>rc��eZdZy)�TTestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Class2Nr�r$rr�Class2r@r-rrAr*r�r.r3r/r9re)r�rQr�rNr)rWr;r>rA�should_find1�should_find2�should_find3�cca�sfr.r5s         @@r�,test_classify_VirtualAttribute_multi_classeszDTestClassesAndFunctions.test_classify_VirtualAttribute_multi_classess����	1�D�	1�	1�D�	1�	1�E�5�	1�	�u�	�	�V�u�	��(�(����q�A���(�(����q�A���(�(��&�%��C���*�*�6�2����|�<�B��M�M�"�c�"�=rc��Gd�dt�}Gd�d|��}tj|�D�cgc]}|d��	}}|jd|�ycc}w)Nc��eZdZd�Zy)�KTestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir.<locals>.Mc�
�gd�S�N)r,rN�missingr$r�s rrzSTestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir.<locals>.M.__dir__%���;�;rN�rNrcrdrr$rr�MrJ$���
<rrPc��eZdZy)�KTestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir.<locals>.CNr�r$rrrrS'r-rrrrrM)r�rQrNr�rWrPrr'r�s     r�(test_classify_class_attrs_with_buggy_dirz@TestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir#sU��	<��	<�	�!�	�&�;�;�A�>�?�>�!��1��>��?�����E�*��@��Ac�F�Gd�dt�}d�}|tj�}|tj�}|j	tj
||�d|jdfg�|j	tj
||�d|jdfg�Gd�d|�}|j	tj
||�d|jdfg�|j	tj
||�d|jdfg�y)Nc�(�eZdZe�Ze�Zy)�>TestClassesAndFunctions.test_getmembers_descriptors.<locals>.AN)rNrcrdr<r�rGr�r$rrrVrY-s��&�(�B�(�*�BrrVc�4���Gd�dt����fd�}|S)Nc��eZdZy)�XTestClassesAndFunctions.test_getmembers_descriptors.<locals>.pred_wrapper.<locals>.EmptyNr�r$rr�Emptyr\4s��rr]c�\��dt|�vrt�|j�ry�|�S)NrNF)r�r�rN)rr]�preds ��rr=zZTestClassesAndFunctions.test_getmembers_descriptors.<locals>.pred_wrapper.<locals>.wrapped6s(�����Q��'�G�E�1�:�:�,F� ��A�w�r�r�)r_r=r]s` @r�pred_wrapperzITestClassesAndFunctions.test_getmembers_descriptors.<locals>.pred_wrapper1s���
��
�
��Nrr�r�c��eZdZy)�>TestClassesAndFunctions.test_getmembers_descriptors.<locals>.BNr�r$rrrYrcDr-rrY)r�rQ�ismethoddescriptorr�r4rr)rWrVrardr�rYs      r�test_getmembers_descriptorsz3TestClassesAndFunctions.test_getmembers_descriptors,s
��	+��	+�		�*�'�*D�*D�E��'��(@�(@�A������+�+�A�/A�B��A�J�J�t�$�
%�&�	(�����+�+�A�/?�@��A�J�J�t�$�
%�&�	(�	��	�	
����+�+�A�/A�B��A�J�J�t�$�
%�&�	(�����+�+�A�/?�@��A�J�J�t�$�
%�&�	(rc���Gd�d�}|jd|jftj|��|j	d|jftj|tj
��|�}|jd|jftj|��|jd|jftj|tj
��y)Nc��eZdZd�Zy)�9TestClassesAndFunctions.test_getmembers_method.<locals>.Bc��yrr$ras rrwz;TestClassesAndFunctions.test_getmembers_method.<locals>.B.fNr�rN�rNrcrdrwr$rrrYrhMr�rrYrw)rrwrQrrri)rWrYr�s   r�test_getmembers_methodz.TestClassesAndFunctions.test_getmembers_methodLs���	�	�	
�
�
�s�A�C�C�j�'�"4�"4�Q�"7�8����#�q�s�s��W�%7�%7��7�;K�;K�%L�M�
�C���
�
�s�A�C�C�j�'�"4�"4�Q�"7�8��
�
�s�A�C�C�j�'�"4�"4�Q��8H�8H�"I�Jrc��Gd�d�}|d�}|jtj|�dd|jfg�|jtj|tj�d|jfg�y)Nc��eZdZd�Zd�Zd�Zy)�FTestClassesAndFunctions.test_getmembers_custom_dir.<locals>.CorrectDirc��||_yr�r�r�s  rr�zOTestClassesAndFunctions.test_getmembers_custom_dir.<locals>.CorrectDir.__init__Ys	�� ��	rc� �|jdzSr4rpras rr�zMTestClassesAndFunctions.test_getmembers_custom_dir.<locals>.CorrectDir.method[s���y�y�1�}�$rc�
�ddgS)Nr�r�r$ras rrzNTestClassesAndFunctions.test_getmembers_custom_dir.<locals>.CorrectDir.__dir__]s
����)�)rN)rNrcrdr�r�rr$rr�
CorrectDirrnXs��
!�
%�
*rrsr)r�rr��r4rQrr�ri)rWrs�cds   r�test_getmembers_custom_dirz2TestClassesAndFunctions.test_getmembers_custom_dirWs}��	*�	*���]������+�+�B�/��
�r�y�y�!�2
�	�	
����+�+�B��0@�0@�A�
�r�y�y�!�D
�	rc��Gd�d�}|�}|jtj|�dd|jfg�|jtj|tj�d|jfg�y)Nc��eZdZdZd�Zd�Zy)�LTestClassesAndFunctions.test_getmembers_custom_broken_dir.<locals>.BrokenDirr.c� �|jdzSr4)�existingras rr�zSTestClassesAndFunctions.test_getmembers_custom_broken_dir.<locals>.BrokenDir.methodos���}�}�q�(�(rc�
�gd�S)N)r�rMr{r$ras rrzTTestClassesAndFunctions.test_getmembers_custom_broken_dir.<locals>.BrokenDir.__dir__qs��8�8rN)rNrcrdr{r�rr$rr�	BrokenDirryms���H�
)�
9rr})r{r.r�rt)rWr}�bds   r�!test_getmembers_custom_broken_dirz9TestClassesAndFunctions.test_getmembers_custom_broken_diris{��	9�	9��[������+�+�B�/��
�r�y�y�!�2
�	�	
����+�+�B��0@�0@�A�
�r�y�y�!�D
�	rc�r�Gd�d�}|�}|jtj|�dg�y)Nc��eZdZdZd�Zy)�TTestClassesAndFunctions.test_getmembers_custom_duplicated_dir.<locals>.DuplicatedDirr.c�
�ddgS)Nr�r$ras rrz\TestClassesAndFunctions.test_getmembers_custom_duplicated_dir.<locals>.DuplicatedDir.__dir__�s
����'�'rN)rNrcrdr�rr$rr�
DuplicatedDirr�s���D�
(rr�)r�r.)r4rQr)rWr�r�s   r�%test_getmembers_custom_duplicated_dirz=TestClassesAndFunctions.test_getmembers_custom_duplicated_dir}s8��	(�	(�
�_������+�+�B�/��2
�	rc�\�Gd�dt�}Gd�d|��}Gd�d�}|jdtj|��|jd	tj|���|�}|jd
|jftj|��y)Nc���eZdZ�fd�Z�xZS)�CTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.Mc�.��|dk(ryt�|�|�S)NrD�	scrambledr�)r�rr,s  �rr�zOTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.M.__getattr__�s����6�>�&��w�*�4�0�0rr�r5s@rrPr��r�rrPc�0�eZdZejd��Zy)�CTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.Ac��yryr$ras rrDzHTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.A.eggs�r�rN)rNrcrdr�r�rDr$rrrVr��r�rrVrc��eZdZd�Zy)�CTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.Bc��yrr$)rW�	attributes  rr�zOTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.B.__getattr__�r�rNr�r$rrrYr��r�rrY)rDr�)rDrzr�)r�rrQrr�)rWrPrVrYr�s     r� test_getmembers_VirtualAttributez8TestClassesAndFunctions.test_getmembers_VirtualAttribute�s���	1��	1�
	�!�	�	�	�	
�
�
�+�W�-?�-?��-B�C��
�
�&��(:�(:�1�3�(?�@�
�C���
�
�}�a�m�m�4�g�6H�6H��6K�Lrc��Gd�d�}|�}tj|�}tj|�}|jdtj|d�f|�|jdtj|d�f|�|jdtj|d�f|�|jdtj|d�f|�y)Nc�@�eZdZed��Zejd��Zy)�9TestClassesAndFunctions.test_getmembers_static.<locals>.Ac��t�rrras rrz>TestClassesAndFunctions.test_getmembers_static.<locals>.A.name����)�)rc��t�rrras rrDz>TestClassesAndFunctions.test_getmembers_static.<locals>.A.eggs�r�rN)rNrcrdrrr�r�rDr$rrrVr��s,��
�
*��
*�
�
(�
(�
*�)�
*rrVrrD)rQ�getmembers_staticr�getattr_static)rWrVr'�instance_members�
class_memberss     r�test_getmembers_staticz.TestClassesAndFunctions.test_getmembers_static�s���	*�	*�
�C��"�4�4�Q�7���1�1�!�4�
��
�
�v�w�5�5�a��@�A�CS�T��
�
�v�w�5�5�a��@�A�CS�T��
�
�v�w�5�5�a��@�A�=�Q��
�
�v�w�5�5�a��@�A�=�Qrc��Gd�dt�}Gd�d|��}tj|�D�cgc]}|d��	}}|jd|�ycc}w)Nc��eZdZd�Zy)�ATestClassesAndFunctions.test_getmembers_with_buggy_dir.<locals>.Mc�
�gd�SrLr$r�s rrzITestClassesAndFunctions.test_getmembers_with_buggy_dir.<locals>.M.__dir__�rNrNrOr$rrrPr��rQrrPc��eZdZy)�ATestClassesAndFunctions.test_getmembers_with_buggy_dir.<locals>.CNr�r$rrrr��r-rrrrrM)r�rQrrrTs     r�test_getmembers_with_buggy_dirz6TestClassesAndFunctions.test_getmembers_with_buggy_dir�sT��	<��	<�	�!�	�&�1�1�!�4�5�4�!��1��4��5�����E�*��6rVc��dtdtfd�}|jtj|�ttd��ddd�|_|jtj|�ddd��|jtj|dt
���|td��|jtj|dt
��	�|td��t}|jtj|�ttd��|jtj|j�ttd��|jtj|j�tt|jd
��|jtj|j�td|j|jd��|jtj|j�ddd
d��|jtjt�i�|jtj|j�i�|jtj|j�i�|jtj|d��ttd��|jtj|jd��ttd��|jtj|jd��tt|jd
��|jtj|jd��tt|j|jd��|jtj|jd��tt|jd��|jtjtd��i�|jtj|jd��i�|jtj|jd��i�|jtj|d��ttd��|jtj|jd��ttd��|jtj|jd��tt|jd
��|jtj|jd��td|j|jd��|jtj|jd��ddd
d��|jtjtd��i�|jtj|jd��i�|jtj|jd��i�d�}||j�}|j|dd�|jdd��|j|j|jj�|jtj|�tt|jd
��|jtj|d��tt|jd
��|jtj|d��tt|jd
��y)Nr'r�c��yrr$r�s  rr0zPTestClassesAndFunctions.test_get_annotations_with_stock_annotations.<locals>.foo����trr�r0r�T��eval_strrs�r��globals�r'r�r��r'r�rr�r��MyClass�r'r�r�r�Fc�B��tj���fd��}|S)Nc�"���|dz|dz�SrMr$�r'r�r�s  �r�wrapperziTestClassesAndFunctions.test_get_annotations_with_stock_annotations.<locals>.times_three.<locals>.wrapper������!�A�#�q��s�|�#r�r�r��r�r�s` r�times_threezXTestClassesAndFunctions.test_get_annotations_with_stock_annotations.<locals>.times_three��#���
�_�_�R�
 �
$�!�
$��Nrr.rre�xxx)r�r�r4rQ�get_annotationsr�rsrr�rY�	function2�	function3�UnannotatedClass�unannotated_function�assertIsNot�__globals__)rWr0�isar�r=s     r�+test_get_annotations_with_stock_annotationszCTestClassesAndFunctions.test_get_annotations_with_stock_annotations�s{��#�#�#��#�����0�0��5�S�s�7K�L�$)�u�5�������0�0��5�U��7O�P�����0�0��t�F�H�U�]`�gj�Wk�l�����0�0��t�V�X�V�^a�hk�Xl�m�'������0�0��5�S�s�7K�L�����0�0����=�S�s�?S�T�����0�0����>�c�PS�_b�_j�_j�@k�l�����0�0����?�s�QV�]`�]h�]h�tw�t�t�BA�	B�����0�0����?�u�SX�_h�Ai�j�����0�0��9�2�>�����0�0��1E�1E�F��K�����0�0��1I�1I�J�B�O�����0�0��t�D�C�VY�FZ�[�����0�0����t�L�TW�^a�Nb�c�����0�0�����M�UX�_b�nq�ny�ny�Oz�{�����0�0�����N�VY�`c�jm�ju�ju�BE�BM�BM�QN�	O�����0�0�����N�VY�`c�jm�ju�ju�Pv�w�����0�0��4�H�"�M�����0�0��1E�1E�PT�U�WY�Z�����0�0��1I�1I�TX�Y�[]�^�����0�0��u�E�S�WZ�G[�\�����0�0����u�M�UX�_b�Oc�d�����0�0�����N�VY�`c�or�oz�oz�P{�|�����0�0�����O�WZ�af�mp�mx�mx�EH�EP�EP�RQ�	R�����0�0�����O�W\�ch�ox�Qy�z�����0�0��5�I�2�N�����0�0��1E�1E�PU�V�XZ�[�����0�0��1I�1I�TY�Z�\^�_�	��c�l�l�+�������C��#�+�+�a��*?�@�����,�,�c�l�l�.F�.F�G�����0�0��9��3�Z]�Ze�Ze�;f�g�����0�0��4�H�PS�Z]�il�it�it�Ju�v�����0�0��5�I�QT�[^�jm�ju�ju�Kv�wrc�h�t}|jtj|�ddd��|jtj|j�ddd��|jtj|j
�dddd��|jtj|j�ddddd��|jtj|j�ddd	d
��|jtj|j�i�|jtj|j�i�|jtj|d��ttd��|jtj|jd��ttd��|jtj|j
d��tt|jd��|jtj|jd��td|j|jd��|jtj|jd��dddd
��|jtj|jd��i�|jtj|jd��i�|jtj|d
��ddd��|jtj|jd
��ddd��|jtj|j
d
��dddd��|jtj|jd
��ddddd��|jtj|jd
��ddd	d
��|jtj|jd
��i�|jtj|jd
��i�t}|jtj|�i�|jtj|d��i�|jtj|d
��i�d�}||j
�}|j|dd�|j	dd��|j|j|j
j�|jtj|�dddd��|jtj|d��tt|jd��|jtj|d
��dddd��|jtj|j�ddi�|jtj|jd��dti�y)Nr�r�r�r�r��'str'r��'int'�	'MyClass'r�Tr�Fc�B��tj���fd��}|S)Nc�"���|dz|dz�SrMr$r�s  �rr�znTestClassesAndFunctions.test_get_annotations_with_stringized_annotations.<locals>.times_three.<locals>.wrapperr�rr�r�s` rr�z]TestClassesAndFunctions.test_get_annotations_with_stringized_annotations.<locals>.times_threer�rr.rrer��mytype)rr4rQr�r�rYr�r�r�r�r�r�rr�r��MyClassWithLocalAnnotations)rWr��isa2r�r=s     r�0test_get_annotations_with_stringized_annotationszHTestClassesAndFunctions.test_get_annotations_with_stringized_annotations�s���,������0�0��5�U��7O�P�����0�0����=�U�QV�?W�X�����0�0����>�e�RW�cl�@m�n�����0�0����?�u�SZ�aj�v�BA�	B�����0�0����?�w�U\�cn�Ao�p�����0�0��1E�1E�F��K�����0�0��1I�1I�J�B�O�����0�0��t�D�C�VY�FZ�[�����0�0����t�L�TW�^a�Nb�c�����0�0�����M�UX�_b�nq�ny�ny�Oz�{�����0�0�����N�VY�`e�lo�lw�lw�DG�DO�DO�QP�	Q�����0�0�����N�V[�bg�nw�Px�y�����0�0��1E�1E�PT�U�WY�Z�����0�0��1I�1I�TX�Y�[]�^�����0�0��u�E�U�Y^�G_�`�����0�0����u�M�UZ�af�Og�h�����0�0�����N�V[�bg�s|�P}�~�����0�0�����O�W\�cj�qz�GP�RQ�	R�����0�0�����O�W^�el�s~�Q�	A�����0�0��1E�1E�PU�V�XZ�[�����0�0��1I�1I�TY�Z�\^�_�/������0�0��6��;�����0�0���E�r�J�����0�0���F��K�	��c�l�l�+�������C��#�+�+�a��*?�@�����,�,�c�l�l�.F�.F�G�����0�0��9��U�^g�;h�i�����0�0��4�H�PS�Z]�il�it�it�Ju�v�����0�0��5�I�QV�]b�nw�Kx�y�	
����0�0��1P�1P�Q�TW�Ya�Sb�c�����0�0��1P�1P�[_�`�cf�hk�bl�mrc�P�t}tj|jd��}|jj}|j|d|d�|j
|djdt|d�|j|djd|d�y)	NTr�rrrkr.r-r/)	rrQr�rV�__type_params__rTr4�__args__r)rW�
ann_module695�
A_annotations�
A_type_paramss    r�1test_pep695_generic_class_with_future_annotationszITestClassesAndFunctions.test_pep695_generic_class_with_future_annotationss���=�
��/�/�
���$�O�
�%���7�7�
��
�
�m�C�(�-��*:�;�����s�+�4�4�Q�7��
�a�@P�9Q�R��
�
�m�C�(�1�1�!�4�m�A�6F�Grc��tjtjd��}|j	|t
ttd��y)NTr�)rrkr-)rQr�rrYr4r�r��bytes)rW�
B_annotationss  r�Etest_pep695_generic_class_with_future_annotations_and_local_shadowingz]TestClassesAndFunctions.test_pep695_generic_class_with_future_annotations_and_local_shadowing s6���/�/�1�3�3�d�
�
�	
����c��%�(H�Irc���t}tj|jd��}|j	t|j
��t|jj��y�NTr�)rrQr�rr4rP�valuesr�)rWr��
C_annotationss   r�Mtest_pep695_generic_class_with_future_annotations_name_clash_with_global_varszeTestClassesAndFunctions.test_pep695_generic_class_with_future_annotations_name_clash_with_global_vars&sN��=�
��/�/�
���$�O�
�����
�$�$�&�'��
���/�/�0�	
rc��t}tj|jd��}|jj}|j|j
�hd��|j|d|d�|j|dt|d�|j|dj|d	�|j|d
j|d	�y)NTr�>rrkr-�zzr�rrrkr.r-r/r�)
rrQr��generic_functionr�r4�keysrTr�
__origin__)rWr��generic_func_annotations�
func_t_paramss    r�5test_pep_695_generic_function_with_future_annotationszMTestClassesAndFunctions.test_pep_695_generic_function_with_future_annotations.s���=�
�#*�#:�#:��*�*�T�$
� �&�6�6�F�F�
����$�)�)�+�-L�	
�	
�
�
�.�s�3�]�1�5E�F����1�#�6��}�Q�?O�8P�Q��
�
�.�s�3�>�>�
�a�@P�Q��
�
�.�t�4�?�?��q�AQ�Rrc���|jttjtj
d��j
��ttj
j��yr�)r4rPrQr�r�generic_function_2r�r�ras r�Qtest_pep_695_generic_function_with_future_annotations_name_clash_with_global_varsziTestClassesAndFunctions.test_pep_695_generic_function_with_future_annotations_name_clash_with_global_vars<sT�������'�'�9�L�L�!���&�(�	
�
�5�H�H�X�X�
�
	
rc��t}tj|jjd��}|jjj
D�cic]}|j|��}}|j||d|ddd��ycc}w)NTr��Foo�Bar)rrkr�)rrQr�r^�generic_methodr�rNr4)rWr��generic_method_annotations�param�paramss     r�3test_pep_695_generic_method_with_future_annotationszKTestClassesAndFunctions.test_pep_695_generic_method_with_future_annotationsIs���=�
�%,�%<�%<��O�O�*�*�T�&
�"�
'���7�7�G�G�
�G��
�N�N�E�!�G�	�
�	
���&���-�f�U�m�t�D�	
��	
s�Bc��|jttjtj
jd��j��ttj
jj��yr�)	r4rPrQr�rr^�generic_method_2r�r�ras r�Otest_pep_695_generic_method_with_future_annotations_name_clash_with_global_varszgTestClassesAndFunctions.test_pep_695_generic_method_with_future_annotations_name_clash_with_global_varsWs`�������'�'�9�;�;�L�L�!���&�(�	
�
�5�7�7�H�H�X�X�
�
	
rc�z�|jtjtjd��dt
i�y)NTr�r)r4rQr�r�Er�ras r�Ytest_pep_695_generic_method_with_future_annotations_name_clash_with_global_and_local_varszqTestClassesAndFunctions.test_pep_695_generic_method_with_future_annotations_name_clash_with_global_and_local_varsds2������#�#�5�7�7�$�
��#�J�		
rc��tj�}|jt|jj��t|jj��|jt|jj��t|jjj��|jt|jj��t|jj��|jt|jj��j|jj�t��|j|jdti�|jt|jj��t|jj��y)Nr)r�nestedr4rP�
F_annotationsr��Fr��F_meth_annotationsr��assertNotEqual�intersection�
G_annotationsr�r��generic_func)rW�resultss  r�@test_pep_695_generics_with_future_annotations_nested_in_functionzXTestClassesAndFunctions.test_pep_695_generics_with_future_annotations_nested_in_functionlsU��7�>�>�@�������%�%�,�,�.�/���	�	�)�)�*�	
�	
�����*�*�1�1�3�4���	�	�(�(�8�8�9�	
�	
�����*�*�1�1�3�4���	�	�)�)�*�	
�	
�����*�*�1�1�3�4�A�A�'�)�)�B[�B[�\��E�	
�
	
����.�.��c�
�;������0�0�7�7�9�:���$�$�4�4�5�	
r),rNrcrdrbrrrr�r�r�r�r'rr�rr�r�r�r�r�r�rrr%rGrUrerkrvrr�r�r�r�r�r�r�r�r�r�r�r�r�r�rr$rrrRrR�s_��	(�BF�,0�T�24�2�59�*,�	
%�H�01�5�A��X�_�_�)�M�O�	I�O�	I���X�_�_�)�M�O�6�O��6���X�_�_�)�M�O�,�O��,�	>�OK�b.�(
H�
M�H�H�!#�F+�(�@	K��$�(
�M�$R�"+�1x�f.n�`H�J�
�S�
�
�
�
�
rrRc��eZdZd�Zy)�TestFormatAnnotationc��ddlm}m}|jt	j
|�d�|jt	j
|�d�y)Nr)rq�ann1zUnion[List[str], int]z%Union[List[testModule.typing.A], int])�test.typinganndata.ann_module9rqrr4rQ�formatannotation)rWrqrs   r�test_typing_replacementz,TestFormatAnnotation.test_typing_replacement�s=��<�����1�1�#�6�8O�P�����1�1�$�7�9`�arN)rNrcrdrr$rrrr�s��brrc�$�eZdZd�Zd�Zd�Zd�Zy)�TestIsDataDescriptorc��Gd�d�}Gd�d�}Gd�d�}Gd�d�}|jtj|��d	�|jtj|��d
�|jtj|��d�|jtj|��d�y)
Nc��eZdZdd�Zy)�GTestIsDataDescriptor.test_custom_descriptors.<locals>.NonDataDescriptorNc��yrr$)rW�valuer�s   rr@zOTestIsDataDescriptor.test_custom_descriptors.<locals>.NonDataDescriptor.__get__�s��rr�rNrcrdr@r$rr�NonDataDescriptorr
�s��5rrc��eZdZd�Zy)�ETestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor0c��yrr$)rWrrs   rrDzMTestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor0.__set__����DrN�rNrcrdrDr$rr�DataDescriptor0r�s��0rrc��eZdZd�Zy)�ETestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor1c��yrr$)rWrs  r�
__delete__zPTestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor1.__delete__����rN)rNrcrdrr$rr�DataDescriptor1r�s��,rrc��eZdZdZy)�ETestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor2Nrr$rr�DataDescriptor2r�s���Grr z-class with only __get__ not a data descriptorz'class with __set__ is a data descriptorz*class with __delete__ is a data descriptorz.class with __set__ = None is a data descriptor)rVrQr�rM)rWrrrr s     r�test_custom_descriptorsz,TestIsDataDescriptor.test_custom_descriptors�s���	6�	6�	1�	1�	-�	-�	�	�����1�1�2C�2E�F�H�	J�����0�0��1B�C�A�	C�����0�0��1B�C�D�	F�����0�0��1B�C�H�	Jrc�v�Gd�d�}|jtj|j�d�y)Nc��eZdZdZy)�/TestIsDataDescriptor.test_slot.<locals>.Slotted�r0Nr�r$rr�Slottedr$�s���Irr&za slot is a data descriptor)rMrQr�r0)rWr&s  r�	test_slotzTestIsDataDescriptor.test_slot�s,��	�	�����0�0����=�5�	7rc�v�Gd�d�}|jtj|j�d�y)Nc��eZdZed��Zy)�6TestIsDataDescriptor.test_property.<locals>.Propertiedc��yrr$ras r�
a_propertyzATestIsDataDescriptor.test_property.<locals>.Propertied.a_property�r�rN)rNrcrdrr,r$rr�
Propertiedr*�s��
�
��
rr-za property is a data descriptor)rMrQr�r,)rWr-s  r�
test_propertyz"TestIsDataDescriptor.test_property�s0��	�	�	
����0�0��1F�1F�G�9�	;rc��Gd�dt�}d�}d�}|jtj|�j�d�|jtj|�j
�d�|jtj|�j�d�|jtj|�d�|jtj|�d	�y)
Nc�2�eZdZd�Zed��Zed��Zy)�1TestIsDataDescriptor.test_functions.<locals>.Testc��yrr$ras r�instance_methodzATestIsDataDescriptor.test_functions.<locals>.Test.instance_method����trc��yrr$r�s r�class_methodz>TestIsDataDescriptor.test_functions.<locals>.Test.class_method�s��#'rc��yrr$r$rr�
static_methodz?TestIsDataDescriptor.test_functions.<locals>.Test.static_method�s��!%rN)rNrcrdr3r�r6r�r8r$rr�Testr1�s!��+�
�'��'�
�%��%rr9c��yrr$r$rrrYz5TestIsDataDescriptor.test_functions.<locals>.function�r�rc��yrr$r$rrr�z5TestIsDataDescriptor.test_functions.<locals>.<lambda>����4rz*a instance method is not a data descriptorz'a class method is not a data descriptorz(a static method is not a data descriptorz#a function is not a data descriptorz!a lambda is not a data descriptor)r�rVrQr�r3r6r8)rWr9rY�a_lambdas    r�test_functionsz#TestIsDataDescriptor.test_functions�s���	&�6�	&�	�������1�1�$�&�2H�2H�I�E�	G�����1�1�$�&�2E�2E�F�B�	D�����1�1�$�&�2F�2F�G�C�	E�����1�1�(�;�>�	@�����1�1�(�;�<�	>rN)rNrcrdr!r'r.r>r$rrr
r
�s��J�$7�;�>rr
c�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�TestGetClosureVarsc���d�}t�}d|i}dti}dti}dh}tj||||�}|jtj||��|�y)Nc����fd�}|S)Nc�2��t|�tt�yr��print�_global_ref�unbound_ref��	local_ref�nonlocal_refs �rrxz=TestGetClosureVars.test_name_resolution.<locals>.f.<locals>.g�s����i��{�K�Hrr$�rJrxs` rrwz2TestGetClosureVars.test_name_resolution.<locals>.f�s���
I��HrrJrFrErG�r�rFrErQ�ClosureVarsr4�getclosurevars�rWrw�_arg�
nonlocal_vars�global_vars�builtin_vars�
unbound_namesr`s        r�test_name_resolutionz'TestGetClosureVars.test_name_resolution�sn��	��x��'��.�
�$�k�2����'��&��
��&�&�}�k�'3�]�D������/�/��$��8�(�Crc���d�}t�}d|i}dti}dti}dh}tj||||�}|jtj||��|�y)Nc����fd�}|S)Nc3�B�K�t|�tt�d��y�wrrDrHs �rrxz?TestGetClosureVars.test_generator_closure.<locals>.f.<locals>.g�s������i��{�K�H��s�r$rKs` rrwz4TestGetClosureVars.test_generator_closure.<locals>.f�s���
��HrrJrFrErGrLrOs        r�test_generator_closurez)TestGetClosureVars.test_generator_closure�sn��	�
�x��'��.�
�$�k�2����'��&��
��&�&�}�k�'3�]�D������/�/��$��8�(�Crc��Gd�d�}t�}d|i}dti}dti}dh}tj||||�}|jtj|�j|��|�y)Nc��eZdZd�Zy)�1TestGetClosureVars.test_method_closure.<locals>.Cc����fd�}|S)Nc�2��t|�tt�yrrDrHs �rrxz>TestGetClosureVars.test_method_closure.<locals>.C.f.<locals>.g�s����)�\�;��Lrr$)rWrJrxs ` rrwz3TestGetClosureVars.test_method_closure.<locals>.C.f�s���M��rNrjr$rrrr\�s��
rrrJrFrErG)r�rFrErQrMr4rNrw)rWrrPrQrRrSrTr`s        r�test_method_closurez&TestGetClosureVars.test_method_closure�sy��	�	�
�x��'��.�
�$�k�2����'��&��
��&�&�}�k�'3�]�D������/�/�����d��<�h�Grc�\���	�d��	d�}d�}d�}�fd����	�fd�}|d�}|d�}||d	�}�j�	|�d
di��j�	|�d
di��j�	|�d	|d���j�	d�d
��d
d
i��|�y)Nc�@�tj|�jSr)rQrN�	nonlocals�rws r�_nonlocal_varsz=TestGetClosureVars.test_nonlocal_vars.<locals>._nonlocal_vars�s���)�)�!�,�6�6�6rc����fd�}|S)Nc����|zSrr$�rkrs �r�addzFTestGetClosureVars.test_nonlocal_vars.<locals>.make_adder.<locals>.add�s����1�u�rr$)rrhs` r�
make_adderz9TestGetClosureVars.test_nonlocal_vars.<locals>.make_adder�s
���
��Jrc������fd�S)Nc�����|�Srr$)rurtr�s ��rr�zFTestGetClosureVars.test_nonlocal_vars.<locals>.curry.<locals>.<lambda>s����T�4� 0rr$)r�rts``r�curryz4TestGetClosureVars.test_nonlocal_vars.<locals>.currys	���0�0rc��||kSrr$r�s  r�	less_thanz8TestGetClosureVars.test_nonlocal_vars.<locals>.less_than����q�5�Lrc�.����fd�}|�_||�S)Nc������fd��S)Nc� �����|�Srr$)rrws �rr�zMTestGetClosureVars.test_nonlocal_vars.<locals>.Y.<locals>.g.<locals>.<lambda>
s���D�A�a�D��Grr$)rw�les`�rrxz;TestGetClosureVars.test_nonlocal_vars.<locals>.Y.<locals>.g	s����+�,�,r)�g_ref)rsrx�Ys` �rruz0TestGetClosureVars.test_nonlocal_vars.<locals>.Ys���
-��A�G��Q�4�Krc�N���j�|�d�ji�y)Nrw)r4rt)r�rurdrWs ���r�check_y_combinatorzATestGetClosureVars.test_nonlocal_vars.<locals>.check_y_combinators ������^�D�1�C����>�Brr.r/rr)rtr�c����fd�S)Nc����|zSrr$rgs �rr�zITestGetClosureVars.test_nonlocal_vars.<locals>.<lambda>.<locals>.<lambda>s	���Q��Urr$�rs`rr�z7TestGetClosureVars.test_nonlocal_vars.<locals>.<lambda>s���?rre)r4)
rWrirlrnrw�inc�add_two�greater_than_fiverurds
`       @@r�test_nonlocal_varsz%TestGetClosureVars.test_nonlocal_vars�s����	7�	�
	1�	�	�	C���m���Q�-��!�)�Q�/�������,�s�A�h�7������0�3��(�;�����(9�:�"#�Y�7�	9�����)B�A�(F�G��q��	#�	�
�rc���d�}tjiiit��}|jtjd��|�|jtj|�|�y)Nc��yrr$r$rrr0z9TestGetClosureVars.test_getclosurevars_empty.<locals>.foo���4rc��y�NTr$r$rrr�z>TestGetClosureVars.test_getclosurevars_empty.<locals>.<lambda> s��r)rQrMrPr4rN)rWr0�_emptys   r�test_getclosurevars_emptyz,TestGetClosureVars.test_getclosurevars_emptysS����$�$�R��R���7������/�/��=�v�F�����/�/��4�f�=rc��Gd�d�}|jttjd�|jttjt�|jttji�y)Nc��eZdZy)�7TestGetClosureVars.test_getclosurevars_error.<locals>.TNr�r$rr�Tr�$r�rr�r.)r�r�rQrNr�)rWr�s  r�test_getclosurevars_errorz,TestGetClosureVars.test_getclosurevars_error#sO���
����)�W�%;�%;�Q�?����)�W�%;�%;�T�B����)�W�%;�%;�R�@rc�0�d}i}t||�|d|fS)Nzdef f(): print(path)rw)r5)rWr.r#s   r�_private_globalsz#TestGetClosureVars._private_globals)s#��)��
���T�2���#�w��{�rc���|j�\}}|jdd�tjiidtidh�}|jtj|�|�y)Nr�rEr&)r��poprQrMrEr4rN�rWrwr#r`s    r�test_builtins_fallbackz)TestGetClosureVars.test_builtins_fallback/sY���%�%�'���2�
���~�t�$��&�&�r�2������I������/�/��2�H�=rc��|j�\}}ddi|d<tjiiddidh�}|jtj|�|�y)Nr&r.r�rE)r�rQrMr4rNr�s    r�test_builtins_as_dictz(TestGetClosureVars.test_builtins_as_dict5sY���%�%�'���2�$�Q�Z��>���&�&�r�2��q�z�G�9�E������/�/��2�H�=rc���|j�\}}t|d<tjiidtjidh�}|jtj|�|�y)Nr�r&rE)r�r$rQrMr&r4rNr�s    r�test_builtins_as_modulez*TestGetClosureVars.test_builtins_as_module;sZ���%�%�'���2���>���&�&�r�2��r�w�w�/?�'��K������/�/��2�H�=rN)
rNrcrdrUrYr_r~r�r�r�r�r�r�r$rrr@r@�s9��
D�
D�
H�$�L>�A��>�>�>rr@c�L�eZdZdd�Zdd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zy)
�TestGetcallargsFunctionsNc��t|xsi|��}td|zd|�}td|zd|�}|j||�y)N�r��func(%s)�inspect.getcallargs(func, %s))rrLr4)rWr��call_params_string�locs�r1�r2s      r�assertEqualCallArgsz,TestGetcallargsFunctions.assertEqualCallArgsDsN���D�J�B�T�*��
�*�1�1�4��
>��
�1�4F�F���������R� rc��t|xsi|��}	td|zd|�|jd�	td|zd|�|jd�|j	t�t��|j
t|�t|��~~y#t$r}|}Yd}~�}d}~wwxYw#t$r}|}Yd}~�sd}~wwxYw)Nr�r�zException not raisedr�)rrL�failr�rTr�r4r�)rWr��call_param_stringr�r��ex1�ex2s       r�assertEqualExceptionz-TestGetcallargsFunctions.assertEqualExceptionKs����D�J�B�T�*��	.���/�/��t�<�
�I�I�,�-�	.��0�3D�D�d��
�

�I�I�,�-��
�
�d�3�i��c��+�����S��3�s�8�,�����	��C��	���	��C��	�s.�B!�B9�!	B6�*B1�1B6�9	C�C	�	Cc�"�d}t||z�S)z+Create a function that returns its locals()zlambda %s: locals())rL)rWr�r.s   r�makeCallablez%TestGetcallargsFunctions.makeCallable^s��$���D�9�$�%�%rc��|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d	�|j|d
�|j|d�|j|d�|j|d
�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�y)N�a, b=1�2�2, 3�a=2zb=3, a=2z2, b=3z*(2,)z*[2]z*(2, 3)z*[2, 3]z	**{"a":2}zb=3, **{"a":2}z2, **{"b":3}z**{"b":3, "a":2}z*collections.UserList([2])z*collections.UserList([2, 3])z**collections.UserDict(a=2)z2, **collections.UserDict(b=3)z b=2, **collections.UserDict(a=3)�r�r��rWrws  r�
test_plainz#TestGetcallargsFunctions.test_plaincs9�����h�'��� � ��C�(�� � ��F�+�� � ��E�*�� � ��J�/�� � ��H�-�� � ��G�,�� � ��F�+�� � ��I�.�� � ��I�.�� � ��K�0�� � ��$4�5�� � ��N�3�� � ��$6�7�� � ��$@�A�� � ��$C�D�� � ��$A�B�� � ��$D�E�� � ��$F�Grc��|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�y)Nz
a, b=1, *cr�r��2, 3, 4z*(2,3,4)z	2, *[3,4]z 2, 3, *collections.UserList([4])r�r�s  r�test_varargsz%TestGetcallargsFunctions.test_varargszss�����l�+��� � ��C�(�� � ��F�+�� � ��I�.�� � ��J�/�� � ��K�0�� � ��$F�Grc�j�|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d	�|j|d
�y)Nza, b=1, **cr�z2, b=3, c=4z
b=3, a=2, c=4zc=4, **{"a":2, "b":3}z2, c=4, **{"b":3}zb=2, **{"a":3, "c":4}z%**collections.UserDict(a=2, b=3, c=4)z#2, c=4, **collections.UserDict(b=3)z%b=2, **collections.UserDict(a=3, c=4)r�r�s  r�
test_varkwz#TestGetcallargsFunctions.test_varkw�s������m�,��� � ��E�*�� � ��M�2�� � ��O�4�� � ��$;�<�� � ��$7�8�� � ��$;�<�� � ��$K�L�� � ��$I�J�� � ��$K�Lrc��|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�y)N�**cr�za=1za=1, b=2zc=3, **{"a": 1, "b": 2}z **collections.UserDict(a=1, b=2)z%c=3, **collections.UserDict(a=1, b=2)r�r�s  r�test_varkw_onlyz(TestGetcallargsFunctions.test_varkw_only�su�����e�$��� � ��B�'�� � ��E�*�� � ��J�/�� � ��$=�>�� � ��$F�G�� � ��$K�Lrc���|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d	�|jd
�}|j|d�|j|d�|j|d�y)
Nza=3, *, c, d=2zc=3zc=3, a=3za=2, c=4z4, c=4r��3za=3zd=4z	*, c, d=2zc=3, d=4zd=4, c=3)r�r�r�r�s  r�test_keyword_onlyz*TestGetcallargsFunctions.test_keyword_only�s������.�/��� � ��E�*�� � ��J�/�� � ��J�/�� � ��H�-��!�!�!�R�(��!�!�!�S�)��!�!�!�U�+��!�!�!�U�+����k�*��� � ��E�*�� � ��J�/�� � ��J�/rc��|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|jd	�}|j|d�|j|d�|j|d
�|j|d�|j|d�|j|d
�y)Nza, b=2, *f, **gz2, 3, 7z	2, 3, x=8z2, 3, x=8, *[(4,[5,6]), 7]z2, x=8, *[3, (4,[5,6]), 7], y=9zx=8, *[2, 3, (4,[5,6])], y=9z@x=8, *collections.UserList([2, 3, (4,[5,6])]), **{"y":9, "z":10}zP2, x=8, *collections.UserList([3, (4,[5,6])]), **collections.UserDict(y=9, z=10)za, b=2, *f, x, y=99, **gz%2, x=8, *[3, (4,[5,6]), 7], y=9, z=10z"x=8, *[2, 3, (4,[5,6])], y=9, z=10zEx=8, *collections.UserList([2, 3, (4,[5,6])]), q=0, **{"y":9, "z":10}zU2, x=8, *collections.UserList([3, (4,[5,6])]), q=0, **collections.UserDict(y=9, z=10)r�r�s  r�test_multiple_featuresz/TestGetcallargsFunctions.test_multiple_features�s�����/�0��� � ��I�.�� � ��K�0�� � ��$@�A�� � ��$E�F�� � ��$B�C�� � ��%I�	J�� � ��%.�	/�
���8�9��� � ��K�0�� � ��$@�A�� � ��$K�L�� � ��$H�I�� � ��%N�	O�� � ��%.�	/rc���|jd�}|jd�}|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�||fD]�}|j|d	�|j|d
�|j|d�|j|d�|j|d
�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d���|jd�}|j|d�|j|d�|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�d�}|jtd �5t	j
|�ddd�d!�}|jtd"�5t	j
|�ddd�|jtd#�5t	jd$tjjd%�&�ddd�|jtd'�5t	jd(d)d%�&�ddd�|jtd*�5t	jd+d,�-�ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�dxYw#1swYyxYw).Nr�za, br�r�r�z1,x=1r�zb=3r�z1, 2, 3, a=1z2, 3, 4, c=5z2, 3, 4, a=1, c=5zc=2z2, c=3z	2, 3, c=4z2, c=4, b=3u**{u"πι": 4}z1, a=2z1, **{"a":2}z	1, 2, b=3z1, c=3, a=2r�z1, 2z1, 2, a=1, b=2z	*, a, b=0za=1, a=3za=1, c=3z
a=1, a=3, b=4za=1, b=2, a=3, b=4za=1, a=2, a=3, b=4c��yrr$r�s r�f5z0TestGetcallargsFunctions.test_errors.<locals>.f5�s��drzmissing 1 required keyword-onlyc��yrr$r�s   r�f6z0TestGetcallargsFunctions.test_errors.<locals>.f6�r�rz'a', 'b' and 'c'z6variadic keyword parameters cannot have default valuesr0r���kind�defaultz%value 5 is not a valid Parameter.kindr(rzname must be a str, not a int�{rG�r�)	r�r�r�r�rQ�getcallargs�
ValueErrorr��VAR_KEYWORD)	rW�f0�f1�f2rw�f3�f4r�r�s	         r�test_errorsz$TestGetcallargsFunctions.test_errors�s���
�
�
�r�
"��
�
�
�v�
&��
�
�
�x�
(���!�!�"�c�*��!�!�"�e�,��!�!�"�g�.��!�!�"�b�)��!�!�"�c�*��!�!�"�e�,��!�!�"�e�,��!�!�"�b�)��!�!�"�e�,��R��A��%�%�a��3��%�%�a��8��%�%�a��8��%�%�a�)<�=��%�%�a��/��%�%�a��2��%�%�a��5��%�%�a��7��%�%�a�)A�B��%�%�a��2��%�%�a��8��%�%�a��5��%�%�a��7�!�$�
�
�u�
%���!�!�"�f�-��!�!�"�&6�7�
�
�
�{�
+���!�!�"�f�-��!�!�"�&6�7��!�!�"�j�1��!�!�"�j�1��!�!�"�o�6��!�!�"�&:�;��!�!�"�&:�;�	�
�
#�
#�I�$E�G�����#�G�	�
�
#�
#�I�/A�
B�����#�C��
#�
#�J�%;�<�
���e�'�*;�*;�*G�*G�&(�
*�<�
�
#�
#�J�$K�M����e�!�R�8�M��
#�
#�I�#B�D����c��*�D�D�+G�G��C�
B��<�<��
M�M��D�D�s<�&N8�O�1O� O�O(�8O�O
�O�O%�(O1r)
rNrcrdr�r�r�r�r�r�r�r�r�r�r$rrr�r�Bs9��!��&&�
H�.H�
M�M�0� /�0H+rr�c�$��eZdZd�Z�fd�Z�xZS)�TestGetcallargsMethodsc�H�Gd�dt�}||_|�|_y)Nc��eZdZy)�)TestGetcallargsMethods.setUp.<locals>.FooNr�r$rrr�r�r-rr�)r�r��inst)rWr�s  rr�zTestGetcallargsMethods.setUp
s��	�&�	�����E��	rc���tt|�
}|d|z�|j_|j
jS)Nzself, )r*r�r�r�r�r�)rWr��mkr,s   �rr�z#TestGetcallargsMethods.makeCallables5���
�)�4�
=���X�	�1�2������y�y���r)rNrcrdr�r�r4r5s@rr�r�s���� � rr�c�>��eZdZ�fd�Zd�fd�	Zd�fd�	Zdd�Z�xZS)�TestGetcallargsUnboundMethodsc�V��tt|�|�|jjSr)r*r�r�r�r�)rWr�r,s  �rr�z*TestGetcallargsUnboundMethods.makeCallables!���
�+�T�?�	�J��x�x���rc�F��tt|�
|j|||��Sr)r*r�r��_getAssertEqualParams�rWr�r�r�r,s    �rr�z1TestGetcallargsUnboundMethods.assertEqualCallArgss-����2�D�M�
�
'�
'��.@�$�
G�I�	Irc�F��tt|�
|j|||��Sr)r*r�r�r�r�s    �rr�z2TestGetcallargsUnboundMethods.assertEqualException#s-����2�D�N�
�
'�
'��.@�$�
G�I�	Irc�H�t|xsi|j��}|d|z|fS)N)r�zinst,)rr�)rWr�r�r�s    rr�z3TestGetcallargsUnboundMethods._getAssertEqualParams's)���D�J�B�T�Y�Y�/���g� 2�2�D�9�9rr)rNrcrdr�r�r�r�r4r5s@rr�r�s����I�I�:rr�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TestGetattrStaticc��Gd�dt�}|�}|jtj|d�|j�|jtj|dd�|j�|jt�5tj|d�ddd�|jtj|dd�d�y#1swY�1xYw)Nc��eZdZe�Zy)�+TestGetattrStatic.test_basic.<locals>.ThingN�rNrcrdr�rr$rr�Thingr�0�	����Arr�rrkre)r�r4rQr�rr�r�rWr��things   r�
test_basiczTestGetattrStatic.test_basic/s���	�F�	��������/�/��s�;�U�W�W�E�����/�/��s�D�A�5�7�7�K�
�
�
�~�
.��"�"�5�#�.�/�	
����/�/��s�A�>��B�/�
.�s�
C�Cc��Gd�dt�}Gd�d|�}|�}|jtj|d�|j�y)Nc��eZdZe�Zy)�/TestGetattrStatic.test_inherited.<locals>.ThingNr�r$rrr�r�<r�rr�c��eZdZy)�4TestGetattrStatic.test_inherited.<locals>.OtherThingNr�r$rr�
OtherThingr�>r-rr�r�r�r4rQr�r)rWr�r��	somethings    r�test_inheritedz TestGetattrStatic.test_inherited;sD��	�F�	�	��	��L�	�����/�/�	�3�?����Irc���Gd�dt�}|d�}|jtj|d�d�|`|jtj|d�d�y)Nc��eZdZdZd�Zy)�3TestGetattrStatic.test_instance_attr.<locals>.Thingr/c��||_yrrz�rWrs  rr�z<TestGetattrStatic.test_instance_attr.<locals>.Thing.__init__Gs	����rN)rNrcrdrr�r$rrr�r�Es���A�
rr�rerr/r�r�s   r�test_instance_attrz$TestGetattrStatic.test_instance_attrDsX��	�F�	��a�������/�/��s�;�Q�?��G�����/�/��s�;�Q�?rc��Gd�dt�}|�}|jtj|d�|j�y)Nc��eZdZed��Zy)�.TestGetattrStatic.test_property.<locals>.Thingc��td���NzI'm pretending not to existr�ras rrz0TestGetattrStatic.test_property.<locals>.Thing.xPs��$�%B�C�CrN)rNrcrdrrr$rrr�r�Os��
�
D��
Drr�rr�r�s   rr.zTestGetattrStatic.test_propertyNs:��	D�F�	D��������/�/��s�;�U�W�W�Erc���Gd�dt�}|��G�fd�dt�}|�}|jtj|d���y)Nc��eZdZd�Zy)�KTestGetattrStatic.test_descriptor_raises_AttributeError.<locals>.descriptorc��td��r�r�)r`s rr@zSTestGetattrStatic.test_descriptor_raises_AttributeError.<locals>.descriptor.__get__Xs��$�%B�C�CrNrr$rr�
descriptorrWs��
Drrc���eZdZW�Zy)�FTestGetattrStatic.test_descriptor_raises_AttributeError.<locals>.ThingN�rNrcrdr)�descs�rr�r[s����Arr�r)r�r4rQr�)rWrr�r�rs    @r�%test_descriptor_raises_AttributeErrorz7TestGetattrStatic.test_descriptor_raises_AttributeErrorVsJ���	D��	D��|��	�F�	��������/�/��s�;�T�Brc��Gd�dt�}|jtj|d�|j�y)Nc��eZdZe�Zy)�4TestGetattrStatic.test_classAttribute.<locals>.ThingNr�r$rrr�rar�rr�rr��rWr�s  r�test_classAttributez%TestGetattrStatic.test_classAttribute`s1��	�F�	�	
����/�/��s�;�U�W�W�Erc��Gd�dt�}|jtj|d�|jd�y)Nc�>�eZdZejd��Ze�Zy)�;TestGetattrStatic.test_classVirtualAttribute.<locals>.Thingc��|jSr)�_xras rrz=TestGetattrStatic.test_classVirtualAttribute.<locals>.Thing.xhs���w�w�rN)rNrcrdr�r�rr�rr$rrr�rgs!��
�
(�
(�
�)�
���Brr�r)r�r4rQr�rrs  r�test_classVirtualAttributez,TestGetattrStatic.test_classVirtualAttributefs6��	�F�	�	
����/�/��s�;�U�^�^�C�=P�Qrc��Gd�dt�}Gd�d|�}|jtj|d�|j�y)Nc��eZdZe�Zy)�>TestGetattrStatic.test_inherited_classattribute.<locals>.ThingNr�r$rrr�rpr�rr�c��eZdZy)�CTestGetattrStatic.test_inherited_classattribute.<locals>.OtherThingNr�r$rrr�rrr-rr�rr��rWr�r�s   r�test_inherited_classattributez/TestGetattrStatic.test_inherited_classattributeos=��	�F�	�	��	�	
����/�/�
�C�@�%�'�'�Jrc�@�Gd�dt�}|�}|jtj|d�|j�|jtj|d�d�|`|jtj|d�|j�y)Nc��eZdZdZdgZd�Zy)�+TestGetattrStatic.test_slots.<locals>.Thingr(rc��d|_y�Nr0rzras rr�z4TestGetattrStatic.test_slots.<locals>.Thing.__init__{�	����rN)rNrcrdrkrr�r$rrr�rxs���A���I�
rr�rrkr(r�r�s   r�
test_slotszTestGetattrStatic.test_slotsws{��	�F�	�
�������/�/��s�;�U�W�W�E�����/�/��s�;�U�C��G�����/�/��s�;�U�W�W�Erc�v�Gd�dt�}Gd�dt|��}|jtj|d�d�Gd�d	|�}Gd
�dt|��}|jtj|d�d�Gd�d
|�}|jtj|d�d�y)Nc��eZdZdZy)�.TestGetattrStatic.test_metaclass.<locals>.metar0N)rNrcrdr�r$rr�metar$�s���Drr%c��eZdZy)�/TestGetattrStatic.test_metaclass.<locals>.ThingNr�r$rrr�r'�r-rr�rr�r0c��eZdZy)�-TestGetattrStatic.test_metaclass.<locals>.subNr�r$rr�subr)�r-rr*c��eZdZdZy)�4TestGetattrStatic.test_metaclass.<locals>.OtherThingreNrr$rrr�r,�����Arr�c��eZdZy)�9TestGetattrStatic.test_metaclass.<locals>.OtherOtherThingNr�r$rr�OtherOtherThingr/�r-rr0rre�r�r�r4rQr�)rWr%r�r*r�r0s      r�test_metaclassz TestGetattrStatic.test_metaclass�s���	�4�	�	�F�d�	�����/�/��v�>��F�	�$�	�	��3�	�����/�/�
�F�C�U�K�	�j�	�	
����/�/���E�q�Irc��|jtjddd�d�|jtjdd�d�y)Nr.r0�lower)r4rQr�r�ras r�test_no_dict_no_slotsz'TestGetattrStatic.test_no_dict_no_slots�s>������/�/��5�$�?��F����G�2�2�5�'�B�D�Irc���ttd��5}|jtj|d�t|�j�ddd�y#1swYyxYw)Nrr�r)r�rXr4rQr�r�r)rW�handles  r�%test_no_dict_no_slots_instance_memberz7TestGetattrStatic.test_no_dict_no_slots_instance_member�sA��
�(�W�
-�����W�3�3�F�F�C�T�&�\�EV�EV�W�.�
-�
-�s�:A�Ac��Gd�dt�}Gd�d|�}|jtj|�d�|j�y)Nc��eZdZdgZd�Zy)�5TestGetattrStatic.test_inherited_slots.<locals>.Thingrc��d|_yrrzras rr�z>TestGetattrStatic.test_inherited_slots.<locals>.Thing.__init__�r rN)rNrcrdrr�r$rrr�r;�s����I�
rr�c��eZdZy)�:TestGetattrStatic.test_inherited_slots.<locals>.OtherThingNr�r$rrr�r>�r-rr�rr�rs   r�test_inherited_slotsz&TestGetattrStatic.test_inherited_slots�s?��	�F�	�
	��	�	
����/�/�
��c�B�E�G�G�Lrc���Gd�dt��G�fd�dt�}|�}d|jd<|jtj|d�d�d��_|jtj|d�|jd��`d��_|jtj|d�|jd�y)	Nc��eZdZd�Zy)�5TestGetattrStatic.test_descriptor.<locals>.descriptorc��yrMr$�rW�instance�owners   rr@z=TestGetattrStatic.test_descriptor.<locals>.descriptor.__get__����rNrr$rrrrB����
rrc���eZdZW��Zy)�.TestGetattrStatic.test_descriptor.<locals>.FooN�rNrcrdrv�rs�rr�rJ��
�����Arr�r.rvc��yrr$)r�r7�vs   rr�z3TestGetattrStatic.test_descriptor.<locals>.<lambda>�s��Trc��yrr$)r�r7rs   rr�z3TestGetattrStatic.test_descriptor.<locals>.<lambda>����r)r�rr4rQr�rDr)rWr�r0rs   @r�test_descriptorz!TestGetattrStatic.test_descriptor�s����	��	�	�&�	��e������S������/�/��S�9�1�=�2�
������/�/��S�9�3�<�<��;L�M��� 4�
������/�/��S�9�3�<�<��;L�Mrc����Gd�dt��G�fd�dt�}Gd�dt|��}|jtj|d�|j
d�y)	Nc��eZdZd�Zy)�DTestGetattrStatic.test_metaclass_with_descriptor.<locals>.descriptorc��yrMr$rDs   rr@zLTestGetattrStatic.test_metaclass_with_descriptor.<locals>.descriptor.__get__�rGrNrr$rrrrU�rHrrc���eZdZW��Zy)�>TestGetattrStatic.test_metaclass_with_descriptor.<locals>.metaNrKrLs�rr%rX�rMrr%c��eZdZy)�?TestGetattrStatic.test_metaclass_with_descriptor.<locals>.ThingNr�r$rrr�rZ�r-rr�rrv)r�r�r4rQr�r)rWr%r�rs   @r�test_metaclass_with_descriptorz0TestGetattrStatic.test_metaclass_with_descriptor�sO���	��	�	�4�	�	�F�d�	�����/�/��s�;�T�]�]�3�=O�Prc��Gd�dt�}Gd�d|�}|�}|jtj|d�d�|j	|j
�|jtj|d�d�y)Nc��eZdZdZy)�6TestGetattrStatic.test_class_as_property.<locals>.BasereNrr$rr�Baser^�����Crr_c� �eZdZdZed��Zy)�;TestGetattrStatic.test_class_as_property.<locals>.SomethingFc��d|_tSr�)�executedr�ras rr,zETestGetattrStatic.test_class_as_property.<locals>.Something.__class__�s�� $��
��
rN)rNrcrdrdrr,r$rr�	Somethingrb�s���H�
�
��
rrer0re)r�r4rQr�rVrd)rWr_rerEs    r�test_class_as_propertyz(TestGetattrStatic.test_class_as_property�sq��	�6�	�	��	��;������/�/��%�@�!�D�����*�*�+�����/�/�	�5�A�1�Erc��Gd�dt�}Gd�dt�}Gd�d||��}|jtj|�d�d	�|jtj|d�d	�y)
Nc��eZdZed��Zy)�4TestGetattrStatic.test_mro_as_property.<locals>.Metac��tfSrr`ras r�__mro__z<TestGetattrStatic.test_mro_as_property.<locals>.Meta.__mro__�s
���y� rN)rNrcrdrrkr$rrr�ri�s��
�
!��
!rr�c��eZdZdZy)�4TestGetattrStatic.test_mro_as_property.<locals>.BasereNrr$rrr_rm�r`rr_c��eZdZy)�9TestGetattrStatic.test_mro_as_property.<locals>.SomethingNr�r$rrrero�r-rrerr0rer1)rWr�r_res    r�test_mro_as_propertyz&TestGetattrStatic.test_mro_as_property�sf��	!�4�	!�
	�6�	�	���	�	
����/�/�	��U�C�Q�G�����/�/�	�5�A�1�Erc���|�d�_G�fd�dt�}|�}d|_|jt	j
|d�d�|j
�j�Gd�d|�}|�}d	|_|jt	j
|d�d�|j
�j�y)
NFc�&��eZdZdZe�fd��Zy)�4TestGetattrStatic.test_dict_as_property.<locals>.Foorec���d�_iSr���called�rWr�s �rrz=TestGetattrStatic.test_dict_as_property.<locals>.Foo.__dict__�����"����	rN�rNrcrdr'rr�r�s�rr�rs������A�
�
��
rr�rGr'rec��eZdZy)�4TestGetattrStatic.test_dict_as_property.<locals>.BarNr�r$rrr�r}�r�rr�r)rvrr'r4rQr�rV)rWr�r0r�r(r�s     @r�test_dict_as_propertyz'TestGetattrStatic.test_dict_as_property�s���������	�$�	��e���������/�/��S�9�1�=�������%��#���e���������/�/��S�9�1�=�������%rc�Z��|�d�_G�fd�dt�}Gd�dt�}Gd�d|�}|�}|jtj|d�d	�|f|_|jtj|d�d
�|j
�j�y)NFc�&��eZdZdZe�fd��Zy)�/TestGetattrStatic.test_mutated_mro.<locals>.Foorec���d�_iSr�rurws �rrz8TestGetattrStatic.test_mutated_mro.<locals>.Foo.__dict__		rxrNryrzs�rr�r�	r{rr�c��eZdZdZy)�/TestGetattrStatic.test_mutated_mro.<locals>.BarrGN�rNrcrdr'r$rrr�r�	r-rr�c��eZdZy)�/TestGetattrStatic.test_mutated_mro.<locals>.BazNr�r$rr�Bazr�	r�rr�r'rGre)rvrr4rQr��	__bases__rV)rWr�r�r��bazr�s     @r�test_mutated_mroz"TestGetattrStatic.test_mutated_mro	s���������	�$�	�	�$�	�	�#���e������/�/��S�9�1�=����
�����/�/��S�9�1�=�������%rc���|�d�_G�fd�dt�}Gd�dt�}|�}|�|_|j	tj|d�d�|j�j�y)NFc�$���eZdZd��fd�	Z�xZS)�9TestGetattrStatic.test_custom_object_dict.<locals>.Customc�4��d�_t�|�	||�yr�)rvr*�get)rW�keyr�r,r�s   ��rr�z=TestGetattrStatic.test_custom_object_dict.<locals>.Custom.get	s���"������C��)rr)rNrcrdr�r4)r,r�s@�r�Customr�	s
���
*�
*rr�c��eZdZdZy)�6TestGetattrStatic.test_custom_object_dict.<locals>.FooreNr�r$rrr�r�"	r-rr�r're)rvrr�rr4rQr�rV)rWr�r�r0r�s    @r�test_custom_object_dictz)TestGetattrStatic.test_custom_object_dict	sf��������	*�T�	*�
	�&�	��e���x�������/�/��S�9�1�=�������%rc���Gd�dt�}Gd�d|��}|�}|jtj|d�d�|j	|j
�y)Nc��eZdZed��Zy)�?TestGetattrStatic.test_metaclass_dict_as_property.<locals>.Metac��d|_yr�)rdras rrzHTestGetattrStatic.test_metaclass_dict_as_property.<locals>.Meta.__dict__+	s	�� $��
rN�rNrcrdrrr$rrr�r�*	rrr�c��eZdZdZd�Zy)�@TestGetattrStatic.test_metaclass_dict_as_property.<locals>.ThingFc��d|_y�Nr��rzras rr�zITestGetattrStatic.test_metaclass_dict_as_property.<locals>.Thing.__init__2	s	����	rN)rNrcrdrdr�r$rrr�r�/	s���H�
rr�rrzr�)r�r4rQr�rVrd)rWr�r�rEs    r�test_metaclass_dict_as_propertyz1TestGetattrStatic.test_metaclass_dict_as_property)	sR��	%�4�	%�
	�d�	��7������/�/��&�A�2�F�������(rc�n�t�}|jtjtd|�|�y)N�version)r�r�rQr�r�)rW�sentinels  r�test_modulezTestGetattrStatic.test_module9	s+���8������/�/��Y��I�!�	#rc��Gd�dt�}Gd�dt|��}Gd�d|��}|jt�5tj|d�ddd�|j|j�y#1swY�%xYw)	Nc��eZdZed��Zy)�WTestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.MetaMetac�(�d|_td��S)NTr�r�)rdrras rrz`TestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.MetaMeta.__dict__@	s�� $��
���}�$rNr�r$rr�MetaMetar�?	s��
�
%��
%rr�c��eZdZdZy)�STestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.MetaFN)rNrcrdrdr$rrr�r�E	s���Hrr�rc��eZdZy)�TTestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.ThingNr�r$rrr�r�H	r-rr�rz)r�r�rrQr�rVrd)rWr�r�r�s    r�3test_metaclass_with_metaclass_with_dict_as_propertyzETestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property>	sh��	%�t�	%�	�4�8�	�	�d�	��
�
�~�
.��"�"�5�&�1�/�������(�/�
.�s�A=�=Bc����|�d�_G�fd�d�}|jt�5tj|�d�ddd�|j�j�y#1swY�%xYw)NFc���eZdZ�fd�Zy)�6TestGetattrStatic.test_custom___getattr__.<locals>.Fooc���d�_iSr�ru�rWr�r�s  �rr�zBTestGetattrStatic.test_custom___getattr__.<locals>.Foo.__getattr__T	����"����	rNr�rzs�rr�r�S	����
rr��whatever�rvr�rrQr�rV�rWr�r�s  @r�test_custom___getattr__z)TestGetattrStatic.test_custom___getattr__O	s]��������	�	�
�
�
�~�
.��"�"�3�5�*�5�/�	
������%�/�
.���A,�,A5c����|�d�_G�fd�d�}|jt�5tj|�d�ddd�|j�j�y#1swY�%xYw)NFc���eZdZ�fd�Zy)�;TestGetattrStatic.test_custom___getattribute__.<locals>.Fooc���d�_iSr�rur�s  �r�__getattribute__zLTestGetattrStatic.test_custom___getattribute__.<locals>.Foo.__getattribute__b	r�rN)rNrcrdr�rzs�rr�r�a	r�rr��really_could_be_anythingr�r�s  @r�test_custom___getattribute__z.TestGetattrStatic.test_custom___getattribute__]	s^��������	�	�
�
�
�~�
.��"�"�3�5�*D�E�/�	
������%�/�
.�r�c���Gd�d�}|�|_tj|�}tj|jdd�~tj�|j|��y)Nc��eZdZy)�KTestGetattrStatic.test_cache_does_not_cause_classes_to_persist.<locals>.FooNr�r$rrr�r�r	r�rr�r��
irrelevant)rE�weakref�refrQr��gc�collectr�)rWr��weakref_to_classs   r�,test_cache_does_not_cause_classes_to_persistz>TestGetattrStatic.test_cache_does_not_cause_classes_to_persistk	sU��	���u���"�;�;�s�+�����s�|�|�Z��F��
�
�
�����*�,�-rN)rNrcrdr�r�r�r.rr
rrr!r2r5r8r?rRr[rfrpr~r�r�r�r�r�r�r�r�r$rrr�r�-s���
C�J�@�F�C�F�R�K�F�J�$J�X�
M�N�,Q�F� 
F�&�.&�,&� )� #�
)�"&�&�
.rr�c�T�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zy
)�TestGetGeneratorStatec�"�d�}|�|_y)Nc3�4K�td�D]}|���y�w�Nrrr��numbers r�number_generatorz5TestGetGeneratorState.setUp.<locals>.number_generator~	s������(����#�ru)�	generator)rWr�s  rr�zTestGetGeneratorState.setUp}	s��	�*�+��rc�@�tj|j�Sr)rQ�getgeneratorstater�ras r�_generatorstatez%TestGetGeneratorState._generatorstate�	����(�(����8�8rc�`�|j|j�tj�yr)r4r�rQ�GEN_CREATEDras r�test_createdz"TestGetGeneratorState.test_created�	s!������-�-�/��1D�1D�Erc��t|j�|j|j�tj
�yr)�nextr�r4r�rQ�
GEN_SUSPENDEDras r�test_suspendedz$TestGetGeneratorState.test_suspended�	s-���T�^�^������-�-�/��1F�1F�Grc��|jD]}�|j|j�tj�yr)r�r4r�rQ�
GEN_CLOSEDrss  r�test_closed_after_exhaustionz2TestGetGeneratorState.test_closed_after_exhaustion�	s2�����A�� �����-�-�/��1C�1C�Drc���|jt�5|jjt�ddd�|j	|j�tj�y#1swY�8xYwr)r�rCr�r?r4r�rQr�ras r�%test_closed_after_immediate_exceptionz;TestGetGeneratorState.test_closed_after_immediate_exception�	sO��
�
�
�|�
,��N�N� � ��.�-�����-�-�/��1C�1C�D�-�
,��� A-�-A6c��|jj�|j|j�tj
�yr)r�r�r4r�rQr�ras r�test_closed_after_closez-TestGetGeneratorState.test_closed_after_close�	s1������������-�-�/��1C�1C�Drc�|���fd�}|��_t�j�t�j�y)Nc3���K�td�D]b}�j�j�tj�|���j�j�tj��dy�wr�)r1r4r�rQ�GEN_RUNNING�r�rWs �r�running_check_generatorzCTestGetGeneratorState.test_running.<locals>.running_check_generator�	sX�������(��� � ��!5�!5�!7��9L�9L�M���� � ��!5�!5�!7��9L�9L�M�#�s�A2A5)r�r�)rWr�s` r�test_runningz"TestGetGeneratorState.test_running�	s-���
	N�
1�2����T�^�^���T�^�^�rc��dj�}|D]H}tt|�}|j|t	|��|j|t|���Jy)Nz0GEN_CREATED GEN_RUNNING GEN_SUSPENDED GEN_CLOSED�r�r�rQr�reprr��rW�namesr�states    r�test_easy_debuggingz)TestGetGeneratorState.test_easy_debugging�	sJ��B�H�H�J���D��G�T�*�E��M�M�$��U��,��M�M�$��E�
�+�rc	�@�d
d�}|gd��}|jtj|�dgd�d��t|�|jtj|�dgd�ddd��t|�|jtj|�dgd�ddd��t|�|jtj|�dgd�dddd	��	t|�|jtj|�i�y#t$rY�1wxYw)Nc3�4K�d}|D]
}|dk(rd}|���y�w�NrxrerKr$��lstr'r�rOrs     r�eachz;TestGetGeneratorState.test_getgeneratorlocals.<locals>.each�	s&�����A�����6��A����rurx�r'r�r.�r'r�rOr�r/rerK�r'r�rOr�rr�r4rQ�getgeneratorlocalsr��
StopIteration�rWr��numberss   r�test_getgeneratorlocalsz-TestGetGeneratorState.test_getgeneratorlocals�	s��	��y�/������3�3�G�<�#�I�6�	8��W�
�����3�3�G�<�#�I�A�(�*�	+�	
�W�
�����3�3�G�<�#�I�A�(�*�	+�	
�W�
�����3�3�G�<�#�I�A�(�r�3�	4�	���M�	
����3�3�G�<�b�A���	��	�s� D�	D�Dc���d�}|�}|jtj|�i�	t|�|jtj|�i�y#t$rY�1wxYw)Nc3�K�d��y�wr4r$r$rr�	yield_onezFTestGetGeneratorState.test_getgeneratorlocals_empty.<locals>.yield_one�	s�����G�rr��rWrr*s   r�test_getgeneratorlocals_emptyz3TestGetGeneratorState.test_getgeneratorlocals_empty�	sf��	��k������3�3�C�8�"�=�	���I�	
����3�3�C�8�"�=���	��	�s�A"�"	A.�-A.c�6�|jttjd�|jttjd��|jttjt�|jttjd�y)Nr.c��yr�r$rzs rr�zETestGetGeneratorState.test_getgeneratorlocals_error.<locals>.<lambda>�	s��4r�r/re)r�r�rQr�rPras r�test_getgeneratorlocals_errorz3TestGetGeneratorState.test_getgeneratorlocals_error�	sb�����)�W�%?�%?��C����)�W�%?�%?��P����)�W�%?�%?��E����)�W�%?�%?��GrN)rNrcrdr�r�r�r�r�r�r�r�r�rrrr$rrr�r�{	sE��,�9�F�H�E�
E�
E�� ,�B�:	>�Hrr�c�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�TestGetCoroutineStatec�T��tjd����fd�}|�|_y)Nc3�4K�td�D]}|���y�wr�rrr�s r�number_coroutinez5TestGetCoroutineState.setUp.<locals>.number_coroutine�	s������(����#�ruc��0�K����d{���y7��wrr$)rs�r�	coroutinez.TestGetCoroutineState.setUp.<locals>.coroutine�	s�����"�$�$�$�s���)r�r)rWrrs  @rr�zTestGetCoroutineState.setUp�	s'���	���	�
�	�	%�"���rc�8�|jj�yr)rr�ras rr0zTestGetCoroutineState.tearDown�	s�������rc�@�tj|j�Sr)rQ�getcoroutinestaterras r�_coroutinestatez%TestGetCoroutineState._coroutinestate�	r�rc�`�|j|j�tj�yr)r4rrQ�CORO_CREATEDras rr�z"TestGetCoroutineState.test_created�	s!������-�-�/��1E�1E�Frc��|jjd�|j|j�tj
�yr)r�sendr4rrQ�CORO_SUSPENDEDras rr�z$TestGetCoroutineState.test_suspended�	s3�������D�!�����-�-�/��1G�1G�Hrc��		|jjd��#t$rYnwxYw|j|j	�t
j�yr)rrrr4rrQ�CORO_CLOSEDras rr�z2TestGetCoroutineState.test_closed_after_exhaustion�	sV���
����#�#�D�)���!�
��
��	
����-�-�/��1D�1D�Es��	+�+c���|jt�5|jjt�ddd�|j	|j�tj�y#1swY�8xYwr)r�rCrr?r4rrQrras rr�z;TestGetCoroutineState.test_closed_after_immediate_exception
sO��
�
�
�|�
,��N�N� � ��.�-�����-�-�/��1D�1D�E�-�
,�r�c��|jj�|j|j�tj
�yr)rr�r4rrQrras rr�z-TestGetCoroutineState.test_closed_after_close
s1������������-�-�/��1D�1D�Erc��dj�}|D]H}tt|�}|j|t	|��|j|t|���Jy)Nz4CORO_CREATED CORO_RUNNING CORO_SUSPENDED CORO_CLOSEDr�r�s    rr�z)TestGetCoroutineState.test_easy_debugging
�J��F�L�L�N���D��G�T�*�E��M�M�$��U��,��M�M�$��E�
�+�rc���tjd������d�fd�	}|�}|jtj|�d�d��|jd�|jtj|�d�dd��y)Nc3�K�d��y�wrr$r$rr�gencoroz>TestGetCoroutineState.test_getcoroutinelocals.<locals>.gencoro
s	�����rc��*�K�d}��d{���y7��wryr$)r'r�r%s  �rr�z;TestGetCoroutineState.test_getcoroutinelocals.<locals>.func
s������A��M�M�s���)r'r%rz)r'r%r�r)r�rr4rQ�getcoroutinelocalsr)rWr�r�r%s   @r�test_getcoroutinelocalsz-TestGetCoroutineState.test_getcoroutinelocals
s����	���	�
�	��)��	��v������3�3�D�9�#��8�	:��	�	�$������3�3�D�9�#��f�E�	GrN)
rNrcrdr�r0rr�r�r�r�r�r�r(r$rrrr�	s:��%��9�G�I�F�F�
F�,�Grrc�T�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zy
)�TestGetAsyncGenStatec�"�d�}|�|_y)Nc�6K�td�D]}|����	y�wr�rrr�s r�number_asyncgenz3TestGetAsyncGenState.setUp.<locals>.number_asyncgen*
s������(����#���)�asyncgen)rWr-s  rr�zTestGetAsyncGenState.setUp)
s��	�(�)��
rc��TK�|jj��d{���y7��wr)r/�acloseras r�
asyncTearDownz"TestGetAsyncGenState.asyncTearDown/
s�����m�m�"�"�$�$�$�s�(�&�(c�@�tj|j�Sr)rQ�getasyncgenstater/ras r�_asyncgenstatez#TestGetAsyncGenState._asyncgenstate2
s���'�'��
�
�6�6rc�`�|j|j�tj�yr)r4r5rQ�AGEN_CREATEDras rr�z!TestGetAsyncGenState.test_created5
s!������,�,�.��0D�0D�Erc���K�t|j��d{���}|j|j�tj
�|j|d�y7�E�wr�)�anextr/r4r5rQ�AGEN_SUSPENDED�rWrs  rr�z#TestGetAsyncGenState.test_suspended8
sK�����D�M�M�*�*������,�,�.��0F�0F�G������"�+�s�A#�A!�AA#c��@K�d}|jt�5|dz
x}r%t|j��d{���|dz
x}r�%ddd�|j	|d�|j	|j�tj�y7�U#1swY�LxYw�w)Nr:r.)r��StopAsyncIterationr9r/r4r5rQ�AGEN_CLOSED)rW�	countdowns  rr�z1TestGetAsyncGenState.test_closed_after_exhaustion=
s������	�
�
�
�1�
2�(�1�}�,�)�,��D�M�M�*�*�*� )�1�}�,�)�,�3�	
����A�&�����,�,�.��0C�0C�D�+��3�
2�s-�B� B�B�B�A	B�B�B�Bc��K�|jt�5|jjt��d{���ddd�|j	|j�tj�y7�;#1swY�:xYw�wr)r�rCr/�athrowr4r5rQr>ras rr�z:TestGetAsyncGenState.test_closed_after_immediate_exceptionE
s^����
�
�
�|�
,��-�-�&�&�|�4�4�4�-�����,�,�.��0C�0C�D�
5��-�
,�s,�B�#A9�A7�A9�7B�7A9�9B�>Bc��d�K��fd�}|��_t�j��d{����j�j�tj
�t�j��d{����j�j�tj
�y7�~7�5�w)Nc���K�td�D]c}�j�j�tj�|����j�j�tj��ey�wr�)r1r4r5rQ�AGEN_RUNNINGr�s �r�running_check_asyncgenzATestGetAsyncGenState.test_running.<locals>.running_check_asyncgenK
sX�������(��� � ��!4�!4�!6��8L�8L�M���� � ��!4�!4�!6��8L�8L�M�#�s�A3A6)r/r9r4r5rQr:)rWrEs` rr�z!TestGetAsyncGenState.test_runningJ
s������	N�
/�0��
��D�M�M�"�"�"�����,�,�.��0F�0F�G��D�M�M�"�"�"�����,�,�.��0F�0F�G�		#��	#�s"�*B0�B,�A
B0�8B.�94B0�.B0c��dj�}|D]H}tt|�}|j|t	|��|j|t|���Jy)Nz4AGEN_CREATED AGEN_RUNNING AGEN_SUSPENDED AGEN_CLOSEDr�r�s    rr�z(TestGetAsyncGenState.test_easy_debuggingX
r"rc	���K�d
d�}|gd��}|jtj|�dgd�d��t|��d{���|jtj|�dgd�ddd��t|��d{���|jtj|�dgd�ddd��t|��d{���|jtj|�dgd�dddd	��|j	t
�5t|��d{���ddd�|jtj|�i�y7��7��7��7�9#1swY�8xYw�w)Nc�6K�d}|D]}|dk(rd}|����y�wr�r$r�s     rr�z9TestGetAsyncGenState.test_getasyncgenlocals.<locals>.eacha
s&�����A�����6��A����r.rxr�r.r�r/rerKr�r�r4rQ�getasyncgenlocalsr9r�r=rs   r�test_getasyncgenlocalsz+TestGetAsyncGenState.test_getasyncgenlocals`
sB����	��y�/������2�2�7�;�#�I�6�	8��G�n�������2�2�7�;�#�I�A�(�*�	+��G�n�������2�2�7�;�#�I�A�(�*�	+��G�n�������2�2�7�;�#�I�A�(�r�3�	4��
�
�1�
2���.� � �3�����2�2�7�;�R�@�	��	��	��

!��3�
2�sa�AE%�	E�
>E%�E�	>E%�E�AE%�E�E�E�"/E%�E%�E%�E�E"�E%c��K�d�}|�}|jtj|�i�t|��d{���|jtj|�i�|j	t
�5t|��d{���ddd�|jtj|�i�y7��7�4#1swY�3xYw�w)Nc�K�d���y�wr4r$r$rrrzDTestGetAsyncGenState.test_getasyncgenlocals_empty.<locals>.yield_one|
s�����G�s�	rIrs   r�test_getasyncgenlocals_emptyz1TestGetAsyncGenState.test_getasyncgenlocals_empty{
s�����	��k������2�2�3�7��<��C�j�������2�2�3�7��<�
�
�
�1�
2���*���3�����2�2�3�7��<�		��
��3�
2�s;�>C�C�>C�?C�C�C�/C�C�C�
Cc�6�|jttjd�|jttjd��|jttjt�|jttjd�y)Nr.c��yr�r$rzs rr�zCTestGetAsyncGenState.test_getasyncgenlocals_error.<locals>.<lambda>�
s��$rr)r�r�rQrJrPras r�test_getasyncgenlocals_errorz1TestGetAsyncGenState.test_getasyncgenlocals_error�
sb�����)�W�%>�%>��B����)�W�%>�%>��O����)�W�%>�%>��D����)�W�%>�%>��FrN)rNrcrdr�r2r5r�r�r�r�r�r�rKrNrQr$rrr*r*&
sD��*�%�7�F�#�
E�E�
H�,�A�6	=�Grr*c��eZdZy)�MySignatureNr�r$rrrSrS�
���	rrSc��eZdZy)�MyParameterNr�r$rrrVrV�
rTrrVc��eZdZed��Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Ze
ejed
�d���Ze
ejed
�d���Ze
d
��Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#ejed
�d��Z$ejed
�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,�Z2ejed
�d-��Z3ejed
�d.��Z4d/�Z5d0�Z6d1�Z7d2�Z8d3�Z9d4�Z:d5�Z;d6�Z<d7�Z=y8)9�TestSignatureObjectc���tj|fi|��}td�|jj	�D��|j
|jurdfS|j
fS)Nc3�K�|]}}|j|j|jurdn|j|j|jurdn|jt	|j
�j
�f���y�w).N)rr��empty�
annotationr�r�r4)�.0r�s  r�	<genexpr>z0TestSignatureObject.signature.<locals>.<genexpr>�
sq����J�
2I���z�z�$�}�}����;�����$�/�/�5�;�;�>��=B�=M�=M��5�:�:��,�,�.�	0�
2I�s�BB.)rQr��tupler6r��return_annotationr[)r��kw�sigs   rr�zTestSignatureObject.signature�
sw������+��+���J�
25���1F�1F�1H�J�J��-�-����:��
I�	I�25�1F�1F�I�	Irc��tj}tj}|jt	|��d�|jt|�j�d�ddd�d�}tj|�}|jt|�jd��|jdt|�v�dd�}tj|�}|jt|�jd��|jd	t|�v�|jd
}|jd}|jd}	|jd
}
|jd}|jd}|jd}
|jd}|||	|||f�|||	||
f�||||f�||||
f�||||
f�|||
f�||||
|f�||
|f�||
||f�|||
|f�|jtd�5||	||||f�ddd�|jtd�5||||	||f�ddd�|jtd�5||||	||f�ddd�|jtd�5|||	|||f�ddd�|jd��}|jtd�5|||	|||f�ddd�|jtd�5|||f�ddd�|jtd�5|||	f�ddd�|jtd�5||||	f�ddd�|jtd�5|||
|	f�ddd�|jtd�5||
|	f�ddd�y#1swY���xYw#1swY��}xYw#1swY��^xYw#1swY��?xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)N�()zmappingproxy(OrderedDict())r@)�kodc��yrr$)�po�pk�pkd�korerr?s       rr�z7TestSignatureObject.test_signature_object.<locals>.test�
r�rz
<Signaturez
(po, /, pkc��yrr$)�pods r�test2z8TestSignatureObject.test_signature_object.<locals>.test2�
r�rz(pod=42, /)rgrlrhrirrjrer?zwrong parameter order�rzduplicate parameter namezfollows default argument)�d)r�)
rQr�r�r4r�r�r6r�rMr�r�r��replace)rW�S�Pr�rbrm�sig2rgrlrhrirrjrer?�kwargs2s                r�test_signature_objectz)TestSignatureObject.test_signature_object�
s���������������Q�S��4�(�����a�c�n�n�-�/L�M�	�B�	�����%������S�	�,�,�\�:�;������S�	�1�2�	�� � ��'������T�
�-�-�l�;�<����
��d��3�4�
�^�^�D�
!���o�o�e�$��
�^�^�D�
!���n�n�U�#���~�~�f�%��
�^�^�D�
!���n�n�U�#������)��	�2�r�4��V�
$�%�	�2�r�2�s�
��	�2�s�B�-��	�2�s�C�.��	�3��C�.��	�3��*�
�	�3��c�6�
"�#�	
�3��)��	�3��F�
��	�4��b�/��
�
#�
#�J�0G�
H�
�r�2�t�R��(�)�I��
#�
#�J�0G�
H�
�r�4��R��(�)�I��
#�
#�J�0G�
H�
�t�R��R��(�)�I��
#�
#�J�0G�
H�
�r�2�t�V�R�(�)�I��.�.�f�.�-��
�
#�
#�J�0J�
K�
�r�2�t�W�b�)�*�L��
#�
#�J�0J�
K�
�s�B�i�L�L��
#�
#�J�0J�
K�
�s�B�i�L�L��
#�
#�J�0J�
K�
�r�3��m��L��
#�
#�J�0J�
K�
�r�3��m��L��
#�
#�J�0J�
K�
�s�B�i�L�L�
K�9I�
H��I�
H��I�
H��I�
H��L�
K��L�
K��L�
K��L�
K��L�
K��L�
K�sx�(O�O�O*�,O7�*P�P�?P�(P)�P5�<Q�O�O'�*O4�7P�P�P�P&�)P2�5P>�Q
c���id�dddddifd�}tj|d��}tj|�}t	t
jdz�D]Y}|j|d	�
�5tjtj||��}|j||�ddd��[tj|�}tdtjj��}tj|j |��}t#�j%|j'�|j(�
�}|j+t-|t"��|j+t-|j dt��t	t
jdz�D]�}|j|d�
�5tjtj||��}|j||�|j+t-|t"��|j+t-|j dt��ddd���y#1swY��xYw#1swY��xYw)N�rrr.r�r�r�c��yrr$�r'r�rras    rr0z=TestSignatureObject.test_signature_object_pickle.<locals>.foo�
���drr�F)�
pickle_ver�subclassr-)rr�)r6r`T)r�r�rQr�r1�pickle�HIGHEST_PROTOCOL�subTest�loads�dumpsr4rVr�r��collections�OrderedDictr6rSrpr�r`rMr�)	rWr0�foo_partialrb�ver�sig_pickled�myparam�myparams�mysigs	         r�test_signature_object_picklez0TestSignatureObject.test_signature_object_pickle�
s����:�1�:�2�e�*�:��'�'��q�1������,����0�0�1�4�5�C�����u��=�$�l�l�6�<�<��S�+A�B��� � ��k�2�>�=�6�����$���3�W�->�->�-N�-N�O���*�*�3�>�>�W�E���
�%�%����1B�8;�8M�8M�&�O�����
�5�+�6�7����
�5�#3�#3�C�#8�+�F�G���0�0�1�4�5�C�����t��<�$�l�l�6�<�<��s�+C�D��� � ���4����
�;�� D�E����
�;�+A�+A�#�+F�+6�!8�9�	=�<�6�>�=��=�<�s�,<I�=BI�I	�I%	c��d�}tj|�}|jt�5d|_ddd�|jt
�5d|jd<ddd�y#1swY�7xYw#1swYyxYw)Nc��yrr$r�s rr�z=TestSignatureObject.test_signature_immutability.<locals>.testr�rr(r')rQr�r�rr0r�r6�rWr�rbs   r�test_signature_immutabilityz/TestSignatureObject.test_signature_immutabilitysi��	�����%��
�
�
�~�
.��C�G�/��
�
�y�
)�"&�C�N�N�3��*�
)�/�
.��*�
)�s�A,�A8�,A5�8Bc�L�d�}|j|j|�d�y)Nc��yrr$r$rrr�z9TestSignatureObject.test_signature_on_noarg.<locals>.testr�r�r$.�r4r�rws  r�test_signature_on_noargz+TestSignatureObject.test_signature_on_noargs ��	��������-�y�9rc�N�dd�}|j|j|�d�y)Nc��yrr$r�s  rr�z9TestSignatureObject.test_signature_on_wargs.<locals>.testr�r))�r'..�positional_or_keyword)r�.r0r�r�)r�r0r�r�r�rws  r�test_signature_on_wargsz+TestSignatureObject.test_signature_on_wargss%��	��������-��	 rc��dtdtdtfd�}|j|j	|�ddtdfddtdfftf�y)Nr'r�r�c��yrr$r�s  rr�z;TestSignatureObject.test_signature_on_wkwonly.<locals>.test'r�r.�keyword_only)�floatr�r�r4r�rws  r�test_signature_on_wkwonlyz-TestSignatureObject.test_signature_on_wkwonly&sZ��	�e�	�s�	�s�	��������-���e�^�<���c�>�:�<�� �	!rc��ddd�ddddddd	tfd
�}|j|j|�ddd
ddd	dtdffdf�y)Nr�)r�r�r0rr(rzr�r?c��yrr$)r'r�rzr�rr?s      rr�z@TestSignatureObject.test_signature_on_complex_args.<locals>.test/r�rr�)r�r@r0r�)r.r(�var_positional)rz.r�r�)r�r�.r�.�var_keyword�r@)r�r4r�rws  r�test_signature_on_complex_argsz2TestSignatureObject.test_signature_on_complex_args.sn��	�S�	�e�	�e�	�%�	�3�	��������-�C�D�A�?�<�$�c�3�
�>�@��
�	 rc�
���d��d��G��fd�d�}|j|j��d�|j|j��d�|j|j|j�d�|j|j|j�d�|j|j|j�d�|j|j|j
�d�y)Nc��yrr$r?s r�test_args_onlyzGTestSignatureObject.test_signature_without_self.<locals>.test_args_only;r�rc��yrr$�rr?s  r�test_args_kwargs_onlyzNTestSignatureObject.test_signature_without_self.<locals>.test_args_kwargs_only>r�rc����eZdZed��Zed��Zejed�Z	ejW�d�Z
ejed�ZejW�d�Zy)�:TestSignatureObject.test_signature_without_self.<locals>.Ac��yrr$r?s r�test_classmethodzKTestSignatureObject.test_signature_without_self.<locals>.A.test_classmethodBr�rc��yrr$r?s r�test_staticmethodzLTestSignatureObject.test_signature_without_self.<locals>.A.test_staticmethodFr�rr.N)
rNrcrdr�r�r�r�r��
partialmethodr�r�r�r�)r�r�s��rrVr�As~���
�
��
��
��
�)��(�(�*:�Q�?�B�(��(�(�.�1�=�B�(��(�(�*;�a�@�B�(��(�(�*?��C�BrrV�)�r..r�.�)r��r?..r�.)r4r�r�r�r�r�)rWrVr�r�s  @@r�test_signature_without_selfz/TestSignatureObject.test_signature_without_self:s����	�	�	D�	D�	
�������7�G�	I�������(=�>�F�	G�	
���������-�G�	I����������-�G�	I����������-�G�	I����������-�G�	Hrr�c���	�ddl}�fd�}�fd�}||j��	�	fd�}�j|d�d��j|d�d��j|d	�d
��j|d�d��j|d
�d��j|d�d��j|d�d��j|d�d��j|d�tj��j|d�tjdz
�|t
�|tjj�t
jtj��}||j�|tj�|dj�|tj�|ij�|tj �|t"j$�|dj$�|t&j �Gd�d�}�j|�d�t"��j|�ddi�j(d��j+t,d�5||��ddd�|tj.�|t0j2�||j4�t6j8}||�}�jt;|j<�ddg�y#1swY��xYw)Nrc���tj|�}�jt|tj���jt
|jj��djd�|S)zAUse this to test unbound methods (things that should have a self)rrW)
rQr�rMr�r�r4r�r6r�r�rr�rWs  �r�test_unbound_methodzKTestSignatureObject.test_signature_on_builtins.<locals>.test_unbound_methodcsa����)�)�!�,�I��O�O�J�y�'�2C�2C�D�E����T�)�"6�"6�"=�"=�"?�@��C�H�H�&�Q��rc���tj|�}�jt|tj��|j
r@�j
t|j
j��djd�|S)zRUse this to test bound methods or normal callables (things that don't expect self)rrW)
rQr�rMr�r�r6r�r�r�rr�s  �r�
test_callablezETestSignatureObject.test_signature_on_builtins.<locals>.test_callablejsk����)�)�!�,�I��O�O�J�y�'�2C�2C�D�E��#�#��#�#�D��)=�)=�)D�)D�)F�$G��$J�$O�$O�QW�X��rc�6���j|jSr)r6r�)rr�s �rr8z9TestSignatureObject.test_signature_on_builtins.<locals>.pss���I�0�0��6�>�>�>rr�r�r�sbytesrvg��Q�	@r7�#�nrOTrwF�localrer�rYr.sabcc��eZdZeZy)�DTestSignatureObject.test_signature_on_builtins.<locals>.ThisWorksNowN)rNrcrdr�r�r$rr�ThisWorksNowr��s���Hrr�rVr$zno signature foundrW�buffer)r�r�r4r��maxsizer�r�r�r�r��StringIOr��	maketransr�fromkeysr�r�r�r��minrNr�r��__delitem__rr�#docstring_with_signature_but_no_doc�	bytearray�__release_buffer__r�r6)
rWr�r�r�r8rvr�r�rbr�s
`        @r�test_signature_on_builtinsz.TestSignatureObject.test_signature_on_builtins]sw���	�	�	�"�)�"R�"R�S�	�>�����3���+�����3���*�����3���&�����3���$�����3���&�����3���&�����3���'�����7��Q�'�����5��3�;�;�/�����5��3�;�;��?�3��f��	�G�O�O�0�0�1��O�O�B�K�K�M�*���a�f�f��	�e�o�o�&��f�&�&�'�	�d�m�m�$��b�k�k�"�	�D�M�M�*��C�K�K�(��q�k�k�"�	�c�l�l�#�	�	�	
�������*�C�0��������R��4�=�=�s�C�
�
#�
#�J�0D�
E��,�.�)�F�	�D�,�,�-��H�/�/�0�	�i�C�C�D��-�-��!�&�)������c�n�n�-���/A�B�F�
E�s�*L>�>Mc�2�ddl}|j}d�}||�}|jtj|�tj|��dt
fd�}|jtj|d��tj|��y)Nrc�P��tj��dtf�fd��}|S)Nr�c����|i|��Srr$�rr?r�s  �rr�z\TestSignatureObject.test_signature_on_decorated_builtins.<locals>.decorator.<locals>.wrapper������T�,�V�,�,r�r�r�r��r�r�s` r�	decoratorzKTestSignatureObject.test_signature_on_decorated_builtins.<locals>.decorator��*���
�_�_�T�
"�
-�C�
-�#�
-��Nrr�c��yrr$r�s  r�wrapper_likezNTestSignatureObject.test_signature_on_decorated_builtins.<locals>.wrapper_like�s��$rF��follow_wrapped)r�r�r4rQr�r�)rWr�r�r��decorated_funcr�s      r�$test_signature_on_decorated_builtinsz8TestSignatureObject.test_signature_on_decorated_builtins�s���	��?�?��	�#�4�������*�*�4�0� �*�*�>�:�	<�	7�S�6�����*�*�>�:?�A� �*�*�<�8�	:rc�(�ddl}|jtd�5tj|j
�ddd�|jtd�5tjt�ddd�y#1swY�BxYw#1swYyxYw)Nrzno signature found for builtin)r�r�r�rQr�r�r�)rWr�s  r�'test_signature_on_builtins_no_signaturez;TestSignatureObject.test_signature_on_builtins_no_signature�s}���
�
#�
#�J�$D�F����i�>�>�?�F��
#�
#�J�$D�F����c�"�F�F�	F�F��F�F�s� A<�B�<B�Bc��|jtd�5tjd�ddd�y#1swYyxYw)N�is not a callable objectr�)r�r�rQr�ras r�test_signature_on_non_functionz2TestSignatureObject.test_signature_on_non_function�s.��
�
#�
#�I�/I�
J����b�!�K�
J�
J�s�6�?c���dd�d�}Gd�d�}tjj|�}tjj||��}|j||�tj||��}|j||�||�}|`|j|j	|�d�tj��fd�}tjjd|�5||�}|jtj|��d|_|jtj|��|jtj|�|�ddd�y#1swYyxYw)	NT��kwonlyc��yrr$�r'r�r��	kwonlyreqrr?s      rr�zITestSignatureObject.test_signature_from_functionlike_object.<locals>.func�r�rc��eZdZd�Zd�Zy)�MTestSignatureObject.test_signature_from_functionlike_object.<locals>.funclikec��|j|_|j|_|j|_|j|_|j|_||_yr�rNrr��__defaults__�__kwdefaults__r��rWr�s  rr�zVTestSignatureObject.test_signature_from_functionlike_object.<locals>.funclike.__init__��I�� $�
�
��
� $�
�
��
�'+�';�';��$�$(�$5�$5��!�&*�&9�&9��#� ��	rc�&�|j|i|��Srr�r>s   rr�zVTestSignatureObject.test_signature_from_functionlike_object.<locals>.funclike.__call__���� �t�y�y�$�1�&�1�1rN�rNrcrdr�r�r$rr�funcliker�����

!�
2rr�r�c�.��t|d�ry�|�S)N�_builtinmockT�r�)rZ�_orig_isdescs �r�_isdesczLTestSignatureObject.test_signature_from_functionlike_object.<locals>._isdesc�s����s�N�+����$�$rzinspect.ismethoddescriptor)
rQr��
from_callabler4r�r�rdr�r�r�rVr�rM)	rWr�r��sig_func�sig_funclike�flr��builtin_funcr�s	        @r�'test_signature_from_functionlike_objectz;TestSignatureObject.test_signature_from_functionlike_object�s;���$(�	�	2�	2� �$�$�2�2�4�8���(�(�6�6�x��~�F������x�0��(�(��$��8������x�0�
�d�^���O��������+� �	!��1�1��	%�
�]�]�
 �
 �!=�w�
G�#�D�>�L����W�7�7��E�F�(,�L�%��O�O�G�6�6�|�D�E����W�.�.�|�<�h�G�
H�
G�
G�s
�5A=E;�;Fc���dd�d��G�fd�d�}|jttj|��d�y)NTr�c��yrr$r�s      rr�zCTestSignatureObject.test_signature_functionlike_class.<locals>.func
r�rc���eZdZd�ZW�jZW�jZW�j
ZW�jZW�jZy)�GTestSignatureObject.test_signature_functionlike_class.<locals>.funclikec��yrr$)rW�markers  rr�zPTestSignatureObject.test_signature_functionlike_class.<locals>.funclike.__init__r�rN)rNrcrdr�rr�r�r�r�s�rr�rs=���
��}�}�H��}�}�H�"�2�2�O��,�,�L�!�0�0�Nrr�z(marker))r4r�rQr�)rWr�r�s  @r�!test_signature_functionlike_classz5TestSignatureObject.test_signature_functionlike_class	s9���%)�	�	1�	1�	
����W�.�.�x�8�9�:�Frc��Gd�d�}|j|j|�j�dtf�|j|j|�j�d�|j|j|�d�|jtd�5|j|��ddd�y#1swYyxYw)Nc�,�eZdZd�Zddefd�Zd�Zd�Zy)�:TestSignatureObject.test_signature_on_method.<locals>.Testc��yrr$r?s rr�zCTestSignatureObject.test_signature_on_method.<locals>.Test.__init__r�rr�c��yrr$�rWrtrus   rr�z=TestSignatureObject.test_signature_on_method.<locals>.Test.m1 r�rc��yrr$r?s r�m2z=TestSignatureObject.test_signature_on_method.<locals>.Test.m2"r�rc��yrr$r�s rr�zCTestSignatureObject.test_signature_on_method.<locals>.Test.__call__$r�rN�r.)rNrcrdr�r�r�rr�r$rrr9r	s��
�
�#�
�
�
rr9��rt..r�)rur..r�r�zinvalid method signature)r4r�r�r�rr�r�)rWr9s  r�test_signature_on_methodz,TestSignatureObject.test_signature_on_methods���	�	�	
��������	�	�2�F���	 �
	
��������	�	�2��	 �	
�������-��	 ��
#�
#�J�0J�
K��N�N�4�6�"�L�
K�
K�s�(C�Cc��Gd�d�}tj|�j�d��}|j|j	|�dt
f�y)Nc��eZdZddefd�Zy)�ETestSignatureObject.test_signature_wrapped_bound_method.<locals>.Testr�c��yrr$rs   rr�zHTestSignatureObject.test_signature_wrapped_bound_method.<locals>.Test.m1:r�rNr)rNrcrdr�r�r$rrr9r9s��
�#�
rr9c��yrr$r�s  r�m1dzDTestSignatureObject.test_signature_wrapped_bound_method.<locals>.m1d<r�rr)r�r�r�r4r�r�)rWr9rs   r�#test_signature_wrapped_bound_methodz7TestSignatureObject.test_signature_wrapped_bound_method7sV��	�	�
�������	#�	�
$�	��������,�F���	 rc���Gd�d�}|�j}|j|j|�d�|j}|j|j|�d�y)Nc�"�eZdZedd�d��Zy)�?TestSignatureObject.test_signature_on_classmethod.<locals>.Testr.)ruc��yrr$)r�rtrus   rr0zCTestSignatureObject.test_signature_on_classmethod.<locals>.Test.fooFr�rN)rNrcrdr�r0r$rrr9rEs��
�'(�
��
rr9))r)rur..r�.�r0r4r��rWr9�meths   r�test_signature_on_classmethodz1TestSignatureObject.test_signature_on_classmethodD�`��	�	�
�v�z�z���������-��	 �
�x�x���������-��	 rc���Gd�d�}|�j}|j|j|�d�|j}|j|j|�d�y)Nc��eZdZed��Zy)�@TestSignatureObject.test_signature_on_staticmethod.<locals>.Testc��yrr$)r�rvs  rr0zDTestSignatureObject.test_signature_on_staticmethod.<locals>.Test.fooXr�rN)rNrcrdr�r0r$rrr9r&Ws��
�
��
rr9)))r�..r�)rv..r�.rr s   r�test_signature_on_staticmethodz2TestSignatureObject.test_signature_on_staticmethodVr#rc��ddlm}d�}|j|j||��d�|j	t
d�5t
j||d��ddd�|j	t
d�5t
j||d���ddd�d�}|j|j||��d	�|j|j||d��d
�|j|j||dd���d
�|j|j||dd���d�|j|j||ddd���d�|j|j||d���d�d�}|j|j||d��d�|j|j||d���d�|j|j||ddd��d�|j|j||dddd���d�|j|j||ddddd���d�|j|j||d���d�|j|j||dd���d�dtddfd �}t
j|�x}|_|j|j|||d���d!dd"td#ffdf�|j|j|||d�d��dd"td#ffdf�d$�}|||d%��d&��}|j|j|�d'�|j|�d&�d(�}|||dd&��d)��}|j|j|�d*�|j|d%��d+�d,�}|||d&d&�-�d%d)�.�}|j|j|�d/�t
j|�jd0d1�2�}|j||ji|j��d3�dBd4�}||d5��}t
j|�jd1��}|j||ji|j��d6�t
j|�jd1d7�}|j||ji|j��d8�t
j|�jd1d7��}|j||ji|j��d8�t
j|�jd7��}|j||ji|j��d9�||d%d&��}t
j|�jd7�}|j||ji|j��d:�d;�}t
j|�}|jt|�d<�|j|j||d��d=�|j|j||dd��d>�|j|j||ddd��d?�|j|j||ddd���d@�|j|j||dd���dA�y#1swY���xYw#1swY���xYw)CNr)r�c��yrr$r$rrr�z;TestSignatureObject.test_signature_on_partial.<locals>.testkr�rr��has incorrect argumentsr.r�c��yrr$rws    rr�z;TestSignatureObject.test_signature_on_partial.<locals>.testvr�r))r��r�..r��r..r��rv..r�.))r-r.r/.r/rw))r-�rr/.r�r/.)r�r))r��r�r..r�r0r/.))r1r0r/.))�r'r..r��r�..r�r.r/.c��yrr$)r'r�rr?s    rr�z;TestSignatureObject.test_signature_on_partial.<locals>.test�r�r))r�r3r�.))r2r3r�.reTrz)r�r�))r��r�r.r�r�.�r�))r�r�r5r�.)r�r�rr�r�c��yrr$r�s   rr�z;TestSignatureObject.test_signature_on_partial.<locals>.test�r�rr-.r�c��|Srr$r�s rr0z:TestSignatureObject.test_signature_on_partial.<locals>.foo�s���Hrr@�)))r'r9.r�.c��|||fSrr$r�s   rr0z:TestSignatureObject.test_signature_on_partial.<locals>.foo��
���a��7�NrrS)))r�rS.r�r..)r.rSr@c��||||fSrr$rws    rr0z:TestSignatureObject.test_signature_on_partial.<locals>.foo�s���a��A�:�r)rvr)r�rv))r�)r�r@.r�)rr9.r�)rvrS.r�.��rlr�)r=rlr9rSc��|||fSrr$r�s   rr0z:TestSignatureObject.test_signature_on_partial.<locals>.foo�r;rrg)rlr/rgrK)rlrKrg)r.rKrg)rKr@r9c��yrr$)r'r�rrvr?s     rr0z:TestSignatureObject.test_signature_on_partial.<locals>.foo
r�rz(a, b, /, c, d, **kwargs)))�r�..�positional_only�r..r��rv..r�r�.))rBrCr�.))rCr�.))�rre.r�r/r�.))r@rDr/r�.rx)
r�r�r4r�r�r�rQr�r��bindrr?r�)rWr�r�rbr0�_foo�bas       r�test_signature_on_partialz-TestSignatureObject.test_signature_on_partialhs���%�	�	
��������
�6�	�B�
�
#�
#�J�0I�
J����g�d�A�.�/�K��
#�
#�J�0I�
J����g�d�a�0�1�K�	�	
��������
�6��	 �	
��������a�(8�9��	 �	
��������a�1�(=�>��	 �	
���������Q�(?�@��	 �	
��������a�1��(B�C��	 �	
���������(:�;��	 �	�	
��������a�(8�9��	 �	
���������(:�;��	 �	
��������a��A�(>�?��	 �	
��������a��A�D�(I�J��	 �	
��������a��A�A��(K�L��	 �	
���������(:�;��	 �	
����������(B�C��	 �	��	��	�$+�#4�#4�T�#:�:��d� ����������a�0@�(A�B�C���c�+B�C�E���	�
	
���������a�0@�!�(D�E���c�+B�C�E���	�	��w�s�b�)�R�0���������-��	 �
	
������$�	��w�s�A��,��3���������-��	 �	
������[�1�	��w�s�b�B�/�2��<���������-��	 ��
�
�t�
$�
)�
)�C�2�
)�
6������r�w�w�4�"�)�)�4�6G�H�	��s�b�!��
�
�
�t�
$�
)�
)�B�
)�
/������r�w�w�4�"�)�)�4�k�B�
�
�
�t�
$�
)�
)�"�b�
1������r�w�w�4�"�)�)�4�l�C�
�
�
�t�
$�
)�
)�"��
)�
3������r�w�w�4�"�)�)�4�l�C�
�
�
�t�
$�
)�
)�B�
)�
/������r�w�w�4�"�)�)�4�k�B��t�r�R�(��
�
�
�t�
$�
)�
)�"�
-������r�w�w�4�"�)�)�4�l�C�	�����$������S��#>�?���������Q��8��	�	
��������Q��(:�;��	�	
��������Q��1�(=�>��	�
	
��������Q��Q�(?�@��	�	
��������Q�!�(<�=��	�AK�
J��K�
J�s�]�]�]�]c���ddlm�G�fd�d�}|jtd�5t	j
|j�ddd�G�fd�d�}|j|j|jd��d	�|j|j|�jd��d
�G�fd�d�}|j|j|jd��d�y#1swY��xYw)
Nr�r�c�&��eZdZd�ZW�e�Zy)�ATestSignatureObject.test_signature_on_partialmethod.<locals>.Spamc��yrr$r$rrr�zFTestSignatureObject.test_signature_on_partialmethod.<locals>.Spam.test;
r�rN�rNrcrdr�r�rJs�r�SpamrL:
s���
���%�CrrOr+c�,��eZdZdd�ZW�ed��Zy)rLc��yrr$)�itr'rs   rr�zFTestSignatureObject.test_signature_on_partialmethod.<locals>.Spam.testC
r�rr.rwN)r�rzrNrJs�rrOzATestSignatureObject.test_signature_on_partialmethod.<locals>.SpamB
s���
����*�CrFr�)))rR..r�r��rr..r�rz))r�rSrzc�*��eZdZdd�ZW�ed�Zy)rLc��yrr$r�s  rr�zFTestSignatureObject.test_signature_on_partialmethod.<locals>.Spam.testS
r�rr.N)rW�anno)rNrcrdr�rxrJs�rrOzATestSignatureObject.test_signature_on_partialmethod.<locals>.SpamR
s���
��d�A�&�Ar)))rW.rVr�.)	r�r�r�r�rQr�r�r4rx)rWrOr�s  @r�test_signature_on_partialmethodz3TestSignatureObject.test_signature_on_partialmethod7
s����+�	&�	&�
�
#�
#�J�0I�
J����d�h�h�'�K�	+�	+�
	
���������5��A�"�	#�	
��������
�
�U��C�"�	#�
	'�	'�	
�����������?��	 �3K�
J�s� C7�7Dc�t�d�}d|_|jttj|��d�y)Nc��yrr$r�s rr0zETestSignatureObject.test_signature_on_fake_partialmethod.<locals>.foo]
r�rrzz(a))�_partialmethodr4r�rQr��rWr0s  r�$test_signature_on_fake_partialmethodz8TestSignatureObject.test_signature_on_fake_partialmethod\
s-���#�������W�.�.�s�3�4�e�<rc����d��G�fd�d�}�|�j�}|j|j|j�d�|j|j|�j�d�|j|j|jd��d�|j|j|�d�d	��G�fd
�d�}|j|j|j�d�|j|j|�j�d�d�}|j|_|j|j|�d�y)
Nc�P��tj��dtf�fd��}|S)Nr�c����|i|��Srr$r�s  �rr�zSTestSignatureObject.test_signature_on_decorated.<locals>.decorator.<locals>.wrapperc
r�rr�r�s` rr�zBTestSignatureObject.test_signature_on_decorated.<locals>.decoratorb
r�rc� ��eZdZW�d��Zy)�<TestSignatureObject.test_signature_on_decorated.<locals>.Fooc��yrr$�rWr'r�s   rr(z@TestSignatureObject.test_signature_on_decorated.<locals>.Foo.bari
r�rN)rNrcrdr(�r�s�rr�rah
����
�
��
rr�))�rW..r�r�r-.))r�r-.Fr�r�c����tj��dtf�fd��}tj��}t|jj��dd}|j|��|_	|S)Nr�c����dg|��i|��Sr�r$r�s  �rr�zSTestSignatureObject.test_signature_on_decorated.<locals>.decorator.<locals>.wrapper�
s����B�0��0��0�0rr.r�)
r�r�r�rQr�r_r6r�rpr�)r�r�rb�
new_paramss`   rr�zBTestSignatureObject.test_signature_on_decorated.<locals>.decorator�
sk���
�_�_�T�
"�
1�C�
1�#�
1��#�#�D�)�C��s�~�~�4�4�6�7���;�J�$'�K�K�:�K�$F�G�!��Nrc� ��eZdZW�d��Zy)rac��yrr$rcs   rr�zETestSignatureObject.test_signature_on_decorated.<locals>.Foo.__call__�
r�rNr�rds�rr�z<TestSignatureObject.test_signature_on_decorated.<locals>.Foo�
rer�)r-.c��yrr$r$rr�wrapped_foo_callzITestSignatureObject.test_signature_on_decorated.<locals>.wrapped_foo_call�
r�r)r(r4r�r��__wrapped__)rWr�r(rnr�s    @r�test_signature_on_decoratedz/TestSignatureObject.test_signature_on_decorateda
s>���	�	�	�
���	�	�"�����������0��	 �	
��������	�	�2��	 �
	
�����������F��	 �	
�������,��	 �	�	�	�
	
���������5��	 �
	
����������7��	 �
	�'*�|�|��$�������(8�9��	 rc�<��Gd�d�}|j|j|�d�Gd�dt�}Gd�d|��}|j|j|�d�|jd�5Gd	�dt�}Gd
�d|��}|j|d�d�|j|j|�d�ddd�|jd�5Gd
�dt�}Gd�d|��}|j|d�d�|j|j|�d�ddd�|jd�5Gd�d��G�fd�dt�}Gd�d|��}|j|d�d�|j|j|�d�ddd�|jd�5Gd�dt�}Gd�d|��}|j|d�d�|j|j|�d�ddd�|jd�5Gd�dt�}Gd�d|��}|j|d�d�|j|j|�d�ddd�|jd�5Gd�dt�}Gd�d|��}|j|ddg�d �|j	t
�5|j|j|�|jd!j��ddd�ddd�|jd"�5Gd#�dt�}Gd$�d|��}|j|d%�d&�|j|d%d'�d�|j	t
�5|j|j|�|jd(j��ddd�ddd�Gd)�dt�}Gd*�d|��}|j|j|�d+�|j|j|�d,�Gd-�d.t�}Gd/�dt|��}Gd0�d|��}|j|j|�d,�|j|j|�d1�|j|j|�d+�Gd2�dt�}Gd3�d|��}|j|j|�d4�y#1swY��\xYw#1swY���xYw#1swY���xYw#1swY��-xYw#1swY���xYw#1swY��:xYw#1swY��?xYw#1swY���xYw#1swY���xYw)5Nc��eZdZd�Zy)�6TestSignatureObject.test_signature_on_class.<locals>.Cc��yrr$�rWr's  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
r�rN�rNrcrdr�r$rrrrs�
r�rr�)r�.c��eZdZd�Zy)�7TestSignatureObject.test_signature_on_class.<locals>.CMc��yrr$�r�r's  rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.__call__�
r�rNr�r$rrrry�
r�rrc��eZdZd�Zy)rsc��yrr$�rWr�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
r�rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C�
r�rrr�c��eZdZed��Zy)ryc��|Srr$r{s  rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.__call__�
����HrN�rNrcrdr�r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM�
������rc��eZdZd�Zy)rsc��yrr$r~s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
���rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C�
���rr.r�c��eZdZed��Zy)ryc��|Srr$r�s rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.__call__�
r�rN�rNrcrdr�r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM�
������rc��eZdZd�Zy)rsc��yrr$r~s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
r�rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C�
r�r�
MethodTypec��eZdZd�Zy)�6TestSignatureObject.test_signature_on_class.<locals>.Ac��|Srr$rus  r�callz;TestSignatureObject.test_signature_on_class.<locals>.A.call�
����HrN�rNrcrdr�r$rrrVr��
���rrVc�2��eZdZW��jZy)ryN�rNrcrdr�r��rVs�rrz7TestSignatureObject.test_signature_on_class.<locals>.CM�
�����3�8�8�rc��eZdZd�Zy)rsc��yrr$r~s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
r�rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C�
r�rr�c�4�eZdZejd�d�Zy)ryc�
�||fSrr$�rr's  rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.<lambda>�
���1�a�&rr/N�rNrcrdr�r�r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM�
���,�9�,�,�-@�!�D�rc��eZdZd�Zy)rsc��yrr$r~s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
r�rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C�
r�r�r/r.r�c�4�eZdZejd�d�Zy)ryc�
�||fSrr$�rWrr's   rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.<lambda>�
���q�!�frr/N�rNrcrdr�r�r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM�
���2�9�2�2�3L�a�P�rc��eZdZd�Zy)rsc��yrr$r~s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
r�rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C�
r�r�BuiltinMethodTypec�$�eZdZdjZy)ry�:N�rNrcrdr4r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM����8�8�rc��eZdZd�Zy)rsc��yrr$r~s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__r�rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.Cr�rr'�bc�a:bcr��MethodWrapperTypec�$�eZdZdjZy)ryr/N�rNrcrd�__pow__r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM
����;�;�rc��eZdZd�Zy)rsc��yrr$r~s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__r�rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.Cr�rrer;r:rc�$��eZdZdd��fd�
Z�xZS)ryr.r%c�(��t�|�||||�Sr�r*r���mclsr�bases�dctr0r,s     �rr�z?TestSignatureObject.test_signature_on_class.<locals>.CM.__new__�����w��t�T�5�#�>�>r�rNrcrdr�r4r5s@rrz7TestSignatureObject.test_signature_on_class.<locals>.CM����78�
?�
?rc��eZdZd�Zy)rsc��yrr$r~s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__r�rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.Cr�rrl))�r..r��r�..r��r�..r�)r0r..r�.c�*��eZdZdd��fd�
Zd�Z�xZS)�8TestSignatureObject.test_signature_on_class.<locals>.CMMr.r%c�(��t�|�||||�Srr�r�s     �rr�z@TestSignatureObject.test_signature_on_class.<locals>.CMM.__new__,r�rc��t|||�Sr)r�)r��nm�bs�dts    rr�zATestSignatureObject.test_signature_on_class.<locals>.CMM.__call__.s���B��B�'�'r)rNrcrdr�r�r4r5s@r�CMMr�+s���78�
?�
(rr�c�$��eZdZdd��fd�
Z�xZS)ryr/�r(c�(��t�|�||||�Srr�)r�rr�r�r(r,s     �rr�z?TestSignatureObject.test_signature_on_class.<locals>.CM.__new__1r�rr�r5s@rrz7TestSignatureObject.test_signature_on_class.<locals>.CM0r�rc��eZdZd�Zy)rsc��yrr$r~s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__4r�rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C3r�r)))r�..r�)r�..r�)r�..r�.c�$��eZdZdd��fd�
Z�xZS)ryr/r�c�&��t�|�|||�Sr�r*r�)r�rr�r�r(r,s     �rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.__init__Is����w�'��e�S�9�9r�rNrcrdr�r4r5s@rrz7TestSignatureObject.test_signature_on_class.<locals>.CMHs���78�
:�
:rc��eZdZd�Zy)rsc��yrr$r~s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__Lr�rNrvr$rrrz6TestSignatureObject.test_signature_on_class.<locals>.CKr�r))r�r�r�)r(r/.r�.)r4r�r�rr��AssertionErrorr4r�)rWrrr�rVs    @r�test_signature_on_classz+TestSignatureObject.test_signature_on_class�
s����	�	�	
�������*��	 �	��	�	�"�	�	
�������*��	 ��\�\�-�
(�
�T�
�
�b�
�
���Q�q�T�1�%����T�^�^�A�.�!�
"�)��\�\�.�
)�
�T�
�
�b�
�
���Q�q�T�1�%����T�^�^�A�.�!�
"�*��\�\�,�
'�
�
�
$�T�
$�
�b�
�
���Q�q�T�1�%����T�^�^�A�.�!�
"�(��\�\�)�
$�
E�T�
E�
�b�
�
���Q�q�T�6�*����T�^�^�A�.�!�
"�%��\�\�/�
*�
Q�T�
Q�
�b�
�
���Q�q�T�6�*����T�^�^�A�.�!�
"�+��\�\�-�
.�
$�T�
$�
�b�
�
���Q��T�{�^�V�4��"�"�>�2�� � �����!2�D�N�N�2�7�7�4K�L�3�/��\�\�-�
.�
'�T�
'�
�b�
�
���Q�q�T�1�%����Q�q�!�W�a�(��"�"�>�2�� � �����!2�D�N�N�A�;�;�4O�P�3�/�	?��	?�	�"�	�	
�������*��	 �	
�������+��	 �	(�$�	(�
	?���	?�	�"�	�	
�������,��	 �	
�������+��	 �	
�������*��	 �	:��	:�	�"�	�	
�������+��	 �e)�
(��*�
)��(�
'��%�
$��+�
*��*3�2��/�
.��,3�2��/�
.�s��:AT)�(AT6�A!U�AU�>AU�,AU7�7;U*�2U7�A"V�5;V�0V�)T3�6U�U
�U�U'�*U4	�/U7�7V�V	�	V�Vc�6��Gd�d�}|d�|j|j|�d�|jd�5Gd�d�}|d�|j|j|�d�ddd�|jd�5Gd�d�}|d�|j|j|�d�ddd�|jd	�5Gd
�d��G�fd�d�}|d�|j|j|�d
�ddd�|jd�5Gd�d�}|d�|j|j|�d
�ddd�|jd�5Gd�d�}|j|d�jd�|j|j|�d
�ddd�y#1swY��exYw#1swY��%xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nc��eZdZd�Zy)�@TestSignatureObject.test_signature_on_class_with_init.<locals>.Cc��yrr$r~s  rr�zITestSignatureObject.test_signature_on_class_with_init.<locals>.C.__init__Xr�rNrvr$rrrr�Wr�rrr.rlr�c��eZdZed��Zy)r�c��yrr$)r�r�s  rr�zITestSignatureObject.test_signature_on_class_with_init.<locals>.C.__init__b���rN)rNrcrdr�r�r$rrrz@TestSignatureObject.test_signature_on_class_with_init.<locals>.Ca������rr�c��eZdZed��Zy)r�c��yrr$r6s rr�zITestSignatureObject.test_signature_on_class_with_init.<locals>.C.__init__mr�rN)rNrcrdr�r�r$rrrz@TestSignatureObject.test_signature_on_class_with_init.<locals>.Cl������rr�c��eZdZd�Zy)�@TestSignatureObject.test_signature_on_class_with_init.<locals>.Ac��yrr$rus  rr�zETestSignatureObject.test_signature_on_class_with_init.<locals>.A.callxr�rNr�r$rrrVr�wr�rrVc�2��eZdZW��jZy)r�N)rNrcrdr�r�r�s�rrz@TestSignatureObject.test_signature_on_class_with_init.<locals>.Czr�rrwr�c�4�eZdZejd�d�Zy)r�c��yrr$r�s  rr�zITestSignatureObject.test_signature_on_class_with_init.<locals>.C.<lambda>�s��$rr/N)rNrcrdr�r�r�r$rrrz@TestSignatureObject.test_signature_on_class_with_init.<locals>.C�s��,�9�,�,�->��B�rr�c�8�eZdZd�Zej
ed�Zy)r�c��||f|_yrr�r�s   r�_initzFTestSignatureObject.test_signature_on_class_with_init.<locals>.C._init�s
����V�D�Frr/N)rNrcrdr�r�r�r�r$rrrz@TestSignatureObject.test_signature_on_class_with_init.<locals>.C�s��$�2�9�2�2�5�!�<�rr�)r4r�rr'�rWrrVs  @r�!test_signature_on_class_with_initz5TestSignatureObject.test_signature_on_class_with_initVs����	�	�	
�!���������*��	��\�\�-�
(�
�
�

�a�D����T�^�^�A�.�!�
"�)��\�\�.�
)�
�
�

�a�D����T�^�^�A�.�!�
"�*��\�\�,�
'�
�
�
$�
$�
�a�D����T�^�^�A�.�!�
"�(��\�\�)�
$�
C�
C�
�a�D����T�^�^�A�.�!�
"�%��\�\�/�
*�
=�
=�

���Q�q�T�V�V�V�,����T�^�^�A�.�!�
"�+�
*�W)�
(��*�
)��(�
'��%�
$��+�
*�s>�4G�4G*� AG7�94H�AH�G'�*G4�7H�H�Hc���|jd�5Gd�d�}|j|d�d�|j|j|�d�ddd�|jd�5Gd�d�}|j|d�d�|j|j|�d�ddd�|jd�5Gd	�d�}|j|d�d�|j|j|�d�ddd�|jd
�5Gd�d��G�fd
�d�}|j|d�d�|j|j|�d�ddd�|jd�5Gd�d�}|j|d�d�|j|j|�d�ddd�|jd�5Gd�d�}|j|d�d�|j|j|�d�ddd�|jd�5Gd�d�}|j|�d�|jt|j|�ddd�|jd�5Gd�d�}|j|�|t
z�|jt|j|�ddd�|jd�5Gd�d�}|j||�d�|j|j|�|j|j��ddd�|jd�5Gd�d�}|j|t
�|t
z�|jt|j|�ddd�y#1swY���xYw#1swY��5xYw#1swY���xYw#1swY���xYw#1swY��9xYw#1swY���xYw#1swY���xYw#1swY��DxYw#1swY��xYw#1swYyxYw)N�FunctionTypec��eZdZd�Zy)�?TestSignatureObject.test_signature_on_class_with_new.<locals>.Cc��|Srr$r{s  rr�zGTestSignatureObject.test_signature_on_class_with_new.<locals>.C.__new__�r�rN�rNrcrdr�r$rrrr��r�rrr.rwr�c��eZdZed��Zy)r�c��|Srr$)r��cls2r's   rr�zGTestSignatureObject.test_signature_on_class_with_new.<locals>.C.__new__�r�rN)rNrcrdr�r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�r�rr�c��eZdZed��Zy)r�c��|Srr$r{s  rr�zGTestSignatureObject.test_signature_on_class_with_new.<locals>.C.__new__�r�rN)rNrcrdr�r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�r�rr�c��eZdZd�Zy)�?TestSignatureObject.test_signature_on_class_with_new.<locals>.Ac��|Srr$)rWr�r's   rr�zDTestSignatureObject.test_signature_on_class_with_new.<locals>.A.call�r�rNr�r$rrrVr	�r�rrVc�2��eZdZW��jZy�r�N)rNrcrdr�r�r�s�rrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s����#�(�(�rr�c�4�eZdZejd�d�Zy)r�c�
�||fSrr$)rr�r's   rr�zHTestSignatureObject.test_signature_on_class_with_new.<locals>.C.<lambda>�s��q�!�frr/N)rNrcrdr�r�r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s��+�)�+�+�,D�a�H�rr�r�c�4�eZdZejd�d�Zy)r�c�
�||fSrr$)r�rr's   rr�zHTestSignatureObject.test_signature_on_class_with_new.<locals>.C.<lambda>�s��Q��Frr/N)rNrcrdr�r�r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s��1�)�1�1�2J�A�N�rr�c�$�eZdZejZyr	)rNrcrdr��__subclasscheck__r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s
���/�/�rFr�c�D�eZdZejjee�Zyr	)rNrcrdr��__or__r@r�r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s���+�+�-�-�c�4�8�r�MethodDescriptorTypec�*�eZdZejdZy)r�r	N)rNrcrdr�rr�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s���-�-�(;�<�rT�WrapperDescriptorTypec�$�eZdZejZyr	)rNrcrdr�r	r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s���+�+�r)rr4r�r�r�r�r	r�s  @r� test_signature_on_class_with_newz4TestSignatureObject.test_signature_on_class_with_new�s����
�\�\�.�
)�
�
�
���Q�q�T�1�%����T�^�^�A�.�!�
"�
*��\�\�-�
(�
�
�

���Q�q�T�1�%����T�^�^�A�.�!�
"�)��\�\�.�
)�
�
�

���Q�q�T�1�%����T�^�^�A�.�!�
"�*��\�\�,�
'�
�
�
#�
#�
���Q�q�T�1�%����T�^�^�A�.�!�
"�(��\�\�)�
$�
I�
I�
���Q�q�T�6�*����T�^�^�A�.�!�
"�%��\�\�/�
*�
O�
O�
���Q�q�T�6�*����T�^�^�A�.�!�
"�+��\�\�-�
.�
0�
0�
���Q�S�%�(�
���j�$�.�.�!�<�/��\�\�-�
.�
9�
9�
���Q�S�!�c�'�*�
���j�$�.�.�!�<�/��\�\�0�
1�
=�
=�
���Q�q�T�4�(����T�^�^�A�.����q�?R�?R�0S�T�2��\�\�1�
2�
&�
&�
���Q�s�V�Q��W�-�
���j�$�.�.�!�<�3�
2�s*�
)��)�
(��*�
)��(�
'��%�
$��+�
*��/�
.��/�
.��2�
1��3�
2�s��AO�0AO'�
AO4�*AP�AP�0AP�
AP(�)A
P5�AQ�AQ�O$�'O1�4O>�P�P�P%�(P2�5P?�Q�Qc� �Gd�d�}Gd�d|�}Gd�d|�}Gd�d|�}|j|j|�d	�|j|j|�d
�|j|j|�d�y)Nc��eZdZdd�Zy)�9TestSignatureObject.test_signature_on_subclass.<locals>.Ac�,�tj|�Sr�r�r�)r�r'rr?s    rr�zATestSignatureObject.test_signature_on_subclass.<locals>.A.__new__�����~�~�c�*�*rNrr�r$rrrVr	����
+rrVc��eZdZd�Zy)�9TestSignatureObject.test_signature_on_subclass.<locals>.Bc��yrr$r~s  rr�zBTestSignatureObject.test_signature_on_subclass.<locals>.B.__init__�r�rNrvr$rrrYr	�r�rrYc��eZdZdd�Zy)�9TestSignatureObject.test_signature_on_subclass.<locals>.Cc�,�tj|�Srr	)r�r'r�rr?s     rr�zATestSignatureObject.test_signature_on_subclass.<locals>.C.__new__r	rN�r.r/r�r$rrrr	r	rrc��eZdZy)�9TestSignatureObject.test_signature_on_subclass.<locals>.DNr�r$rrr^r#	r-rr^rl))�r'r..r��r�r/.r�r�r�.))r$	r�r�.r�)rWrVrYrr^s     r�test_signature_on_subclassz.TestSignatureObject.test_signature_on_subclass�s���	+�	+�	��	�	+��	+�	��	�	
�������*��	 �	
�������*��	 �	
�������*��	 rc��ddlm}m}|d�}Gd�d||�}|j|j	|�ddt
dffdf�y)	Nr)�Generic�TypeVarr�c��eZdZdeddfd�Zy)�ATestSignatureObject.test_signature_on_generic_subclass.<locals>.Ar'r�Nc��yrr$rus  rr�zJTestSignatureObject.test_signature_on_generic_subclass.<locals>.A.__init__r�r)rNrcrdr�r�r$rrrVr+	s��
�S�
�T�
rrVr'.r�)�typingr(	r)	r4r�r�)rWr(	r)	r�rVs     r�"test_signature_on_generic_subclassz6TestSignatureObject.test_signature_on_generic_subclasssP��+��C�L��	���
�	�	
�������*���c�>�:�<�� �	!rc���Gd�d�}|jttj|��d�Gd�d|�}|jttj|��d�Gd�dt�}Gd�d|�}|j|dd	i�j
d�|j
td
�5|jtj|�d�ddd�|j|dd	i�j
d�|j
td
�5|jtj|�d�ddd�y#1swY�rxYw#1swYyxYw)Nc��eZdZy��CTestSignatureObject.test_signature_on_class_without_init.<locals>.CNr�r$rrrr2	&r�rrrdc��eZdZy��CTestSignatureObject.test_signature_on_class_without_init.<locals>.DNr�r$rrr^r5	(r�rr^c��eZdZyr1	r�r$rrrzCTestSignatureObject.test_signature_on_class_without_init.<locals>.C,r�rc��eZdZyr4	r�r$rrr^zCTestSignatureObject.test_signature_on_class_without_init.<locals>.D-r�rrVr$zcallable.*is not supported)r4r�rQr�r�rNr�r�)rWrr^s   r�$test_signature_on_class_without_initz8TestSignatureObject.test_signature_on_class_without_init"s��	�
�����W�.�.�q�1�2�D�9��������W�.�.�q�1�2�D�9�	����������3��B��0�0�#�6�
�
#�
#�J�0L�
M����W�.�.�q�1�4�8�N�����3��B��0�0�#�6�
�
#�
#�J�0L�
M����W�.�.�q�1�4�8�N�
M�N�
M��N�
M�s�&E�.&E)�E&�)E2c��d}|jttjtj
��|�Gd�dtj
�}Gd�d�}Gd�d||�}|jttj|��|�|jttj|��|�Gd�d	|�}|jttj|��d
�Gd�dt�}Gd
�d||��}|jttj|��d�y)Nz=(file, protocol=None, fix_imports=True, buffer_callback=None)c��eZdZy)�>TestSignatureObject.test_signature_on_builtin_class.<locals>.PNr�r$rrrrr;	=r�rrrc��eZdZy)�GTestSignatureObject.test_signature_on_builtin_class.<locals>.EmptyTraitNr�r$rr�
EmptyTraitr=	>r�rr>	c��eZdZy)�?TestSignatureObject.test_signature_on_builtin_class.<locals>.P2Nr�r$rr�P2r@	?r�rrA	c��eZdZd�Zy)�?TestSignatureObject.test_signature_on_builtin_class.<locals>.P3c��yrr$)rWrzs  rr�zHTestSignatureObject.test_signature_on_builtin_class.<locals>.P3.__init__Dr�rNrvr$rr�P3rC	Cr�rrE	z(spam)c��eZdZd�Zy)�BTestSignatureObject.test_signature_on_builtin_class.<locals>.MetaPc��yrr$)r�r0r(s   rr�zKTestSignatureObject.test_signature_on_builtin_class.<locals>.MetaP.__call__Ir�rNr�r$rr�MetaPrG	Hr�rrI	c��eZdZy)�?TestSignatureObject.test_signature_on_builtin_class.<locals>.P4Nr�r$rr�P4rK	Kr-rrL	rz
(foo, bar))r4r�rQr�r�r�r�)rWr`rrr>	rA	rE	rI	rL	s        r�test_signature_on_builtin_classz3TestSignatureObject.test_signature_on_builtin_class6s���,������W�.�.�w���?�@�(�K�&����&���%��Q�%�����W�.�.�q�1�2�H�=�����W�.�.�r�2�3�X�>�	��	�	
����W�.�.�r�2�3�X�>�	�D�	�	��u�	�����W�.�.�r�2�3�\�Brc�~��Gd�d�}|j|j|��d�Gd�d�}|jtd�5t	j|��ddd�Gd�d||�}|j|j|��d�|jd	�5Gd
�d�}|j|j|��d�ddd�|jd�5Gd
�d�}|j|j|��d�ddd�|jd�5Gd�d��G�fd�d�}|j|�d�d�|j|j|��d�ddd�|jd�5Gd�d�}|j|�d�d�|j|j|��d�ddd�|jd�5Gd�d�}|j|�d�d�|j|j|��d�ddd�|jd�5Gd�d�}|j|�ddg�d�|j|j|��|jdj��ddd�|jd�5Gd�d�}|j|�d �d!�|j|j|��|jd"j��ddd�|jd#�5Gd$�dt�}|�dd%gd �}|j|d d d&��|jt|�|�|j|j|��|jtj��ddd�|jd'�5Gd(�dt�}|j|d)�ddg�d�|j|j|��|jdj��ddd�|jd*�5Gd+�dt�}|j|d%�d �d!�|j|j|��|jd"j��ddd�|jd,�5Gd-�d�}|�}d.�|_
|j|d�d�|j|j|�d�ddd�y#1swY��:xYw#1swY���xYw#1swY���xYw#1swY��(xYw#1swY���xYw#1swY��txYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY��rxYw#1swY��xYw#1swYyxYw)/Nc��eZdZd�Zy)�CTestSignatureObject.test_signature_on_callable_objects.<locals>.Fooc��yrr$rus  rr�zLTestSignatureObject.test_signature_on_callable_objects.<locals>.Foo.__call__Qr�rNr�r$rrr�rP	Pr�rr�rwc��eZdZy)�DTestSignatureObject.test_signature_on_callable_objects.<locals>.SpamNr�r$rrrOrS	Xr-rrOr�c��eZdZy)�CTestSignatureObject.test_signature_on_callable_objects.<locals>.BarNr�r$rrr�rU	]r-rr�r�c��eZdZed��Zy)�ATestSignatureObject.test_signature_on_callable_objects.<locals>.Cc��yrr$r{s  rr�zJTestSignatureObject.test_signature_on_callable_objects.<locals>.C.__call__fr�rNr�r$rrrrW	er�rrr�c��eZdZed��Zy)rW	c��yrr$r�s rr�zJTestSignatureObject.test_signature_on_callable_objects.<locals>.C.__call__pr�rNr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.Cor�rr�c��eZdZd�Zy)�ATestSignatureObject.test_signature_on_callable_objects.<locals>.Ac��|Srr$rus  rr�zFTestSignatureObject.test_signature_on_callable_objects.<locals>.A.callzr�rNr�r$rrrVr\	yr�rrVc�2��eZdZW��jZy�rW	Nr�r�s�rrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C|r�rr.r�c�4�eZdZejd�d�Zy)rW	c�
�||fSrr$r�s  rr�zJTestSignatureObject.test_signature_on_callable_objects.<locals>.C.<lambda>�r�rr/Nr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rr�r�c�4�eZdZejd�d�Zy)rW	c�
�||fSrr$r�s   rr�zJTestSignatureObject.test_signature_on_callable_objects.<locals>.C.<lambda>�r�rr/Nr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rr�c�$�eZdZdjZy)rW	r�Nr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rr'r�r�r�r�c�$�eZdZdjZy)rW	r/Nr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rrer;r�ClassMethodDescriptorTypec�*�eZdZejdZy)rW	r�N)rNrcrdrrr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�s���=�=��4�rr/r!	r	c�$�eZdZejZyr_	)rNrcrdr�r4r�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rr�r	c�$�eZdZejZyr_	)rNrcrdr�r�r�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�s���;�;�rr�c��eZdZdZy)rW	r�Nr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�s��&�	rc��|Srr$r�s rr�zHTestSignatureObject.test_signature_on_callable_objects.<locals>.<lambda>�s��1r)r4r�r�r�rQrr4r�rr�r�r�r�r�)rWr�rOr�r�resrrVs       @r�"test_signature_on_callable_objectsz6TestSignatureObject.test_signature_on_callable_objectsOs���	�	�	
��������.��	 �	�	�
�
#�
#�I�/I�
J����d�f�%�K�	�$��	�	
��������.��	 ��\�\�-�
(�
�
�

���T�^�^�A�C�0�!�
"�
)��\�\�.�
)�
�
�

���T�^�^�A�C�0�!�
"�
*��\�\�,�
'�
�
�
$�
$�
���S�Q�S��V�Q�'����T�^�^�A�C�0�!�
"�(��\�\�)�
$�
E�
E�
���S�Q�S��V�V�,����T�^�^�A�C�0�!�
"�%��\�\�/�
*�
Q�
Q�
���S�Q�S��V�V�,����T�^�^�A�C�0�!�
"�+��\�\�-�
.�
$�
$�
���S�Q�S�#�t��-�v�6����T�^�^�A�C�0�$�.�.����2I�J�/��\�\�-�
.�
'�
'�
���S�Q�S��V�Q�'����T�^�^�A�C�0�$�.�.�!���2M�N�/��\�\�5�
6�
5�D�
5��!�#�q�!�f�a�.�C����S�a�A�,�/����T�#�Y��*����T�^�^�A�C�0�$�.�.����2O�P�7��\�\�0�
1�
$�C�
$�
���V�Q�s�V�S�$�K�0�&�9����T�^�^�A�C�0�$�.�.����2I�J�2��\�\�1�
2�
'�C�
'�
���T�Q�q�T�!�W�a�(����T�^�^�A�C�0�$�.�.�!���2M�N�3��\�\�0�
1�
'�
'���A�$�A�J����Q�q�T�1�%����T�^�^�A�.�!�
"�
2�
1�CK�
J��)�
(��*�
)��(�
'��%�
$��+�
*��/�
.��/�
.��7�
6��2�
1��3�
2��2�
1�s��V%�81V2�1V?�AW�?AW�&AW&�
A)W3�A'X�BX
�;A/X�A-X'�	AX3�%V/�2V<�?W	�W�W#�&W0�3W=�X
�
X�X$�'X0�3X<c��Gd�d�}|�}d�|_|j|j|�d�|�}||_|jtd�5|j|�ddd�y#1swYyxYw)Nc��eZdZd�Zy)�>TestSignatureObject.test_signature_on_wrapper.<locals>.Wrapperc��yrr$r~s  rr�zGTestSignatureObject.test_signature_on_wrapper.<locals>.Wrapper.__call__�r�rNr�r$rr�Wrapperrp	�r�rrr	c��yrr$r�s rr�z?TestSignatureObject.test_signature_on_wrapper.<locals>.<lambda>�rrrw�wrapper loop)ror4r�r�r�)rWrr	r�s   r�test_signature_on_wrapperz-TestSignatureObject.test_signature_on_wrapper�su��	�	��)��,����������0��	 ��)��%���
�
#�
#�J��
?��N�N�7�#�@�
?�
?�s�A:�:Bc�J�|j|jdd��d�y)Nc��|Srr$r�s rr�z?TestSignatureObject.test_signature_on_lambdas.<locals>.<lambda>�s��ar)))r'r@.r�.r�r�ras r�test_signature_on_lambdasz-TestSignatureObject.test_signature_on_lambdas�s ���������9��	 rc	�j�tjj�tjj�tjj	�fD]K}|j|��5|j
ttj|��d�ddd��My#1swY�XxYw)N�r�z(*args, **kwargs))
r�r�r�r��	MagicMockrr4r�rQr��rWr�s  r�test_signature_on_mocksz+TestSignatureObject.test_signature_on_mocks�s���
�M�M��� ��M�M�#�#�%��M�M�#�#�%�
�D�
���4��(�� � ��W�%6�%6�t�%<�!=�?R�S�)�(�
�
)�(�s�//B)�)B2	c�R�tjj�tjj�fD]P}|j	|��5|jt�5tj|�ddd�ddd��Ry#1swY�xYw#1swY�ixYw)Nrz	)	r�r��NonCallableMock�NonCallableMagicMockrr�r�rQr�r|	s  r�#test_signature_on_noncallable_mocksz7TestSignatureObject.test_signature_on_noncallable_mocks�sy���M�M�)�)�+��M�M�.�.�0�
�D����4��(��&�&�y�1��%�%�d�+�2�)�(�	
�
2�1��)�(�s$�B�(B�>B�B�B�B&	c��dtdtfd�}|jtj|�dk(�|jtj|�dk7�|jtj|�tk(�|jtj|�tk7�dtdtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dtdtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dd�dtdtfd	�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dtfd
�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dtdtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dtdtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���d
�}d�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dd�d�}dd�d�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dd�d�}dd�d�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���d�}dd�d�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dd�dtfd�}dd�dtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���y)Nr�r�c��yrr$r�s  rr0z8TestSignatureObject.test_signature_equality.<locals>.foo�r4rr�c��yrr$r�s  rr(z8TestSignatureObject.test_signature_equality.<locals>.bar�r4rc��yrr$r�s  rr(z8TestSignatureObject.test_signature_equality.<locals>.bar�r�rc��yrr$r�s  rr(z8TestSignatureObject.test_signature_equality.<locals>.bar�s��drr6c��yrr$r�s  rr(z8TestSignatureObject.test_signature_equality.<locals>.bars��$rc��yrr$�r'rs  rr(z8TestSignatureObject.test_signature_equality.<locals>.bar���4rc��yrr$r�s  rr(z8TestSignatureObject.test_signature_equality.<locals>.barr�rc��yrr$�r�r's  rrzz9TestSignatureObject.test_signature_equality.<locals>.spamr�rc��yrr$r�s   rr0z8TestSignatureObject.test_signature_equality.<locals>.foo���Trc��yrr$�rr�r's   rr(z8TestSignatureObject.test_signature_equality.<locals>.barr�	rr.r�c��yrr$r�s   rr0z8TestSignatureObject.test_signature_equality.<locals>.foo#r�rc��yrr$r�	s   rr(z8TestSignatureObject.test_signature_equality.<locals>.bar$r�rc��yrr$��posr'r�rs    rr0z8TestSignatureObject.test_signature_equality.<locals>.foo*r�rc��yrr$�r�	rr�r's    rr(z8TestSignatureObject.test_signature_equality.<locals>.bar+r�rc��yrr$r�	s    rr0z8TestSignatureObject.test_signature_equality.<locals>.foo1s��$rc��yrr$r�	s    rr(z8TestSignatureObject.test_signature_equality.<locals>.bar2r�rr?c��yrr$)r�	r'r�rrr?s      rr0z8TestSignatureObject.test_signature_equality.<locals>.foo8���trc��yrr$)r�	rr�r'rr?s      rr(z8TestSignatureObject.test_signature_equality.<locals>.bar9r�	r)
r�r�rVrQr�rMr	r4�hashr�)rWr0r(rzs    r�test_signature_equalityz+TestSignatureObject.test_signature_equality�sX��+��+��+�����*�*�3�/�2�5�6�����)�)�#�.�"�4�5�����)�)�#�.�)�;�<�����*�*�3�/�9�<�=�+��+��+�����)�)�#�.�'�2C�2C�C�2H�H�I�����*�*�3�/�7�3D�3D�S�3I�I�J������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�	*��)��)�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�	#��"�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H��.��.�5�.�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�	(�E�'�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�	)�S�(�U�(�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�)�3�)�e�)�����*�*�4�0�G�4E�4E�c�4J�J�K�����)�)�$�/�7�3D�3D�S�3I�I�J������"�"�4�(�)�4��0A�0A�#�0F�+G�	I�	"�!�����)�)�#�.�'�2C�2C�C�2H�H�I�����*�*�3�/�7�3D�3D�S�3I�I�J������"�"�3�'�(�$�w�/@�/@��/E�*F�	H��#��#�����)�)�#�.�'�2C�2C�C�2H�H�I�����*�*�3�/�7�3D�3D�S�3I�I�J������"�"�3�'�(�$�w�/@�/@��/E�*F�	H��(� !�(�����)�)�#�.�'�2C�2C�C�2H�H�I�����*�*�3�/�7�3D�3D�S�3I�I�J������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�	'� !�(�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�!�;��;�$&�;��;�����)�)�#�.�'�2C�2C�C�2H�H�I�����*�*�3�/�7�3D�3D�S�3I�I�J������"�"�3�'�(�$�w�/@�/@��/E�*F�	Hrc�
�tj}tj}d�}tj|�}||d|j�g��}|jt
|�t
|��|jt
|�t
|jd����dd�}|jt
|�t
tj|���ifd�}|jtd	�5t
tj|��ddd�difd
�}|jtd	�5t
tj|��ddd�y#1swY�MxYw#1swYyxYw)Nc��yrr$r�s rr0z8TestSignatureObject.test_signature_hashable.<locals>.fooCr�rr'r�rz�r`r�c��yrr$r�s rr(z8TestSignatureObject.test_signature_hashable.<locals>.barLr�rc��yrr$r�s rr0z8TestSignatureObject.test_signature_hashable.<locals>.fooO���tr�unhashable typec��yrr$r�s rr0z8TestSignatureObject.test_signature_hashable.<locals>.fooSr�r)r�r.)rQr�r�r��POSITIONAL_OR_KEYWORDr4r�	r�rpr�r�)rWrqrrr0�foo_sig�
manual_sigr(s       r�test_signature_hashablez+TestSignatureObject.test_signature_hashable?s-������������#�#�C�(���1�S�!�*A�*A�#B�"C�D�
�����g���Z�(8�9����D��M� ��!3�!3�f�!3�!M�N�	P�	����D��M�4��0A�0A�#�0F�+G�H���
�
#�
#�I�/@�
A���"�"�3�'�(�B�	�b��
�
#�
#�I�/@�
A���"�"�3�'�(�B�
A�	B�
A��B�
A�s�E-�E9�-E6�9Fc��ddd�dtddfd�}|jttj|��d�ddd�dtddfd�}|jttj|��d�d	�}|jttj|��d
�dt
tdtttffd�}|jttj|��d�d
dlm	}dt
td|ttffd�}|jttj|��d�y)Nrwr'r�r�c��yrr$�r'r�rr?s    rr0z3TestSignatureObject.test_signature_str.<locals>.fooXr�rz*(a: int = 1, *, b, c=None, **kwargs) -> 42c��yrr$)r'r�rrr?s     rr0z3TestSignatureObject.test_signature_str.<locals>.foo]r�rz.(a: int = 1, *args, b, c=None, **kwargs) -> 42c��yrr$r$rrr0z3TestSignatureObject.test_signature_str.<locals>.foobr�rrdc��yrr$r�s rr0z3TestSignatureObject.test_signature_str.<locals>.foofr�rz#(a: list[str]) -> tuple[str, float]r)�Tuplec��yrr$r�s rr0z3TestSignatureObject.test_signature_str.<locals>.foolr�rz#(a: list[str]) -> Tuple[str, float]r)
r�r4r�rQr�r�r_r�r-	r�	)rWr0r�	s   r�test_signature_strz&TestSignatureObject.test_signature_strWs0��	��	�#�	�B�	�����W�.�.�s�3�4�E�	G�	�T�	�#�	��	�����W�.�.�s�3�4�I�	K�	�����W�.�.�s�3�4�d�;�	�4��9�	��s�E�z�!2�	�����W�.�.�s�3�4�>�	@�	!�	�4��9�	��s�E�z�!2�	�����W�.�.�s�3�4�>�	@rc�&�tj}tj}d�}|jt	tj
|��d�|jt	||d|j�g���d�|jt	||d|j�|d|j�g���d�|jt	||d|j�|d|j�g���d�y)	Nc�
�||fSrr$)�a_por�r?s   rr�zDTestSignatureObject.test_signature_str_positional_only.<locals>.testu�����<�rz(a_po, /, *, b, **kwargs)r0r�z(foo, /)r(z(foo, /, **bar)z(foo, /, *bar))	rQr�r�r4r�r�r�r��VAR_POSITIONAL)rWrrrqr�s    r�"test_signature_str_positional_onlyz6TestSignatureObject.test_signature_str_positional_onlyqs�����������	 �	
����W�.�.�t�4�5�4�	6�	
����Q�1�U�A�4E�4E�+F�*G�H�I�#�	%�	
����Q� !�%��):�):� ;� !�%���� 7�+9�:�;�+�	,�
	
����Q� !�%��):�):� ;� !�%��)9�)9� :�+<�=�>�*�	+rc��dd�}tj|�}|jd��}|j|jd�|j|j
��}|j|j|j
�|jd��}|j
|jd�|j
|tj|��y)Nr�c��yrr$r$rrr�z=TestSignatureObject.test_signature_replace_anno.<locals>.test�r�rr�	)r�r�)rQr�rprTr`r[r4r�s   r�test_signature_replace_annoz/TestSignatureObject.test_signature_replace_anno�s���	�����%���k�k�D�k�1���
�
�c�+�+�T�2��k�k�C�I�I�k�6���
�
�c�+�+�S�Y�Y�7��k�k�B�k�/������.�.��3�����g�/�/��5�6rc���d�}tjdtjj�}tj|f��x}|_|j|tj|��y)Nc��yrr$r$rrr�z9TestSignatureObject.test_signature_replaced.<locals>.test�r�rrzr�)rQr�r�r�r�r4r�)rWr�r�rbs    r�test_signature_replacedz+TestSignatureObject.test_signature_replaced�s\��	��&�&�v�w�/@�/@�/P�/P�Q�
�#*�#4�#4��
�#N�N��d� �����g�/�/��5�6rc��Gd�d�}Gd�d|�}|j|j|j�d�|j|j|j�|j|j��y)Nc��eZdZddd�dd�Zy)�FTestSignatureObject.test_signature_on_mangled_parameters.<locals>.Spamre)�	_Spam__p2c��yrr$)rW�	_Spam__p1r�	s   rr0zJTestSignatureObject.test_signature_on_mangled_parameters.<locals>.Spam.foo�r�rN)r/)r�	r.r�	r/rr$rrrOr�	�s��
�a�
rrOc��eZdZy)�ETestSignatureObject.test_signature_on_mangled_parameters.<locals>.HamNr�r$rr�Hamr�	�r-rr�	))rf)r�	r/r.r�)r�	rer/r�.)r4r�r0)rWrOr�	s   r�$test_signature_on_mangled_parametersz8TestSignatureObject.test_signature_on_mangled_parameters�sk��	�	�	�$�	�	
���������1��	 �	
���������1�������0�	2rc��Gd�dtj�}dd�}|j|�}|j||�y)Nc��eZdZy)�PTestSignatureObject.test_signature_from_callable_python_obj.<locals>.MySignatureNr�r$rrrSr�	�r�rrSc��yrr$r�s  rr0zHTestSignatureObject.test_signature_from_callable_python_obj.<locals>.foo�r�r�r�r.�rQr�r��assertIsInstance�rWrSr0r�	s    r�'test_signature_from_callable_python_objz;TestSignatureObject.test_signature_from_callable_python_obj�s3��2�'�+�+�2� ��+�+�C�0�����g�{�3rc��Gd�dtj�}Gd�d�}|j|�}|j||�y)Nc��eZdZy)�KTestSignatureObject.test_signature_from_callable_class.<locals>.MySignatureNr�r$rrrSr�	�r�rrSc��eZdZy)�CTestSignatureObject.test_signature_from_callable_class.<locals>.fooNr�r$rrr0r�	�r�rr0r�	r�	s    r�"test_signature_from_callable_classz6TestSignatureObject.test_signature_from_callable_class�s7��	3�'�+�+�2����+�+�C�0�����g�{�3rc��Gd�dtj�}|jtj�}|j||�y)Nc��eZdZy)�QTestSignatureObject.test_signature_from_callable_builtin_obj.<locals>.MySignatureNr�r$rrrSr�	�r�rrS)rQr�r�r�r�r�	)rWrSrbs   r�(test_signature_from_callable_builtin_objz<TestSignatureObject.test_signature_from_callable_builtin_obj�s6��	3�'�+�+�2��'�'����8�����c�;�/rc�Z�t�D]Z}tj|�}t|j�}t|�}|j
|�|j||��\tjt�}t|j�}|j|t�yr)
r=rQr�r�r6r�rMr4rFr�r�s     r�3test_signature_definition_order_preserved_on_kwonlyzGTestSignatureObject.test_signature_definition_order_preserved_on_kwonly�s���G�I�B��)�)�"�-�I��Y�)�)�*�A��a�y�H��O�O�A�����Q��)�J��%�%�&I�J�	���%�%�&������<�=rc��tjd��j}tjd��j}|j||�y)Nc��yrr$r�s  rr�zITestSignatureObject.test_signater_parameters_is_ordered.<locals>.<lambda>�rrc��yrr$rgs  rr�zITestSignatureObject.test_signater_parameters_is_ordered.<locals>.<lambda>�rr)rQr�r6r�)rW�p1�p2s   r�#test_signater_parameters_is_orderedz7TestSignatureObject.test_signater_parameters_is_ordered�s@��
�
�
�0�
1�
<�
<��
�
�
�0�
1�
<�
<�����B��#rc�l�Gd�d�}d|dtfd�}d|dddtfd�}tjtjjfD�]U}|j|�	�5||�}|j
|jt�|j
|jdj|�||t��
�}|j
|jt�|j
|jdj|�||dtit���}|j
|jt�|j
|jdj|�|j
|jdjd�ddd���Xy#1swY��dxYw)Nc��eZdZy)�QTestSignatureObject.test_signature_annotations_with_local_namespaces.<locals>.FooNr�r$rrr�r�	�r�rr�r0r�c��yrr$r%s rr�zRTestSignatureObject.test_signature_annotations_with_local_namespaces.<locals>.func�r�	rr(r�c��yrr$�r0r(s  r�func2zSTestSignatureObject.test_signature_annotations_with_local_namespaces.<locals>.func2�rQr��signature_func)rs)r�rs)r�rQr�r�r�rr4r`r6r\rs)rWr�r�r�	r�	�sig1rs�sig3s        r�0test_signature_annotations_with_local_namespaceszDTestSignatureObject.test_signature_annotations_with_local_namespaces�sO����'�c�'�c�'�4�s�4��4�3�4�&�0�0�'�2C�2C�2Q�2Q�R�N����~��>�%�d�+��� � ��!7�!7��=�� � �����!7�!B�!B�C�H�%�d�6�8�<��� � ��!7�!7��=�� � �����!7�!B�!B�C�H�%�e�e�S�\�&�(�S��� � ��!7�!7��=�� � �����!7�!B�!B�C�H�� � �����!7�!B�!B�E�J�?�>�S�>�>�s
�%D8F)�)F3	c�v�t}tj}tj}tjj}tj
tjjfD�]�}|j|��5|j||j�||d|�|d|�f���|j||j�|d|d|d��|d|d��f�	��|j||j�|d|d|d��|d|d
��|d|d��f�	��|j||j�||d|d��|d|d
��|d|d
��f���ts'|j||j�|��|j||j�||d|�|d|�|d|�f���|j||jd��||d|�|d|�f���|j||jd��||j|d|t ��|d|t"��f�	��|j||jd��||j|d|t ��|d|d��|d||j��f�	��|j||jd��||d|d��|d|d��|d|d��f���t$t&d�}t(t*d�}|j-t.�5||jd|��ddd�|j||jd|��|t*|d|t ��|d|t(��f�	��|j||jd||��|t*|d|t$��|d|t(��f�	��ddd����y#1swY��xYw#1swY���xYw)Nr�	r'r�r�r�r��r\r�)r`r6r�rr�r�Tr�)r�r�)r�r�r�r�)r�r�rs)rrQr�r�r�	r�r�rr4r�rYr�r�rr�r�r�r�r��complexr_rr��	NameError)rWr�rb�par�PORKr�	�globalns�localnss        r�test_signature_eval_strz+TestSignatureObject.test_signature_eval_str�s���,����������� � �6�6��&�0�0�'�2C�2C�2Q�2Q�R�N����~��>�� � �"�3�;�;�/����T�N���T�N�$���� � �"�3�<�<�0��*3���T�e�<���T�e�<�$���� � �"�3�=�=�1��*3���T�e�<���T�g�>���T�i�@�$���� � �"�3�=�=�1����T�g�>���T�g�>���T�k�B�$���,��$�$�^�C�4H�4H�%I�3�5�Q�� � ���0H�0H�!I����T�N���T�N���T�N�$���� � �"�3�;�;��>����T�N���T�N�$���� � �"�3�<�<�$�?��*-�+�+���T�c�:���T�c�:�$���� � �"�3�=�=�4�@��*-�+�+���T�c�:���T�e�<���T�c�k�k�B�$���� � �"�3�=�=�4�@����T�e�<���T�e�<���T�i�@�$���$)��9��"'�D�9���&�&�y�1�"�3�<�<�$��Q�2�� � �"�3�<�<�$�w�O��*.���T�c�:���T�e�<�$���� � �"�3�<�<�$��Y`�a��*.���T�e�<���T�e�<�$���w?�>�S�`2�1��_?�>�s&�KP.�P"�3B#P.�"P+�'P.�.P8	c��Gd�d�}d�}||�}d|_tjtjjfD]G}|j|��5|j
||�tj��ddd��I|j
tj|�i�y#1swY�yxYw)Nc��eZdZd�Zd�Zy)�DTestSignatureObject.test_signature_none_annotation.<locals>.funclikec��|j|_|j|_|j|_|j|_|j|_||_yrr�r�s  rr�zMTestSignatureObject.test_signature_none_annotation.<locals>.funclike.__init__Wr�rc�&�|j|i|��Srr�r>s   rr�zMTestSignatureObject.test_signature_none_annotation.<locals>.funclike.__call___r�rNr�r$rrr�r�	Rr�rr�c��yrr$r$rrr0z?TestSignatureObject.test_signature_none_annotation.<locals>.foobr�rr�	)r�rQr�r�r�rr4r�)rWr�r0r�	s    r�test_signature_none_annotationz2TestSignatureObject.test_signature_none_annotationQs���	2�	2� 	��s�m��"���&�0�0�'�2C�2C�2Q�2Q�R�N����~��>�� � ���!4�g�6G�6G�6I�J�?�>�S�	
����0�0��5�r�:�?�>�s�+B7�7C	c�h�d|_Gd�d�}|j|j|�d�y)Nc��eZdZdZy)�4TestSignatureObject.test_signature_as_str.<locals>.S�(a, b=2)N)rNrcrdr�r$rrrqr
ls��&�Mrrq�)r�r%	.)r5r4r��rWrqs  r�test_signature_as_strz)TestSignatureObject.test_signature_as_strjs3�����	'�	'�	
�������*��	 rc��Gd�d�}|j|j|�d�Gd�d�}|j|j|�d�y)Nc��eZdZed��Zy)�9TestSignatureObject.test_signature_as_callable.<locals>.Sc��y�Nr
r$r�s rr�zGTestSignatureObject.test_signature_as_callable.<locals>.S.__signature__w���!rN)rNrcrdr�r�r$rrrqr
vs��
�
"��
"rrqr
c��eZdZed��Zy)r
c��yr
r$r$rrr�zGTestSignatureObject.test_signature_as_callable.<locals>.S.__signature__�r
rN)rNrcrdr�r�r$rrrqz9TestSignatureObject.test_signature_as_callable.<locals>.S�s��
�
"��
"rr�r
s  r�test_signature_as_callablez.TestSignatureObject.test_signature_as_callabletsV��	"�	"�
	
�������*��	 �
	"�	"�
	
�������*��	 rc��Gd�d�}Gd�d|�}Gd�d|�}|jtj|�tj|��y)Nc�$��eZdZ�fd�Zd�Z�xZS)�@TestSignatureObject.test_signature_on_derived_classes.<locals>.Bc�"��t�|�|�Srr�)rWrr?r,s   �rr�zHTestSignatureObject.test_signature_on_derived_classes.<locals>.B.__new__�s����w��t�,�,rc��||_yr)rr;s  rr�zITestSignatureObject.test_signature_on_derived_classes.<locals>.B.__init__�s	��"��
r)rNrcrdr�r�r4r5s@rrYr
�s
���
-�
#rrYc���eZdZ�fd�Z�xZS)�ATestSignatureObject.test_signature_on_derived_classes.<locals>.D1c�$��t�|�|�yrr�)rWrr,s  �rr�zJTestSignatureObject.test_signature_on_derived_classes.<locals>.D1.__init__�s����� ��'rr�r5s@r�D1r
�s
���
(�
(rr
c��eZdZy)�ATestSignatureObject.test_signature_on_derived_classes.<locals>.D2Nr�r$rr�D2r
�r-rr
)r4rQr�)rWrYr
r
s    r�!test_signature_on_derived_classesz5TestSignatureObject.test_signature_on_derived_classes�sL��	#�	#�	(��	(�	��	�	
����*�*�2�.��0A�0A�"�0E�Frc�d�Gd�d�}|j|j|��d�y)Nc��eZdZd�Zd�Zy)�STestSignatureObject.test_signature_on_non_comparable.<locals>.NoncomparableCallablec��yrr$rus  rr�z\TestSignatureObject.test_signature_on_non_comparable.<locals>.NoncomparableCallable.__call__�r�rc��ddzy)Nr.rr$)rWr[s  rrzZTestSignatureObject.test_signature_on_non_comparable.<locals>.NoncomparableCallable.__eq__�s	���!�rN)rNrcrdr�rr$rr�NoncomparableCallabler!
�s��
�
rr$
rwr�)rWr$
s  r� test_signature_on_non_comparablez4TestSignatureObject.test_signature_on_non_comparable�s0��	�	�
	
������(=�(?�@��	 rN)>rNrcrdr�r�rur�r�r�r�r�r�r�rr�r'rr�r�r�r�r�rrrr"r(rHrWr\rpr�r�r	r&	r.	r8	rM	rm	ru	rx	r}	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r
r
r
r
r%
r$rrrXrX�
s-���	I��	I�J�X9�8	'�:�
 �!�
 �"H�F��X�_�_�)�M�O�LC�O��LC�\��X�_�_�)�M�O�:�O��:�(�#��#�"�3H�jG�&#�6 � �$ �$M�^# �J=�
E �Pk �Z>"�@a=�F �8!��X�_�_�)�M�O�9�O�9�$�X�_�_�)�M�O�C�O�C�.t"�l
$� �
T�,�QH�f)�0@�4+�.7�7�2� 4��X�_�_�)�M�O�4�O�4��X�_�_�)�M�O�0�O�0�
	>�$�
K�(h�T;�2 � �,G�$ rrXc�F�eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	d��Z
d�Zy	)
�TestParameterObjectc�|�tj}|j|j|jcxkxr3|j
cxkxr!|jcxkxr|jknc�|jt|j�d�|jdt|j�v�y)Nr�)rQr�rMr�r�	r�	�KEYWORD_ONLYr�r4r�r�)rWrrs  r�test_signature_parameter_kindsz2TestParameterObject.test_signature_parameter_kinds�s�����������)�)�A�,C�,C�J��(�(�J�+,�>�>�J�<=�M�M�J�	K�	
����Q�.�.�/�1B�C����)�T�!�2C�2C�-D�D�Erc��tjddtjj��}|j|jd�|j|j
d�|j
|j|j�|j|jtjj�|jtd�5tjddd��ddd�|jtd�5tjdtjj��ddd�|jtd�5tjd	tjj��ddd�|jtd
�5tjdtjj��ddd�|jtd�5tjdtjj��ddd�|jtd�5tjd
tjj��ddd�|jtd�5tjddtjj��ddd�|jtd�5tjddtjj��ddd�tjddtjj��}|jtd�5|j!tjj��ddd�|j#t%|�j'd��|j#dt%|�v�y#1swY���xYw#1swY���xYw#1swY��kxYw#1swY��*xYw#1swY���xYw#1swY���xYw#1swY��fxYw#1swY��$xYw#1swY��xYw)Nr0r@�r�r�z)value '123' is not a valid Parameter.kind�123znot a valid parameter namer�r��from�name must be a strzis not a valid parameter name�$z.azcannot have default valuesr'r�z
<Parameterz"a=42")rQr�r�r4rr�rTr\r[r�r�r�r�r�r�	r�	rprMr�r��rWr8s  r�test_signature_parameter_objectz3TestParameterObject.test_signature_parameter_object�s%�����e�R�#*�#4�#4�#D�#D�
F���������'�������B�'��
�
�a�l�l�A�G�G�,��������!2�!2�!B�!B�C�
�
#�
#�J�1A�B����e�R�e�<�B��
#�
#�J�0L�
M����c��(9�(9�(E�(E�F�N��
#�
#�J�0L�
M����f�7�+<�+<�+H�+H�I�N��
#�
#�I�/C�
D����d��):�):�)F�)F�G�E��
#�
#�J�$C�E����c��(9�(9�(E�(E�F�E��
#�
#�J�$C�E����d��):�):�)F�)F�G�E��
#�
#�J�0L�
M����c�2�#*�#4�#4�#@�#@�
B�N��
#�
#�J�0L�
M����c�2�#*�#4�#4�#C�#C�
E�N�
���c�2�#*�#4�#4�#J�#J�
L��
�
#�
#�J�0L�
M�
�I�I�7�,�,�;�;�I�<�N�	
����Q��*�*�<�8�9�����D��G�+�,�GB�B��N�
M��N�
M��E�
D��E�E��E�E��N�
M��N�
M��N�
M�sl�O�0O*�0O7�,0P�:0P�0P�1P+�%1P8�$+Q�O'�*O4�7P�P�P�P(�+P5�8Q�Qc
��tj}|d|j��}|jt	|�t	|d|j����|jt	|�t	|d|jd����|jt	|�t	|j
|j����y)Nr0r�r�r�)rQr�r�r4r�	r�rpr�	)rWrrr0s   r�!test_signature_parameter_hashablez5TestParameterObject.test_signature_parameter_hashable�s���������A�-�-�.������c��D��5�q�7H�7H�)I�$J�K����D��I�t�A�e�!�:K�:K�68�-:�(;�	<����D��I� ����!�2B�2B��!C�D�	Frc�>�tj}|ddtjj��}|j||k(�|j	||k7�|j	|dk(�|j|dk7�|j|t
k(�|j	|t
k7�|j||ddtjj��k(�|j	||ddtjj��k7�y)Nr0r�r,
)rQr�r)
rMrVr	)rWrrr8s   r�!test_signature_parameter_equalityz5TestParameterObject.test_signature_parameter_equality�s�������
�e�R�g�&7�&7�&D�&D�E������Q�������a�� �����b��!�����R�� �����Y��'�����i��(�����Q�u�b�$+�$5�$5�$B�$B�D�D�	E�����a��r�%,�%6�%6�%C�%C�E�E�	Frc�H�tjddtjj��}|j||j	��|j||j	��|j	d��}|j|jd�|j	|j��}|j||�|j	d��}|j|jd�|j||�|jtd�5|j	|j��}ddd�|j	dd�	�}|j|jd�|j||�|j	d|j�	�}|j|j|j�|j	d|j��}|j|j|j�|j||�|jtd
�5|j	|j��}ddd�|j	|j��}|j||�y#1swY��MxYw#1swY�ExYw)Nr0r�r,
r.r�	r(rnzname is a required attribute)rr�z<value <class 'inspect._empty'> is not a valid Parameter.kindr�)rQr�r)
r�rpr4r\r[rr�r�r�rTr�r�	r�)rWr8r�	s   r� test_signature_parameter_replacez4TestParameterObject.test_signature_parameter_replace�s�����e�R�#*�#4�#4�#A�#A�
C��	
����A�I�I�K�(�����A�I�I�K�(�
�Y�Y�!�Y�
$���������*�
�Z�Z�2�8�8�Z�
,������B��
�Z�Z�U�Z�
#��������%�(����B��"�
�
#�
#�J�$B�D��������*�B�D��Z�Z�U�D�Z�
1���
�
�b�j�j�$�'����B��"�
�Z�Z�U�B�H�H�Z�
5���
�
�b�j�j�"�(�(�+��Z�Z���)A�)A�Z�
B��������"�":�":�;����B��"�
�
#�
#�J�%D�E��������*�B�E�
�Z�Z�R�_�_�Z�
-������Q��-D�D�� E�E�s�#J�7J�J�J!c��|jtd�5tjdtjj��ddd�y#1swYyxYw)Nr/
r�)r�r�rQr�r�ras r�(test_signature_parameter_positional_onlyz<TestParameterObject.test_signature_parameter_positional_onlys<��
�
#�
#�I�/C�
D����d��):�):�)J�)J�K�E�
D�
D�s�0A�Ac��|jtd�5tjdtjj��ddd�tjdtjj
��}|j
|jtjj�|j
|jd�y#1swY��xYw)NzYimplicit arguments must be passed as positional or keyword arguments, not positional-onlyz.0r��	implicit0)	r�r�rQr�r�r�	r4r�r)rWr�s  r�!test_signature_parameter_implicitz5TestParameterObject.test_signature_parameter_implicit"s���
�
#�
#�J�%:�;�
���d��):�):�)J�)J�K�	;��!�!��w�(�(�>�>�@��������W�%6�%6�%F�%F�G�������[�1�;�;�s�0C�Cc�&�tjdtjj��}|jt�5d|_ddd�|jt�5d|_ddd�y#1swY�/xYw#1swYyxYw)Nrzr�r(r�)rQr�r)
r�rr0r�r1
s  r�%test_signature_parameter_immutabilityz9TestParameterObject.test_signature_parameter_immutability/sk�����f�7�+<�+<�+I�+I�J��
�
�
�~�
.��A�E�/��
�
�~�
.��A�F�/�
.�/�
.��/�
.�s�A;�*B�;B�BN)rNrcrdr*
r2
r4
r6
r8
r:
rr=
r?
r$rrr'
r'
�s?��F�+-�ZF�F� & �PL��
2��
2�rr'
c�z�eZdZed��Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zed��Zd�Zy)�TestSignatureBindc��tj|�}|j|i|��}||ji|j��Sr)rQr�rErr?)r�rr?rbrGs     rr�zTestSignatureBind.call:s?������%��
�S�X�X�t�
&�v�
&���R�W�W�*��	�	�*�*rc��d�}|j|j|�d�|jtd�5|j|d�ddd�|jtd�5|j|dd��ddd�|jtd�5|j|d��ddd�y#1swY�oxYw#1swY�HxYw#1swYyxYw)Nc��yr�r$r$rrr�z9TestSignatureBind.test_signature_bind_empty.<locals>.testAs��rr��too many positional argumentsr.r@r��)got an unexpected keyword argument 'spam'�r4r�r�r�rws  r�test_signature_bind_emptyz+TestSignatureBind.test_signature_bind_empty@s���	�	
������4��"�-�
�
#�
#�I�/N�
O��I�I�d�A��P�
�
#�
#�I�/N�
O��I�I�d�A�B�I�'�P�
�
#�
#��B�D�
�I�I�d��I�#�D�D�	P�
O��
O�
O��D�D�s#�B<�,C�C�<C�C�Cc� �d�}|j|j|�dif�|j|j|d�dif�|j|j|dd�dif�|j|j|d��dd	dif�|j|j|dd��dd	dif�|j|j|d
��ddd
if�|j|j|ddd��dd	dif�y)
Nc�
�||fSrr$r�s  rr�z7TestSignatureBind.test_signature_bind_var.<locals>.testOr�	rr$r.rr/r!	r(r%r0r@r?r�r4r�rws  r�test_signature_bind_varz)TestSignatureBind.test_signature_bind_varNs��	 �	
������4��2�r�(�3�������4��+�d�B�Z�8�������4��A�.����=�������4�U��3�b�5�%�.�5I�J�������4����6���u�~�8N�O�������4�b��1�B����3E�F�������4��A�5��9� �5�%�.�1�	3rc�:�d�}|j|j|ddd�d�|jtd�5|j|dddd�ddd�|jtd�5|j|d�ddd�|jtd	�5|j|�ddd�dd�}|j|j|ddd�d�|j|j|dd�d�dd
�}|j|j|d
d��d�|j|j|d
��d�|j|j|d
��d�y#1swY��%xYw#1swY��xYw#1swY��xYw)Nc��|||fSrr$r�s   rr�z=TestSignatureBind.test_signature_bind_just_args.<locals>.test\r;rr.r/rerxrE
rGz missing a required argument: 'b'z missing a required argument: 'a'r@c��|||fSrr$r�s   rr�z=TestSignatureBind.test_signature_bind_just_args.<locals>.testlr;r)r.r/r@c��|||fSrr$r�s   rr�z=TestSignatureBind.test_signature_bind_just_args.<locals>.testqr;rrgr�	)r@r/rgr�)r@r/rer6)r.r@rer�rG
rws  r�test_signature_bind_just_argsz/TestSignatureBind.test_signature_bind_just_args[sg��	�	
������4��A�q�1�9�=�
�
#�
#�I�/N�
O��I�I�d�A�q�!�Q�'�P��
#�
#�I�$F�H��I�I�d�A��H��
#�
#�I�$F�H��I�I�d�O�H�	�������4��A�q�1�9�=�������4��A�.�
�;�	�������4�2���4�k�B�������4�2��.�
�;�������4�2��.�
�;�)P�
O��H�H��H�H�s#�E7�2F�#F�7F�F�Fc��d�}|j|j|�d�|j|j|ddd�d�y)Nc��|Srr$r?s rr�zATestSignatureBind.test_signature_bind_varargs_order.<locals>.testxs���Krr$r.r/rerxrK
rws  r�!test_signature_bind_varargs_orderz3TestSignatureBind.test_signature_bind_varargs_orderws@��	�	
������4��"�-�������4��A�q�1�9�=rc
��dd�}|j|j|ddddd�d�|j|j|dd�d�|j|j|dd�	�d
�|j|j|dd��d�|jtd�5|j|dddd�
�ddd�y#1swYyxYw)Nrec��||||fSrr$)r'r�rrs    rr�zDTestSignatureBind.test_signature_bind_args_and_varargs.<locals>.tests���a��D�=� rr.r/rGr)r.r/re)rGr)r.r/rer$r�	)r/r.rer$r6z multiple values for argument 'c'rw�rerG
rws  r�$test_signature_bind_args_and_varargsz6TestSignatureBind.test_signature_bind_args_and_varargs~s���	!�	
������4��A�q�!�Q�7�9J�K�������4��A�.�
�>�������4�1���2�M�B�������4��a��0�-�@�
�
#�
#�I�%G�I��I�I�d�A�q�!�q�I�)�I�I�I�s�,C�Cc��d�}|j|j|�i�|j|j|dd��ddd��y)Nc��|Srr$)r?s rr�z?TestSignatureBind.test_signature_bind_just_kwargs.<locals>.test�s���Mrr(r��r0rzrK
rws  r�test_signature_bind_just_kwargsz1TestSignatureBind.test_signature_bind_just_kwargs�sH��	�	
������4��"�-�������4�U���?�!&��6�	8rc
���dd�}|j|j|dd�dddif�|j|j|dddd��dddddd�f�|j|j|dddd��dddddd�f�|j|j|dddd�	�dddddd�f�|j|j|dddd�
�dddddd�f�|j|j|ddddd��dddddd�f�|j|j|dddd�
�dddddif�|j|j|ddd��dddif�y)Nrec��||||fSrr$r�	s    rr�zCTestSignatureBind.test_signature_bind_args_and_kwargs.<locals>.test�s���a��F�?�"rr.r/r(r�r[
)r�r'r0rz)r'r�r0rz)r�r0rzrG)r�rr0rzr%r0r)rr'r�rW
rK
rws  r�#test_signature_bind_args_and_kwargsz5TestSignatureBind.test_signature_bind_args_and_kwargs�s���	#�	
������4��A�.��A�q�"�
�>�������4��A�5�u��E��Q��5�%�#@�A�	C�������4�1��u�5��I��Q��5�%�#@�A�	C�������4�1��u�5��I��Q��5�%�#@�A�	C�������4��a�U���G��Q��5�%�#@�A�	C�������4��a�1�%�e��L��Q��5�%�#@�A�	C�������4��A�q�e��<��Q��E�5�>�2�	4�������4�1��Q��7��Q��2��	(rc	��d�}|jtd�5|j|d�ddd�|j|j|d��d�dd�d�}|jtd�5|j|d�ddd�d�}|j|j|dd�	�d
�|j|j|dd��d
�|jtd�5|j|ddd
��ddd�|jtd�5|j|dd�ddd�|jtd�5|j|ddd�	�ddd�|jtd�5|j|ddd��ddd�|jtd�5|j|d�ddd�d�}|j|j|dd�	�ddif�|j|j|dd��ddif�|j|j|ddd��ddddif�|j|j|ddd��ddddif�|jtd�5|j|dd��ddd�|j|j|dddd
��dddd
d�f�y#1swY���xYw#1swY��fxYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY��]xYw#1swY��xYw)Nc��|Srr$r%s rr�z:TestSignatureBind.test_signature_bind_kwonly.<locals>.test�����JrrE
r.r%c��|Srr$)r'r0r(s   rr�z:TestSignatureBind.test_signature_bind_kwonly.<locals>.test�rb
rz"missing a required argument: 'bar'c�
�||fSrr$r�	s  rr�z:TestSignatureBind.test_signature_bind_kwonly.<locals>.test�s����8�Orr/r�r!	)r(r0rF
r@)r(r0rzr�)r(rzz/missing a required keyword-only argument: 'bar'c��|||fSrr$)r0r(�bins   rr�z:TestSignatureBind.test_signature_bind_kwonly.<locals>.test�s����S�=� rr�	rz)rzr0r(z"missing a required argument: 'foo')rzr()r(rf
rz)rf
rz)r�r�r�r4rws  r�test_signature_bind_kwonlyz,TestSignatureBind.test_signature_bind_kwonly�s!��	�
�
#�
#�I�%D�F��I�I�d�A��F�	
������4�Q��/��3��	�
�
#�
#�I�%I�K��I�I�d�A��K�	�������4����2�F�;�������4�Q�A��6��?�
�
#�
#��B�D�
�I�I�d��q�r�I�2�D�
�
#�
#�I�%D�F��I�I�d�A�q�!�F��
#�
#�I�%D�F��I�I�d�A�q�a�I�(�F��
#�
#��B�D�
�I�I�d�A�1�5�I�1�D�
�
#�
#�I�&7�8�
�I�I�d�A��8�
	!�������4����2�Q��2�J�?�������4�Q�A��6��A�r�
�C�������4�����>��Q����0�	2�������4�e����B��Q����0�	2�
�
#�
#�I�$H�J��I�I�d��A�I�.�J�	
������4���q�r��B��Q��2� 6�7�	9�eF�F��K�K��D�D��
F�F��F�F��D�D��
8�8��J�J�s_�K�4K+�0K8�$L�L�
L�>L,�L9�K(�+K5�8L�L�L�L)�,L6�9Mc�\�dd�d�}tj|�}|jdddddd	�
�}|jt	|j
j
��ddd
dddd	d�ff�|j|jdddd	d
��|j|jd�y)Nro�r-c��yrr$)r'r�r-rr?s     rr�z=TestSignatureBind.test_signature_bind_arguments.<locals>.test�r�rr@r9rSrkr��<)r�rrr?�r'r@)r)r9)r�rSr?)rrr?)r@r9)	rQr�rEr4r_�	arguments�itemsr?r�rWr�rbrGs    r�test_signature_bind_argumentsz/TestSignatureBind.test_signature_bind_arguments�s��� #�	�����%��
�X�X�b�"��b�r�"�X�
=��	
����r�|�|�1�1�3�4�#�_�i�#�2�r�R�%H�I�K�	L�	
������!��B�"�E�	G�������(�+rc��ddd�d�}|j|j|dddd	d
��dddd	d
if�|j|j|dd�dddddif�|j|j|dddd	��ddddd	if�|j|j|dddd	d�
�ddddd	ddif�|j|j|dddddd	��ddddd	ddif�|j|j|ddddd	d�
�ddddd	ddif�|j|j|ddd��dddddddif�|jtd�5|j|dd��ddd�dd�}|jtd�5|j|dd��ddd�y#1swY�AxYw#1swYyxYw)Nrer�r�r�c��||||||fSrr$)r�	�b_po�c_por0r(r?s      rr�zCTestSignatureBind.test_signature_bind_positional_only.<locals>.test�s����t�S�#�v�5�5rr.r/rGr�r�	r@)r0r(rt
rt
rS�)rt
r0r()rt
z'missing 2 required positional arguments)r�	rs
c�
�||fSrr$�rt
�d_pos  r�without_var_kwargszQTestSignatureBind.test_signature_bind_positional_only.<locals>.without_var_kwargs	s����:�rzCpositional-only arguments passed as keyword arguments: 'c_po, d_po'rWrprx
)rer�)rerGrG
)rWr�rz
s   r�#test_signature_bind_positional_onlyz5TestSignatureBind.test_signature_bind_positional_only�s��	6�r�	6�	
������4��A�q�!���;��Q��1�a��,�	.�	
������4��A�.��Q��2�r�2�.�	0�	
������4��A�1�!��<��Q��1�a��,�	.�	
������4��A�1�!�"��E��Q��1�a�&�"��6�	8�	
������4��A�r���q��I��Q��A�q�6�2�,�7�	9�	
������4��A�r�q�a�b��I��Q��A�q�6�2�,�7�	9�	
������4��A�A��6��Q��2�r�F�A�;�7�	9��
#�
#�I�/X�
Y��I�I�d���I�+�Z�	��
#�
#��Q�
�
�I�I�(�r��I�;�	
�
�
Z�
Y��
�
�s�F1�F=�1F:�=Gc���d�}tj|�}|jddd�}|j|jd�|jddd��}|j|jd�y)Nc��yrr$)r'rWr�s   rr�zATestSignatureBind.test_signature_bind_with_self_arg.<locals>.testr�rr.r/rerxr~)rQr�rEr4rro
s    r�!test_signature_bind_with_self_argz3TestSignatureBind.test_signature_bind_with_self_argse��	�����%��
�X�X�a��A�
��������)�,�
�X�X�a�a�1�X�
%��������)�,rc��d�}tj|�}|jtd�5|j	dd��ddd�d�}|j|j
|d��dd	dif�tj|�}|j	d��}|j|jd
d	dii�y#1swY�{xYw)Nc�
�||fSrr$�r'rs  rr�z?TestSignatureBind.test_signature_bind_vararg_name.<locals>.tests���d�7�Nrz)got an unexpected keyword argument 'args'rr.r�
c�
�||fSrr$r�s  rr�z?TestSignatureBind.test_signature_bind_vararg_name.<locals>.test&r�	rr?r$rr?)rQr�r�r�rEr4r�rm
ro
s    r�test_signature_bind_vararg_namez1TestSignatureBind.test_signature_bind_vararg_names���	�����%��
�
#�
#��B�D�
�H�H�q�q�H�!�D�
	 �������4�a��0�2���{�2C�D�����%��
�X�X�1�X�
���������6�1�+�'>�?�D�D�s�B=�=Cc���d�}|jjd}tj|i�}t	td��}|j
t|j||��hd��y)Nc�8�td�td�D��S)Nc3�&K�|]	}||z���y�wrr$)r]r-s  rr^zWTestSignatureBind.test_signature_bind_implicit_arg.<locals>.make_set.<locals>.<genexpr>2s����/�h��q�1�u�h�s�r)rPr1r$rr�make_setzDTestSignatureBind.test_signature_bind_implicit_arg.<locals>.make_set1s���/�e�A�h�/�/�/rr.r>rr.rGr<rC)	r�	co_constsr�r��iterr1r4rPr�)rWr�
�gencomp_code�gencomp_func�iterators     r� test_signature_bind_implicit_argz2TestSignatureBind.test_signature_bind_implicit_arg.s]��	0��(�(�2�2�1�5���)�)�,��;����a��>������T�Y�Y�|�X�>�?�AQ�Rrc���d�}tj|�}|jdd��}|j|jddi�|jd|jj��y)Nc�(�||j|�fSr)r�)r(r?s  rr0zATestSignatureBind.test_signature_bind_posonly_kwargs.<locals>.foo:s����
�
�3��'�'r�pos-only�keywordr�r()r(r�
)rQr�rEr4r?rrm
rn
)rWr0rb�results    r�"test_signature_bind_posonly_kwargsz4TestSignatureBind.test_signature_bind_posonly_kwargs9sb��	(�����$�����*�)��4���������	�(:�;��
�
�)�6�+;�+;�+A�+A�+C�DrN)rNrcrdr�r�rH
rL
rQ
rT
rX
r\
r_
rg
rp
r{
r~
r�
rr�
r�
r$rrrA
rA
9so���+��+�
$�3�<�8>�*�8�(�(69�p,�#<�J-�@�$�S��S�ErrA
c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestBoundArgumentsc��d�}tj|�jd�}|jtd�5t|�ddd�y#1swYyxYw)Nc��yrr$r�s rr0zITestBoundArguments.test_signature_bound_arguments_unhashable.<locals>.fooFr�rr.r�	)rQr�rEr�r�r�	�rWr0rGs   r�)test_signature_bound_arguments_unhashablez<TestBoundArguments.test_signature_bound_arguments_unhashableEsE���
�
�
�s�
#�
(�
(��
+��
�
#�
#�I�/@�
A���H�B�
A�
A�s�A�Ac�
�d�}tj|�jd�}|j||k(�|j	||k7�|j|t
k(�|j	|t
k7�tj|�jd�}|j||k(�|j	||k7�tj|�jd�}|j	||k(�|j||k7�d|jd<|j||k(�|j	||k7�d�}tj|�jd�}|j	||k(�|j||k7�d�}tj|�}|jdd��}|jdd��}|j||k(�|j	||k7�y)	Nc��yrr$r�s rr0zGTestBoundArguments.test_signature_bound_arguments_equality.<locals>.fooMr�rr.r/r'c��yrr$r6s rr(zGTestBoundArguments.test_signature_bound_arguments_equality.<locals>.bar_r�rc��yrr$r�s  rr0zGTestBoundArguments.test_signature_bound_arguments_equality.<locals>.foodr�rr�r�	)rQr�rErMrVr	rm
)	rWr0rG�ba2�ba3r(�ba4rb�ba1s	         r�'test_signature_bound_arguments_equalityz:TestBoundArguments.test_signature_bound_arguments_equalityLs����
�
�
�s�
#�
(�
(��
+������b��!�����r��"�����i��(�����y��)�����$�)�)�!�,������c�	�"�����s��#�����$�)�)�!�,������s��#�����c�	�"���
�
�c������c�	�"�����s��#������$�)�)�!�,������s��#�����c�	�"������$���h�h��a�h� ���h�h��a�h� ������s�
�#�������$rc�v�id�dddddifd�}tj|�}|jdd	i�
�}ttj
dz�D]X}|j
|��5t	jt	j||��}|j||�ddd��Zy#1swY�exYw)Nrwrr.r�r�r�c��yrr$rys    rr0zETestBoundArguments.test_signature_bound_arguments_pickle.<locals>.foolrzrr9rSri
)r{)
rQr�rEr1r}r~rr�r�r4)rWr0rbrGr��
ba_pickleds      r�%test_signature_bound_arguments_picklez8TestBoundArguments.test_signature_bound_arguments_pickleks����:�1�:�2�e�*�:�����$��
�X�X�b�"��X�
#����0�0�1�4�5�C������-�#�\�\�&�,�,�r�3�*?�@�
�� � ��Z�0�.�-�6�-�-�s�(<B/�/B8	c��id�dddddifd�}tj|�}|jdd	i�
�}|jt	|�d�y)Nrwrr.r�r�r�c��yrr$rys    rr0zCTestBoundArguments.test_signature_bound_arguments_repr.<locals>.foovrzrr9rSri
z <BoundArguments \(a=20,.*\}\}\)>)rQr�rE�assertRegexr��rWr0rbrGs    r�#test_signature_bound_arguments_reprz6TestBoundArguments.test_signature_bound_arguments_reprusO���:�1�:�2�e�*�:�����$��
�X�X�b�"��X�
#������b��#F�Grc
�H�did�dd�}tj|�}|jd�}|j�|j	t|jj��ddddifd	ifg�|jd
ddd��}|j�|j	t|jj��d
dddifd	ddifg�d�}tj|�}|jd�}|j�|j	t|jj��dg�d�}tj|�}|j�}|j�|j	t|jj��g�dd�}tj|�}|j�}|j�|j	t|jj��dg�y)Nr.rwrc��yrr$)r'r�rrras     rr0zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.foo|s��drr9)r'r9r�	)rr$rar@rS)rvrl
)r�r9)r)rSrvc��yrr$r�s  rr0zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.foo�r�	rc��yrr$r$rrr0zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.foo�r�rc��yrr$r�s rr0zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.foo�r<r)r'rzr)rr.r�)	rQr�rE�apply_defaultsr4r�rm
rn
�bind_partialr�
s    r�-test_signature_bound_arguments_apply_defaultsz@TestBoundArguments.test_signature_bound_arguments_apply_defaults{s���2�2�2�����$��
�X�X�b�\��
�����������#�#�%�&�
��,��b�	�D�"�:�F�	H��X�X�b�"�b�A�X�
&��
�����������#�#�%�&�
�	�?�S�"�I��s�1�g��O�	Q�	�����$��
�
�
�b�
!��
�����������#�#�%�&�
�K�	�
	�����$��
�X�X�Z��
��������b�l�l�0�0�2�3�R�8�	 �����$��
�X�X�Z��
��������b�l�l�0�0�2�3�m�_�Erc��d�}tj|�jd�}|jt	|j
�t�y)Nc��yrr$r�s rr0zMTestBoundArguments.test_signature_bound_arguments_arguments_type.<locals>.foo�r�rr.)rQr�rErTr�rm
rr�
s   r�-test_signature_bound_arguments_arguments_typez@TestBoundArguments.test_signature_bound_arguments_arguments_type�s7���
�
�
�s�
#�
(�
(��
+���
�
�d�2�<�<�(�$�/rN)	rNrcrdr�
r�
r�
r�
r�
r�
r$rrr�
r�
Ds#���%�>1�H�(F�T0rr�
c��eZdZd�Zd�Zy)�TestSignaturePrivateHelpersc�|�tj|�\}}|j||�|j||�yr)rQ�"_signature_strip_non_python_syntaxr4)rW�input�clean_signature�self_parameter�computed_clean_signature�computed_self_parameters      r�_strip_non_python_syntaxz4TestSignaturePrivateHelpers._strip_non_python_syntax�s?��
�6�6�u�=�	$� �#����1�?�C����0�.�Arc��|jddd�|jddd�|jddd�|jddd�|jddd�|jd	d	d�|jddd�y)
NzZ($module, /, path, mode, *, dir_fd=None, effective_ids=False,
       follow_symlinks=True)zR(module, /, path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)rz($module, word, salt, /)z(module, word, salt, /)z(x, y=None, z=None, /)z(x, y=None, z=None)z!(x,
    y=None,
      z = None  )r�)r�
ras r�&test_signature_strip_non_python_syntaxzBTestSignaturePrivateHelpers.test_signature_strip_non_python_syntax�s����%�%�
E�
=�
�	�	
�%�%�&�%�
�	�
	
�%�%�$�$��	�
	
�%�%�!�!��	�
	
�%�%�1�!��	�
	
�%�%����	�
	
�%�%����	rN)rNrcrdr�
r�
r$rrr�
r�
�s
��B�$rr�
c�r�eZdZeej
ed�d���Zd�Ze	jd��Zy)�TestSignatureDefinitionsr�c�Z�t�}hd�}||z}dh}||z}hd�}||z}hd�}tt�}t|j	��D]z\}}t|�s�t
|t�r||vr|j|�||vr�<|j|��5|jtj|��ddd��|||z
|z
D];}|j|��5|j||j�ddd��=y#1swY��xYw#1swY�TxYw)N>r�r�
r��varsr1�slicer�r9>�maxr��
breakpoint�__build_class__>	r�r�r_r�r�	r�reversed�	enumerate�
memoryview)r�)rPr�
r�r�rn
�callabler�r�rhr�assertIsNotNonerQr�r��__text_signature__)	rW�no_signature�needs_groups�
needs_null�
needs_varargs�types_with_signaturesr#rrZs	         r�test_builtins_have_signaturesz6TestSignatureDefinitions.test_builtins_have_signatures�s"���u��0����$���Y�
��
�"��G�
��
�%��!
��
�(�^������
�+�I�D�#��C�=���#�t�$�$�6K�*K�� � ��&���$�����d��+��$�$�W�%6�%6�s�%;�<�,�+�,� !�:�-��<�D����d��+��!�!�"�T�(�"=�"=�>�,�+�=�
,�+��,�+�s�%D�+D!�D	�!D*	c��d�}d|_tj|�}|j|�|j	t|�d�d|_tj|�}|j	t|�d�d|_tj|�}|j	t|�d�d|_tj|�}|j	t|�d	�d
|_|j
t�5tj|�ddd�d|_|j
t�5tj|�ddd�d|_|j
t�5tj|�ddd�y#1swY�~xYw#1swY�PxYw#1swYyxYw)
Nc��yrr$r�s  rr�zNTestSignatureDefinitions.test_python_function_override_signature.<locals>.funcr�rz(($self, a, b=1, *args, c, d=2, **kwargs)z*(self, /, a, b=1, *args, c, d=2, **kwargs)z+($self, a, b=1, /, *args, c, d=2, **kwargs)z*(self, a, b=1, /, *args, c, d=2, **kwargs)z"(self, a=1+2, b=4-3, c=1 | 3 | 16)z(self, a=3, b=1, c=19)z(self, a=1,
b=2,


   c=3)z(self, a=1, b=2, c=3)z(self, x=does_not_exist)z(self, x=sys, y=inspect)z(self, 123))r�
rQr�r�
r4r�r�r�)rWr�rbs   r�'test_python_function_override_signaturez@TestSignatureDefinitions.test_python_function_override_signaturesb��	�"L�������%�����S�!�����S��#O�P�"O�������%������S��#O�P�"F�������%������S��#;�<�"B�������%������S��#:�;�"<���
�
�
�z�
*����d�#�+�"<���
�
�
�z�
*����d�#�+�"/���
�
�
�z�
*����d�#�+�
*�
+�
*��+�
*��+�
*�s$�
F �F,�F8� F)�,F5�8Gc���ddlm}Gd�d|�}|j}|j|d�t	j
|�}|jt
|�d�y)Nr)�BufferedReaderc��eZdZdZy)�VTestSignatureDefinitions.test_base_class_have_text_signature.<locals>.MyBufferedReaderzbuffer reader class.N)rNrcrdr�r$rr�MyBufferedReaderr�
1s��&rr�
z&(raw, buffer_size=DEFAULT_BUFFER_SIZE)z(raw, buffer_size=8192))�test.typinganndata.ann_module7r�
r�
r4rQr�r�)rWr�
r�
�text_signaturerbs     r�#test_base_class_have_text_signaturez<TestSignatureDefinitions.test_base_class_have_text_signature-sX��	B�	'�~�	'�(�:�:������)Q�R���� 0�1������S��#<�=rN)rNrcrdrr�r'rr�
r�
r�requires_docstringsr�
r$rrr�
r�
�sQ����X�_�_�)�M�O�-?�O��-?�^$�<
� � �	>�!�	>rr�
c�"�eZdZd�Zed��Zy)�NTimesUnwrappablec� �||_d|_yr)r��_next)rWr�s  rr�zNTimesUnwrappable.__init__;s�������
rc��|jdkrtd��|j�t|jdz
�|_|jS)NrzUnwrapped too many timesr.)r�r�r�
r�
ras rrozNTimesUnwrappable.__wrapped__?sA���6�6�Q�;��6�7�7��:�:��*�4�6�6�A�:�6�D�J��z�z�rN)rNrcrdr�rror$rrr�
r�
:s������rr�
c�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�
TestUnwrapc��d�}tjd��|�}|jtj|�|�y)Nc��||zSrr$r�s  rr�z(TestUnwrap.test_unwrap_one.<locals>.funcJrorr9)r�)r��	lru_cacherTrQ�unwrap)rWr�r�s   r�test_unwrap_onezTestUnwrap.test_unwrap_oneIs5��	�1�)�%�%�b�1�$�7���
�
�g�n�n�W�-�t�4rc���d�}|}td�D]}tj|�d��}�|j|j|�|jt
j|�|�y)Nc��||zSrr$r�s  rr�z,TestUnwrap.test_unwrap_several.<locals>.funcProrr@c��yrr$r$rrr�z/TestUnwrap.test_unwrap_several.<locals>.wrapperTr�r)r1r�r�r�rorTrQr�
)rWr�r��__s    r�test_unwrap_severalzTestUnwrap.test_unwrap_severalOsd��	�����)�B�
�_�_�W�
%�
�&�
��	
����,�,�d�3��
�
�g�n�n�W�-�t�4rc���d�}tj|�d��}tj|�d��}d|_tj|d���}|j||�y)Nc��||zSrr$r�s  r�func1z#TestUnwrap.test_stop.<locals>.func1[rorc��yrr$r$rrr�	z#TestUnwrap.test_stop.<locals>.func2]r�rc��yrr$r$rrr�z%TestUnwrap.test_stop.<locals>.wrapper`r�rr.c��t|d�S)N�	stop_herer�rcs rr�z&TestUnwrap.test_stop.<locals>.<lambda>es��7�1�k�3Jr)�stop)r�r�r�
rQr�
rT)rWr�
r�	r��	unwrappeds     r�	test_stopzTestUnwrap.test_stopZsf��	�	����	�	�
 �	�	����	�	�
 �	�����N�N�7�)J�M�	��
�
�i��'rc��d�}||_|jtd�5tj|�ddd�d�}||_||_|jtd�5tj|�ddd�|jtd�5tj|�ddd�y#1swY��xYw#1swY�JxYw#1swYyxYw)Nc��yrr$r$rrr�
z$TestUnwrap.test_cycle.<locals>.func1ir�rrt	c��yrr$r$rrr�	z$TestUnwrap.test_cycle.<locals>.func2nr�r)ror�r�rQr�
)rWr�
r�	s   r�
test_cyclezTestUnwrap.test_cyclehs����!���
�
#�
#�J��
?��N�N�5�!�@�	�!���!���
�
#�
#�J��
?��N�N�5�!�@�
�
#�
#�J��
?��N�N�5�!�@�
?�@�
?��@�
?��
?�
?�s#�B9�&C�C�9C�C�Cc���d��d�_G�fd�d�}|jtj|���y)Nc��yrr$r$rrr�z(TestUnwrap.test_unhashable.<locals>.funcwr�rc���eZdZdZW�Zy)�%TestUnwrap.test_unhashable.<locals>.CN)rNrcrd�__hash__ror�s�rrrys
����H��Krr)ror�rQr�
)rWrr�s  @r�test_unhashablezTestUnwrap.test_unhashablevs3�������	�	�	
���'�.�.���-�.rc���ttj�dz�}|jtd�5tj|�ddd�y#1swYyxYw)Nr.rt	)r�
r��getrecursionlimitr�r�rQr�
)rWrZs  r�test_recursion_limitzTestUnwrap.test_recursion_limit~sC���� 5� 5� 7�!� ;�<��
�
#�
#�J��
?��N�N�3��@�
?�
?�s�A�Ac���|jtjt�t�|jtjt�t�|jtjt
�t
�|jtjt	t
��t
�|jtjtt��t�yr)rTrQr�
r�
r�r�ras r�test_wrapped_descriptorz"TestUnwrap.test_wrapped_descriptor�s����
�
�g�n�n�%6�7�9J�K��
�
�g�n�n�\�2�L�A��
�
�g�n�n�[�1�;�?��
�
�g�n�n�\�+�%>�?��M��
�
�g�n�n�[��%>�?��NrN)
rNrcrdr�
r�
r�
rrr
rr$rrr�
r�
Gs&��5�	5�(�"�/� �
Orr�
c�Z�eZdZd�Zd�Zejedud�d��Zd�Z	d�Z
y)�TestMainc��tjd�}tddd�\}}}|j�j	�}|j|ddt
j|�j	��|j|d�y)Nr��-mrQrr)�	importlib�
import_moduler
�decoderr4rQr�)rW�module�rcr@�errr�s      r�test_only_sourcezTestMain.test_only_source�sw���(�(��4��'��i�(2�4���C���
�
��'�'�)������s���W�%6�%6�v�%>�%I�%I�%K�L�����c�"rc��d�}d|_|jt�5tj|�ddd�y#1swYyxYw)Nc��yrr$r$rrr0z)TestMain.test_custom_getattr.<locals>.foo�r�rr�)r�r�r�rQr�r[s  r�test_custom_getattrzTestMain.test_custom_getattr�s7��	����
�
�
�y�
)����c�"�*�
)�
)�s	�?�ANz6threads required to test __qualname__ for source filesc��tddd�\}}}|j�j�}|j|ddt	j
t�j��|j|d�y)NrrQz%concurrent.futures:ThreadPoolExecutorrr)r
rrr4rQr�r)rWrr@rr�s     r�test_qualname_sourcezTestMain.test_qualname_source�so��(��i�%L�N���C���
�
��'�'�)������s��� �*�*�+=�>�I�I�K�	M�����c�"rc��tddd�\}}}|j�j�}|j|dg�y)NrrQr�z#Can't get info for builtin modules.)rrrr4)rWr`r@rr�s     r�
test_builtinszTestMain.test_builtins�sA��+�D�)�,1�3���3���
�
��'�'�)������!F� G�Hrc�T�tjd�}tj�}t	g|�d�d�d�d���\}}}|j�}|j
|jj|�|j
|j|�|j
|jj|�|j
|j|�|j
|jj|�|j
|j|�|j|d�y)Nr�rrQz	--detailsr)rrr�!optim_args_from_interpreter_flagsr
rr�__spec__rrN�originrX�cached�
__cached__r4)rWrrrr@r�outputs       r�test_detailszTestMain.test_details�s����(�(��4���8�8�:��'�A��A�t�A�Y�A�(2�A�4?�A���C��������
�
�f�o�o�*�*�F�3��
�
�f�o�o�v�.��
�
�f�o�o�,�,�f�5��
�
�f�o�o�v�.��
�
�f�o�o�,�,�f�5��
�
�f�'�'��0�����c�"r)rNrcrdrrr�r'rrrr&r$rrrr�sC��#�#��X�_�_�'�4�/�D�F�#�F�#�I�
#rrc�`�eZdZejd�Zejd�Zd�Zd�Zy)�
TestReloadz def foo():
    print("Bla")
    z#def foo():
    print("Oh no!")
    c���tj|�}t|d��5}|j|j	�jd�|jd��ddd�y#1swYyxYw)Nrr�T)rQr�r�r4r�r)rWr&r��
inspected_srcr�s     r�assertInspectEqualzTestReload.assertInspectEqual�sZ���)�)�&�1�
�
�$��
)�S�������
�%�%�d�+��(�(��.�
�*�
)�
)�s�?A+�+A4c�N�td|j�5\}}tj|�}|j	||�t|dd��5}|j
|j�ddd�|j	||�ddd�y#1swY�$xYw#1swYyxYw)N�
reload_bugr"rr�)r�
src_beforerrr+r�r(�	src_after)rWrr&rr�s     r�test_getsource_reloadz TestReload.test_getsource_reload�s���
�\�4�?�?�
;�|��d��,�,�T�2�F��#�#�D�&�1��d�C�'�2�c��	�	�$�.�.�)�3��#�#�D�&�1�<�
;�3�2��<�
;�s#�9B�B�,B�B	�B�B$N)	rNrcrd�textwrap�dedentr.r/r+r0r$rrr(r(�s8�� ����"�	�J�
 ����!�	�I�
�2rr(�__main__)vr"r�r�r�r�r�rrQr�r�r$rR�os.pathrr�r}r.r�r�r1r-	rr�r��
unittest.mockr�r��concurrent.futuresr�ImportError�test.supportrrr	�test.support.import_helperr
r�test.support.os_helperr�test.support.script_helperr
rr�r�test.test_inspectrr�rr�rrrrrXrPrrr�r�r%r=rFr�r�r=rHrtrwr{rr~r�r8r}r�r�r+r2r:rMr|r�rr7r�r<rGrPrRrr
rFr@r�r�r�r�r�r�requires_working_socket�IsolatedAsyncioTestCaser*r�rSr�rVrXr'
rA
r�
r�
r�
r�
r�
rr(rN�mainr$rr�<module>r@s�������	���	��	�
���
�
�
����������5�&�8�E�)�N��3�5�7�<�>�C��,�,��
���J���c�r�l�G��7�
��(��c�m�m�o��,�
�$	�$M�#R�#R�#T� �M��"�"�M�0���������^A�Z�^A�B	B>�:�B>�H8�H�%�%�8� 7�7�
T:�}�T:�l	E�x�0�0�	E�0�
�0�
7�]�
7�87�M�87�t
C�
�
C�nO�]�nO�`:�
�:�&N�=�N�7�F�7�9�f�9�>�W

�h�/�/�W

�tb�8�,�,�b�5>�8�,�,�5>�p�h��w>��*�*�w>�tG+�x�0�0�G+�R �5� �:�$:�:�(K.��)�)�K.�\
dH�H�-�-�dH�NAG�H�-�-�AG�H!�� � �"�cG�8�;�;�cG�#�cG�L	�'�#�#�	�
	�'�#�#�	�K �(�+�+�K �\8O�(�+�+�O�dHE��)�)�HE�Vd0��*�*�d0�L-�(�"3�"3�-�^^>�x�0�0�^>�B��AO��"�"�AO�H/#�x� � �/#�d2��"�"�2�<�z���H�M�M�O���}e�����s�*O7�7P�P

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists