403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_weakref.cpython-313.opt-2.pyc
�

��i�A����SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSK
Jr SSKJrJrJr SSKJr SSKJr SSKJr SSKJrJr SqSr"S	S
5r"SS5rS
rSr"SS5r"SS5r"SS\R@5r!\RDS+Sj5r#"SS\!5r$"SS\!5r%"SS\R@5r&"SS\!5r'SSK
J(r( "SS \(RR5r*"S!S"\(RR5r+"S#S$\R@5r,"S%S&\R@5r-S'r.S(\.0r/S)r0\1S*:Xa\Rd"5 gg),�N)�support)�
script_helper�	ALWAYS_EQ�suppress_immortalization)�
gc_collect)�
import_helper)�threading_helper)�is_wasi�Py_DEBUG�foobarc��\rSrSrSrSrg)�C�c��g�N���selfs �&C:\Python313\\Lib\test\test_weakref.py�method�C.methods���rN)�__name__�
__module__�__qualname__�__firstlineno__r�__static_attributes__rrrrrs��
rrc��\rSrSrSrSrSrg)�Callable�"Nc��Xlgr��bar�r�xs  r�__call__�Callable.__call__%s���rr")rrrrr#r&rrrrrr"s��
�C�rrc��SnU$)Nc��grrrrr�f�create_function.<locals>.f*s��Trr)r*s r�create_functionr,)s
����Hrc�*�[5R$r)rrrrr�create_bound_methodr.-s���3�:�:�rc�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�Object�1c��Xlgr��arg)rr4s  r�__init__�Object.__init__2s���rc� �SUR-$)Nz<Object %r>r3rs r�__repr__�Object.__repr__4s���t�x�x�'�'rc�j�[U[5(aURUR:H$[$r��
isinstancer0r4�NotImplemented�r�others  r�__eq__�
Object.__eq__6s(���e�V�$�$��8�8�u�y�y�(�(��rc�j�[U[5(aURUR:$[$rr;r>s  r�__lt__�
Object.__lt__:s(���e�V�$�$��8�8�e�i�i�'�'��rc�,�[UR5$r)�hashr4rs r�__hash__�Object.__hash__>s���D�H�H�~�rc��g)N�rrs r�some_method�Object.some_method@���rc��g)N�rrs r�other_method�Object.other_methodBrMrr3N)rrrrr5r8r@rCrGrKrPrrrrr0r01s%���(�����rr0c��\rSrSrSrSrg)�RefCycle�Fc��Xlgr��cyclers rr5�RefCycle.__init__Gs���
rrVN�rrrrr5rrrrrSrSFs��rrSc� �\rSrSrSrSrSrg)�TestBase�Kc��SUlg�Nr��cbcalledrs r�setUp�TestBase.setUpMs	����
rc�.�U=RS-
slg�N�r_)r�refs  r�callback�TestBase.callbackPs���
�
���
rr_N)rrrrrargrrrrr[r[Ks���rr[c#�&^^# �SmUU4Sjn[R"5 [R"US9nUR	5 Sv� SmUR5 SSS5 g!SmUR5 f=f!,(df   g=f7f)NFc�~>�T(d5[R"T5 [R"5 T(dM4ggr)�time�sleep�gc�collect)�period�please_stops��rrn�"collect_in_thread.<locals>.collect[s"�����J�J�v���J�J�L��+r)�targetT)r�
disable_gc�	threading�Thread�start�join)rorn�trps`  @r�collect_in_threadryTsq����
�K��

�	�	�	����G�,��	���	�	���K�
�F�F�H�
�	���K�
�F�F�H��
�	�s4�B�%B�	A)�
B� 	B�)A=�=B�
B�
Bc�V�\rSrSrSr\RS5rSrSr	\RS5r
SrSrS	r
S
r\RS5rSrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"Sr#S r$S!r%S"r&S#r'S$r(S%r)\*"5S&5r+S'r,S(r-\*"5S)5r.S*r/S+r0S,r1S-r2S.r3S/r4\*"5S05r5S1r6S2r7S3r8\9Rt"\;=(a \<S45S55r=S6r>S7r?S8r@S9rA\RS:5rBS;rCg<)=�ReferencesTestCase�jc���UR[5 UR[5 UR[5 [5n[R
"U5n[
U5 A[
U5 gr)�check_basic_refrr,r.�weakrefrf�repr)r�o�wrs   r�test_basic_ref�!ReferencesTestCase.test_basic_reflsT�����Q�����_�-����0�1�
�C��
�[�[��^���R��
��R�rc��[5n[R"U5nS[S:XaSO[RS-[R
S3nUR
[U5U5 Sn[5 UR
[U5S5 "SS5nU"5n[R"U5nS[S:XaSOURS-UR
S	3nUR
[U5U5 g)
Nz <weakref at 0x[0-9a-fA-F]+; to '�__main__��.�' at 0x[0-9a-fA-F]+>z!<weakref at 0x[0-9a-fA-F]+; dead>c�$�\rSrSr\S5rSrg)�2ReferencesTestCase.test_ref_repr.<locals>.WithName�c��g)N�custom_namerrs rr�;ReferencesTestCase.test_ref_repr.<locals>.WithName.__name__�s��$rrN)rrrr�propertyrrrr�WithNamer��s��
�
%��
%rr�z%' at 0x[0-9a-fA-F]+ +\(custom_name\)>)	rrrfrrr�assertRegexr�r)r�objrf�regexr��obj2�ref2s       r�
test_ref_repr� ReferencesTestCase.test_ref_reprzs����c���k�k�#����"�j�0�B�a�l�l�S�6H�I�!�.�.�IY�Z"�
#�	�
	
����c��E�*���������c��=�	@�	%�	%�
�z���{�{�4� ���"�j�0�B�h�6I�6I�C�6O�P��%�%�&�'3�
4�	�	
����d��U�+rc���"SS[5nU"SS9n[R"U5nURS[	U55 URS[U55 g)Nc��\rSrSrSrSrg)�>ReferencesTestCase.test_repr_failure_gh99184.<locals>.MyConfig�c�
�X$rrr$s  r�__getattr__�JReferencesTestCase.test_repr_failure_gh99184.<locals>.MyConfig.__getattr__�s	���w�rrN)rrrrr�rrrr�MyConfigr�����
rr�rO)�offset)�dictrrf�assertInr��str)rr�r��obj_weakrefs    r�test_repr_failure_gh99184�,ReferencesTestCase.test_repr_failure_gh99184�sN��	�t�	��a� ���k�k�#�&���
�
�j�$�{�"3�4��
�
�j�#�k�"2�3rc��UR[5 UR[5 UR[5 gr)�check_basic_callbackrr,r.rs r�test_basic_callback�&ReferencesTestCase.test_basic_callback�s-���!�!�!�$��!�!�/�2��!�!�"5�6rc�"�[R"S5nURnU"5n[R"U5nURU"5U5 AUR
U"55 URU5 URU5 g)N�	_testcapi)	r�
import_module�create_cfunctionrrf�assertIs�assertIsNoner~r�)rr�r�r*r�s     r�test_cfunction�!ReferencesTestCase.test_cfunction�st��!�/�/��<�	�$�5�5�����
�[�[��^���
�
�b�d�A��
����"�$�����-�.��!�!�"2�3rc�D�[5n[R"XR5n[R"XR5nA[	5 URU"5S5 URU"5S5 UR
URSS5 g)Nz$expected reference to be invalidated�z-callback not called the right number of times)rrrfrgrr��assertEqualr`�rr��ref1r�s    r�test_multiple_callbacks�*ReferencesTestCase.test_multiple_callbacks�su��
�C���{�{�1�m�m�,���{�{�1�m�m�,��
������$�&�"H�I����$�&�"H�I��������D�	Frc��U4Sjn[5n[R"X!5Ul[R"X!5nAg)Nc�$�UR5 gr�rf)�objectrs  rrg�DReferencesTestCase.test_multiple_selfref_callbacks.<locals>.callback�s���H�H�Jr)rrrf)rrg�cr�s    r�test_multiple_selfref_callbacks�2ReferencesTestCase.test_multiple_selfref_callbacks�s4��#'�	�
�C���;�;�q�+����{�{�1�'��
rc�`�[5nUR[[RUSS9 g)N)rg)r�assertRaises�	TypeErrorrrf)rr�s  r�test_constructor_kwargs�*ReferencesTestCase.test_constructor_kwargs�s$��
�C�����)�W�[�[�!�d��Crc���[5nSUl[R"XR5n[R"XR5nA[5 SnUR
[XB5 UR
[XC5 [R"[55n[5 UR
[[U5 URURS5 g)Nrec��UR grr")�proxys r�check�0ReferencesTestCase.test_proxy_ref.<locals>.check�s	���I�Irr�)rr#rr�rgrr��ReferenceError�boolr�r`)rr�r�r�r��ref3s      r�test_proxy_ref�!ReferencesTestCase.test_proxy_ref�s���
�C������}�}�Q�
�
�.���}�}�Q�
�
�.��
���	�	
���.�%�6����.�%�6��}�}�Q�S�!�������.�$��5��������*rc�B�[5n[R"XR5nS[S:XaSO[R
S-[RS3nUR[U5U5 Sn[5 UR[U5S5 g)Nz"<weakproxy at 0x[0-9a-fA-F]+; to 'r�r�r�r�z#<weakproxy at 0x[0-9a-fA-F]+; dead>)
rrr�rgrrrr�r�r)rr�rfr�s    r�test_proxy_repr�"ReferencesTestCase.test_proxy_repr�s����c���m�m�C���/���"�j�0�B�a�l�l�S�6H�I�!�.�.�IY�Z"�
#�	�
	
����c��E�*���������c��?�	Brc��U"5n[R"U5nURU"5S5 U"5nURX$S5 g)Nz,weak reference to live object should be livez-<ref>() should return original object if live)rrf�assertIsNotNoner�)r�factoryr�rf�o2s     rr~�"ReferencesTestCase.check_basic_ref�sE���I���k�k�!�n�����S�U�C�	E�
�U���
�
�a�D�	Frc���SUlU"5n[R"X R5nA[	5 URURSS5 UR
U"5S5 g)Nrrez(callback did not properly set 'cbcalled'z3ref2 should be dead after deleting object reference)r`rrfrgrr�r�)rr�r�rfs    rr��'ReferencesTestCase.check_basic_callbacksZ����
��I���k�k�!�]�]�+��
����������?�	A����#�%�J�	Lrc�.�[5n[R"U5n[R"U5n[R"U5nUR	X$S5 [5n[R"U5n[R"U5n[R"U5nUR	X$S5 UR[R"U5SS5 A[5 UR[R"U5SS5 g)Nz1reference object w/out callback should be re-usedr�zwrong weak ref count for objectrez4wrong weak ref count for object after deleting proxy)rrrfr�r�r��getweakrefcountr)rr�r�r�r�s     r�test_ref_reuse�!ReferencesTestCase.test_ref_reuse
s���
�C���{�{�1�~���
�
�a� ���{�{�1�~���
�
�d�H�	J�
�C���
�
�a� ���{�{�1�~���{�{�1�~���
�
�d�H�	J�����0�0��3�Q�6�	8��������0�0��3�Q�K�	Mrc��[5n[R"U5n[R"U5n[R"U5nUR	X$S5 g)Nz4proxy object w/out callback should have been re-used)rrr�rfr�)rr��proxy1rf�proxy2s     r�test_proxy_reuse�#ReferencesTestCase.test_proxy_reuse$sD��
�C�����q�!���k�k�!�n�����q�!���
�
�f�K�	Mrc��[5nURU[R"U55 [R
"5n[R"U5nUR
US5 URS5 UR[U5S5 URUS5 SS/USS&UR[U5S5 UR[U5S5 URSUS5 SUS'URUSS5 URUSS5 [R
"U5n[R"U5nURX55 [R
"[S	55n[R"U5nURUSSUSS5 URUSSUSS5 URUSSUSS5 URUSSUSS5 g)
Nz(proxy for empty UserList should be false�rez+proxy for non-empty UserList should be truer��z,proxy didn't support __contains__() properlyrO�
)
r�check_proxyrr��collections�UserList�assertFalse�appendr��len�
assertTruer��range)rr��L�p�L2�p2�L3�p3s        r�test_basic_proxy�#ReferencesTestCase.test_basic_proxy,s���
�C������G�M�M�!�,�-�� � �"���M�M�!�������F�G�	���������Q���#�����H�I��1�v��!������Q���#�����Q���#��
�
�a��J�K���!������1��q�!�����1��q�!�
�
!�
!�!�
$��
�]�]�2�
�������
�
!�
!�%��)�
,��
�]�]�2�
������A���1��&�����A�B���A�B��(�����B�Q���B�Q��(�����A�a��"�Q�q�'�*rc���"SS[5nU"5nURS[[R"U555 UR[
[R"U55S5 g)Nc� �\rSrSrSrSrSrg)�0ReferencesTestCase.test_proxy_unicode.<locals>.CiJc��g)N�stringrrs r�__str__�8ReferencesTestCase.test_proxy_unicode.<locals>.C.__str__K���rc��g)N�bytesrrs r�	__bytes__�:ReferencesTestCase.test_proxy_unicode.<locals>.C.__bytes__MrrrN)rrrrr�rrrrrrr�Js��
 �
 rrrr)r�r��dirrr�r��bytes)rr�instances   r�test_proxy_unicode�%ReferencesTestCase.test_proxy_unicodeHsQ��	 ��	 �
�3���
�
�k�3�w�}�}�X�'>�#?�@�����w�}�}�X�6�7��Brc��"SS5nU"5n[R"U5nUR[R"U5S5 g)Nc��\rSrSrSrSrg)�.ReferencesTestCase.test_proxy_index.<locals>.CiTc��g�Nr�rrs r�	__index__�8ReferencesTestCase.test_proxy_index.<locals>.C.__index__U���rrN)rrrrrrrrrrr
T���
rrr�)rr�r��operator�index�rrr�r�s    r�test_proxy_index�#ReferencesTestCase.test_proxy_indexSs<��	�	�
�C���M�M�!����������*�B�/rc��"SS5nU"5n[R"U5nURUS-S5 US-nURUS5 g)Nc� �\rSrSrSrSrSrg)�,ReferencesTestCase.test_proxy_div.<locals>.Ci\c��g�N�*rr>s  r�__floordiv__�9ReferencesTestCase.test_proxy_div.<locals>.C.__floordiv__]rrc��g)N�rr>s  r�
__ifloordiv__�:ReferencesTestCase.test_proxy_div.<locals>.C.__ifloordiv___rrrN)rrrrrr#rrrrrr\s��
�
rrrOrr"�rr�r�rs    r�test_proxy_div�!ReferencesTestCase.test_proxy_div[sP��	�	�

�C���M�M�!�������a���$�	�a�������B�rc���"SS5nU"5n[R"U5nURUS-S5 URSU-S5 US-nURUS5 g)Nc�&�\rSrSrSrSrSrSrg)�/ReferencesTestCase.test_proxy_matmul.<locals>.Cihc��g)N�rr>s  r�
__matmul__�:ReferencesTestCase.test_proxy_matmul.<locals>.C.__matmul__i���rc��g)N�]���rr>s  r�__rmatmul__�;ReferencesTestCase.test_proxy_matmul.<locals>.C.__rmatmul__kr/rc��g)N�1rr>s  r�__imatmul__�;ReferencesTestCase.test_proxy_matmul.<locals>.C.__imatmul__ms��rrN)rrrrr-r2r6rrrrrr*hs��
�
�
rrrOr,r1r5r%rs    r�test_proxy_matmul�$ReferencesTestCase.test_proxy_matmulgsd��	�	�
�C���M�M�!�������Q���%�����Q���%�	�Q�������C� rc�B�UR[R5 gr)�check_shared_without_callbackrrfrs r� test_shared_ref_without_callback�3ReferencesTestCase.test_shared_ref_without_callback~s���*�*�7�;�;�7rc�B�UR[R5 gr)r;rr�rs r�"test_shared_proxy_without_callback�5ReferencesTestCase.test_shared_proxy_without_callback�s���*�*�7�=�=�9rc�>�[S5nU"US5nU"US5nURX4S5 AAU"U5nU"US5nURX4S5 AAU"U5nU"U5nURX4S5 AAU"US5nU"U5nURX4S5 g)Nrez%both callbacks were None in the C APIz&callbacks were NULL, None in the C APIz%both callbacks were NULL in the C APIz&callbacks were None, NULL in the C API)r0r�)r�makerefr��p1r�s     rr;�0ReferencesTestCase.check_shared_without_callback�s����1�I��
�Q��
��
�Q��
���
�
�b�E�F���
�Q�Z��
�Q��
���
�
�b�F�G���
�Q�Z��
�Q�Z���
�
�b�E�F���
�Q��
��
�Q�Z���
�
�b�F�Grc��[5n[R"U5nURX5 UR	[U5[RS5 U"S5 URURSS5 U"SS9 URURSS5 UR[U5 UR[USSS5 g)	Nzproxy is not of callable typez	twinkies!z1call through proxy not passed through to originalzSplat.)r%rer�r�)rrr�r�r��type�CallableProxyTyper�r#r�r�)rr�r�s   r�test_callable_proxy�&ReferencesTestCase.test_callable_proxy�s����J���}�}�Q�������!��
�
�d�4�j�'�";�";�4�	6��[���������H�	J��x���������H�	J�	
���)�T�*�	
���)�T�1�a��3rc��SUlURURSS5 SUlURURSS5 U?UR[US5S5 SUlURURSS5 SUlURURSS5 U?UR[US5S	5 g)
Nrez)proxy does not reflect attribute additionr�z-proxy does not reflect attribute modification�fooz(proxy does not reflect attribute removalz4object does not reflect attribute addition via proxyz8object does not reflect attribute modification via proxyz3object does not reflect attribute removal via proxy)rKr�r��hasattr)rr�r�s   rr��ReferencesTestCase.check_proxy�s������������A�@�	B����������A�D�	F�
�E�������.�?�	A���	��������K�	M���	��������F�	H��I������E�*�J�	Lrc��"SS5nU"5n[R"U5nUS	URURS5 g)Nc��\rSrSrSrSrSrg)�3ReferencesTestCase.test_proxy_deletion.<locals>.Fooi�Nc��Xlgr��result)r�accessors  r�__delitem__�?ReferencesTestCase.test_proxy_deletion.<locals>.Foo.__delitem__�s��&�rrR)rrrrrSrUrrrr�FoorP�s���F�
'rrWr)rr�r�rS)rrW�gr*s    r�test_proxy_deletion�&ReferencesTestCase.test_proxy_deletion�s>��	'�	'�
�E���M�M�!���
�a�D�������1�%rc��"SS[5nU"5nUR[[R"U55[U55 g)Nc��\rSrSrSrg)�0ReferencesTestCase.test_proxy_bool.<locals>.Listi�rN�rrrrrrrr�Listr]�s��$rr_)�listr�r�rr�)rr_�lysts   r�test_proxy_bool�"ReferencesTestCase.test_proxy_bool�s3���4���v������g�m�m�D�1�2�D��J�?rc��^�Sm"U4SjS5nU"5m[R"T5nUR[5 SU; SSS5 g!,(df   g=f)Nc�">�\rSrSrU4SjrSrg)�1ReferencesTestCase.test_proxy_iter.<locals>.MyObji�c�>�@[$r)r=)rr�s �r�__iter__�:ReferencesTestCase.test_proxy_iter.<locals>.MyObj.__iter__�s����%�%rrN�rrrrrhr)r�s�r�MyObjrf�s
���
&�
&rrk�blech)rr�r�r�)rrkr�r�s   @r�test_proxy_iter�"ReferencesTestCase.test_proxy_iter�sN�����	&�	&��g���M�M�#���
�
�
�y�
)�
�q�L�	*�
)�
)�s�A�
A c�^^�/SQmU4SjnU"5m"U4SjS5nU"5nUR[U5/SQ5 g)N)rJrO�c3�&># �TShv�N gN7frr)�arrs�r�
iterator_func�9ReferencesTestCase.test_proxy_next.<locals>.iterator_func�s
�����N�N�s���c�">�\rSrSrU4SjrSrg)�:ReferencesTestCase.test_proxy_next.<locals>.IteratesWeaklyi�c�0>�[R"T5$r�rr�)r�its �rrh�CReferencesTestCase.test_proxy_next.<locals>.IteratesWeakly.__iter__�s����}�}�R�(�(rrNrj)rys�r�IteratesWeaklyrv�s
���
)�
)rr{)r�r`)rrsr{�weak_itrrrys    @@r�test_proxy_next�"ReferencesTestCase.test_proxy_next�s>�����	�
�_��	)�	)�!�"��	
����g��	�2rc�^�Sm"U4SjS5nU"5nSnUR[U5 [U5 SSS5 g!,(df   g=f)Nc��gr^rrrr�<lambda>�8ReferencesTestCase.test_proxy_bad_next.<locals>.<lambda>�s��!rc�">�\rSrSrU4SjrSrg)�1ReferencesTestCase.test_proxy_bad_next.<locals>.Ai�c�0>�[R"T5$rrx)r�not_an_iterators �rrh�:ReferencesTestCase.test_proxy_bad_next.<locals>.A.__iter__�s����}�}�_�5�5rrNrj)r�s�r�Ar��s
���
6�
6rr�z'Weakref proxy referenced a non-iterator)�assertRaisesRegexr�r`)rr��a�msgr�s    @r�test_proxy_bad_next�&ReferencesTestCase.test_proxy_bad_next�sE���$��	6�	6�
�C��7��
�
#�
#�I�s�
3���G�4�
3�
3�s�A�
Ac	��"SS5nU"5nURSR[[R"U555S5 g)Nc� �\rSrSrSrSrSrg)�5ReferencesTestCase.test_proxy_reversed.<locals>.MyObjic��g)Nr�rrs r�__len__�=ReferencesTestCase.test_proxy_reversed.<locals>.MyObj.__len__���rc��[S5$)N�cba)�iterrs r�__reversed__�BReferencesTestCase.test_proxy_reversed.<locals>.MyObj.__reversed__s���E�{�"rrN)rrrrr�r�rrrrrkr�s��
�
#rrkr�r�)r�rw�reversedrr��rrkr�s   r�test_proxy_reversed�&ReferencesTestCase.test_proxy_reverseds<��	#�	#��g���������'�-�-��*<�!=�>��Frc��"SS5nU"5nUR[5 [[R"U55 SSS5 "SS5nU"5nUR[5 [[R"U55 SSS5 g!,(df   N]=f!,(df   g=f)Nc��\rSrSrSrSrg)�1ReferencesTestCase.test_proxy_hash.<locals>.MyObjic��grrrs rrG�:ReferencesTestCase.test_proxy_hash.<locals>.MyObj.__hash__rrrN�rrrrrGrrrrrkr�rrrkc��\rSrSrSrSrg)r�iNrr�rrrrkr�s���Hr)r�r�rFrr�r�s   r�test_proxy_hash�"ReferencesTestCase.test_proxy_hash
s���	�	��g��
�
�
�y�
)�����s�#�$�*�	�	��g��
�
�
�y�
)�����s�#�$�*�
)�*�
)��*�
)�s� B�5 B/�
B,�/
B=c�D�[5n[R"U5n[R"XR5nUR	[R
"U5SS5 [R"U5n[R"XR5nUR	[R
"U5SS5 AAAA[5 UR	[R
"U5SS5 UR	[R
"S5SS5 g)Nr�z*got wrong number of weak reference objectsrJrzAweak reference objects not unlinked from referent when discarded.rez2got wrong number of weak reference objects for int)rrrfrgr�r�r�r)rr�r�r�r�r�s      r�test_getweakrefcount�'ReferencesTestCase.test_getweakrefcounts���
�C���{�{�1�~���{�{�1�m�m�,������0�0��3�Q�A�	C����q�!�����q�-�-�0������0�0��3�Q�A�	C�
�$���������0�0��3�Q�1�	2�
	
����0�0��3�Q�I�	Krc��[5n[R"XR5n[R"XR5nA[	5 UR[R"U5U/S5 [5n[R"XR5n[R"XR5nA[	5 UR[R"U5U/S5 A[	5 UR[R"U5/S5 UR[R"S5/S5 g)Nzlist of refs does not matchzlist of refs not clearedrez#list of refs does not match for int)rrrfrgrr��getweakrefsr�s    r�test_getweakrefs�#ReferencesTestCase.test_getweakrefs3s���
�C���{�{�1�m�m�,���{�{�1�m�m�,���������,�,�Q�/�$��2�	4�
�C���{�{�1�m�m�,���{�{�1�m�m�,���������,�,�Q�/�$��2�	4�
�������,�,�Q�/��/�	1�	
����,�,�Q�/��:�	<rc��"SS[5nU"S5n[R"U5nURUS-S5 URSU-S5 g)Nc��\rSrSrSrg)�6ReferencesTestCase.test_newstyle_number_ops.<locals>.FiNrNr^rrr�Fr�N���rr�g@g�?g@)�floatrr�r�)rr�r*r�s    r�test_newstyle_number_ops�+ReferencesTestCase.test_newstyle_number_opsMsM��	��	�
�c�F���M�M�!�������S��#�&�����q��#�&rc��^^^�"SS[5m0mU4SjmUUU4SjnU"5 URS5 U"5 URS5 g!Ta N"f=f!Ta gf=f)Nc��\rSrSrSrg)�?ReferencesTestCase.test_callbacks_protected.<locals>.BogusErroriXrNr^rrr�
BogusErrorr�Xr�rr�c�>�TU	grr)�k�datas �r�remove�;ReferencesTestCase.test_callbacks_protected.<locals>.remove[s
����Q�rc�B>�SnST[R"UT5'Te)Nc��g)Nrrrrrr��RReferencesTestCase.test_callbacks_protected.<locals>.encapsulate.<locals>.<lambda>^s��r)rrf)r*r�r�r�s ���r�encapsulate�@ReferencesTestCase.test_callbacks_protected.<locals>.encapsulate]s#����A�+/�D����Q��'�(��rzexception not properly restored)�	Exception�fail)rr�r�r�r�s  @@@r�test_callbacks_protected�+ReferencesTestCase.test_callbacks_protectedUsw���	��	���	�	�	9��M�
�I�I�7�8�	9��M�
�I�I�7�8���	��	���	��	�s"�A�A"�A�A�"A+�*A+c�^�SSKm"SS[5nU"5n[R"UU4Sj5nAAU"5nU"5Ul[R"URU4Sj5nU"5nXElAAg)Nrc��\rSrSrSrg)�0ReferencesTestCase.test_sf_bug_840829.<locals>.Ci{rNr^rrrrr�{r�rrc�&>�TR"5$r�rn��ignorerms �rr��7ReferencesTestCase.test_sf_bug_840829.<locals>.<lambda>s���2�:�:�<rc�&>�TR"5$rr�r�s �rr�r��s���b�j�j�lr)rmr�rrf�i�c1)rrr�r�r��c2rms      @r�test_sf_bug_840829�%ReferencesTestCase.test_sf_bug_840829nso���	�	��	�
�C��
�[�[��7�
8��
�
�
�S���s���
�[�[����:�
;��
�S�����
rc���SSKn"SS[5n"SS[5nU"5nX$l[R"X$R
5UlAAAUR"5 g)Nrc��\rSrSrSrg)�4ReferencesTestCase.test_callback_in_cycle.<locals>.Ji�rNr^rrr�Jr��r�rr�c��\rSrSrSrSrg)�5ReferencesTestCase.test_callback_in_cycle.<locals>.IIi�c��UR gr)r��rr�s  r�	acallback�?ReferencesTestCase.test_callback_in_cycle.<locals>.II.acallback�s	����rrN)rrrrr�rrrr�IIr��s��
rr�)rmr�r�rrfr�r�rn)rrmr�r��Is     r�test_callback_in_cycle�)ReferencesTestCase.test_callback_in_cycle�sQ���	��	�	��	�
�D�����{�{�1�k�k�*���2
�q�"�
�
�
�rc���SSKn"SS5nU"5U"5pCXDlX4l[R"X4R
5UlAAUR"5 g)Nrc��\rSrSrSrSrg)�=ReferencesTestCase.test_callback_reachable_one_way.<locals>.Ci�c�L�UR UR UR gr��mer�r�r�s  r�cb�@ReferencesTestCase.test_callback_reachable_one_way.<locals>.C.cb������������rrN�rrrrr�rrrrrr�����
rr)rmr�r�rrfr�r�rn)rrmrr�r�s     r�test_callback_reachable_one_way�2ReferencesTestCase.test_callback_reachable_one_way�sH���	�	���a�c�B��������B���&�����
�
�
�rc���SSKn"SS[5n"SS5nU"5U"5pTXUlXEl[R
"XER5UlAAAAUR"5 g)Nrc��\rSrSrSrSrg)�=ReferencesTestCase.test_callback_different_classes.<locals>.Ci�c�L�UR UR UR grr�r�s  rr��@ReferencesTestCase.test_callback_different_classes.<locals>.C.cb�r�rrNr�rrrrr��r�rrc��\rSrSrSrg)�=ReferencesTestCase.test_callback_different_classes.<locals>.Di�rNr^rrr�Dr��r�rr�)	rmr�r�r�rrfr�r�rn)rrmrr�r�r�s      r�test_callback_different_classes�2ReferencesTestCase.test_callback_different_classes�sX���	��	�	�	���a�c�B��������B���&�����A�q�
�
�
�rc�(^�SSKn/m"U4SjS[5nU"S5U"S5pCXClX4l[R"XCR
5Ul[R"X4R
5UlU4Sjn[R"X%5nAAAURT/5 UR"5 URTS/5 URU"5S5 TSS2	UR"5 URT/5 g)Nrc�(>�\rSrSrSrU4SjrSrg)�AReferencesTestCase.test_callback_in_cycle_resurrection.<locals>.Cic��Xlgr��	attribute)r�values  rr5�JReferencesTestCase.test_callback_in_cycle_resurrection.<locals>.C.__init__s��!&�rc�<>�TRUR5 gr)r�r��rr��alists  �rr��KReferencesTestCase.test_callback_in_cycle_resurrection.<locals>.C.acallbacks������T�V�V�$rr�N)rrrrr5r�r�rs�rrr�s���
'�
%�
%rrrer�c�(>�TRS5 g)N�C went away�r��r�rs �r�C_went_away�KReferencesTestCase.test_callback_in_cycle_resurrection.<locals>.C_went_aways����L�L��'rr	)	rmr�r�rrfr�r�r�rn)rrmrr�r�rr�rs       @r�#test_callback_in_cycle_resurrection�6ReferencesTestCase.test_callback_in_cycle_resurrection�s�������	%��	%��1��q��t�B��������B���-������B���-���	(�
�[�[��
(����A������#�
�
�
��
	
������0������t�$��!�H�
�
�
�������#rc�X^�SSKn/mU4Sjn"U4SjS[5nU"5U"5pTXTlXElURn[R
"XV5Ul[R
"XeR5Ul[R
"Xb5nURU"5U5 AAAAURT/5 UR"5 URTS/5 URU"5S5 TSS2	UR"5 URT/5 g)Nrc�(>�TRS5 g)N�safe_callback calledr
rs �r�
safe_callback�DReferencesTestCase.test_callbacks_on_callback.<locals>.safe_callback's����L�L�/�0rc�">�\rSrSrU4SjrSrg)�8ReferencesTestCase.test_callbacks_on_callback.<locals>.Ci*c�(>�TRS5 g)Nz	cb calledr
rs  �rr��;ReferencesTestCase.test_callbacks_on_callback.<locals>.C.cb+s������[�)rrNr�rs�rrr*s
���
*�
*rrr)
rmr�r?r�rrfr�r�r�rn)	rrmrrr��drg�external_wrrs	        @r�test_callbacks_on_callback�-ReferencesTestCase.test_callbacks_on_callback"s�������	1�	*��	*��s�A�C�1������4�4���{�{�1�'����{�{�8�T�T�*����k�k�(�:���
�
�k�m�X�.�
�a��A������#�
�
�
������!7� 8�9�������-��!�H�
�
�
�������#rc�B�UR[R5 gr)�check_gc_during_creationrrfrs r�test_gc_during_ref_creation�.ReferencesTestCase.test_gc_during_ref_creationHs���%�%�g�k�k�2rc�B�UR[R5 gr)rrr�rs r�test_gc_during_proxy_creation�0ReferencesTestCase.test_gc_during_proxy_creationKs���%�%�g�m�m�4rc�v�[R"5n[R"SSS5 [R"5 "SS5nSnU"5nU"5nXflU"U5UlU"5n[R"XT5 [R"U6 g![R"U6 f=f)Nrec��\rSrSrSrg)�6ReferencesTestCase.check_gc_during_creation.<locals>.AiRrNr^rrrr�r&Rr�rr�c��grr)�argss rrg�=ReferencesTestCase.check_gc_during_creation.<locals>.callbackU���r)rm�
get_threshold�
set_thresholdrnr�r�rrf)rrB�
thresholdsr�rg�
referencedr�s       rr�+ReferencesTestCase.check_gc_during_creationNs����%�%�'�
�
����A�q�!�
�
�
��	�	�	��S�
�
�C�����z�"���	*���A��K�K�
�-�
���j�)��B���j�)�s�2B#�#B8c�0�"SS[5nU"5ng)Nc��\rSrSrSrSrg)�>ReferencesTestCase.test_ref_created_during_del.<locals>.Targetilc�0�[R"U5qgr)rrf�ref_from_delrs r�__del__�FReferencesTestCase.test_ref_created_during_del.<locals>.Target.__del__ms��&�{�{�4�0�rrN�rrrrr5rrrr�Targetr2ls��
1rr8)r�)rr8�ws   r�test_ref_created_during_del�.ReferencesTestCase.test_ref_created_during_delgs��
	1�V�	1�

�H�rc	��[R"[5nUR[UR
SSSSS5 [R"5 gr^)rrfr�r�r�r5rmrn)r�rs  r�	test_init�ReferencesTestCase.test_initss9��
�K�K�	�"�����)�Q�Z�Z��A�q�!�Q�?�
�
�
�rc��"SS[5n/n[R"[5 [R"XR5nSn[
R"5 URU"5S5 URX#/5 g)Nc��\rSrSrSrg)�*ReferencesTestCase.test_classes.<locals>.Ai~rNr^rrrr�rB~r�rr�)r�rrf�intr�rmrnr�)rr��lr�s    r�test_classes�ReferencesTestCase.test_classes{sa��	��	������C���K�K��8�8�$����
�
�
�������d�#�����C� rc���[S5n[S5n[S5n[R"U5n[R"U5n[R"U5n[R"U5nURXE:H5 UR	XE:g5 UR	XF:H5 URXF:g5 URXG:H5 UR	XG:g5 UR	XA:H5 URXA:g5 URU[
:H5 UR	U[
:g5 AAA[R"5 XEU4HnURU"5S5 M UR	XE:H5 URXE:g5 UR	XF:H5 URXF:g5 URXG:HXGL5 URXG:gXGL5 g)Nrer�)
r0rrfr�r�rrmrnr�r�)	rr%�y�zr��br�rr=s	         r�
test_equality� ReferencesTestCase.test_equality�s����1�I���1�I���1�I���K�K��N���K�K��N���K�K��N���K�K��N��	
����������� ������ ������������������ ������ �����������Y��'�����i��(�
�q�!�
�
�
���q��A��M�M�!�#�t�$��	
����� ������������ ��������������(��������,rc��[R[R[R[R/n[S5n[S5n[R"U5n[R"U5nUHnUR[XdU5 M AA[R"5 UHnUR[XdU5 M grd)r�lt�gt�le�ger0rrfr�r�rmrn)r�opsr%rHr�rJ�ops       r�
test_ordering� ReferencesTestCase.test_ordering�s����{�{�H�K�K����h�k�k�B���1�I���1�I���K�K��N���K�K��N���B����i���2��
�q�
�
�
���B����i���2�rc�|�[S5n[S5n[R"U5n[R"U5nUR[	U5[	S55 AA[
R"5 UR[	U5[	S55 UR[[U5 gr)	r0rrfr�rFrmrnr�r�)rr%rHr�rJs     r�test_hashing�ReferencesTestCase.test_hashing�s����2�J���2�J���K�K��N���K�K��N������a��$�r�(�+�
�q�
�
�
��	
����a��$�r�(�+����)�T�1�-rzrequires deep stackc��"SS5n[R"5nU"S5=p4[S5HnU"U5=X$'nM A[R"5 g)Nc��\rSrSrSrSrg)�1ReferencesTestCase.test_trashcan_16602.<locals>.Ci�c�^�U(dg[R"U5mU4Sjn[R"X5Ulg)Nc�>�T"5ngrr)�wparentr��wselfs  �rr��FReferencesTestCase.test_trashcan_16602.<locals>.C.__init__.<locals>.cb�s
�����Ar)rrfr^)r�parentr�r_s   @rr5�:ReferencesTestCase.test_trashcan_16602.<locals>.C.__init__�s,��������D�)�� �&�{�{�6�6��r)r^NrYrrrrr[�s��
7rr�d)r�WeakKeyDictionaryr�rmrn)rrr�rootr��ns      r�test_trashcan_16602�&ReferencesTestCase.test_trashcan_16602�sQ��	7�	7�
�%�%�'���T�7����s��A���t�O�A�D�1���
�
�
�rc���[S5nSn[R"X5nURURU5 [R"U5nURUR5 g)Nrec��grrr�s rr��<ReferencesTestCase.test_callback_attribute.<locals>.<lambda>����tr)r0rrfr��__callback__r�)rr%rgr�r�s     r�test_callback_attribute�*ReferencesTestCase.test_callback_attribute�sS���1�I��#���{�{�1�'���
�
�d�'�'��2��{�{�1�~�����$�+�+�,rc���[S5n[R"XR5nUR	UR
5 A[R"5 URUR
5 grd)	r0rrfrgr�rmrrr�)rr%rfs   r�&test_callback_attribute_after_deletion�9ReferencesTestCase.test_callback_attribute_after_deletion�sT���1�I���k�k�!�]�]�+�����S�-�-�.�
��������#�*�*�+rc��[S5nSn[R"X5nUR[5 SUlSSS5 g!,(df   g=f)Nrec��grrr�s rr��@ReferencesTestCase.test_set_callback_attribute.<locals>.<lambda>�rlrc��grrr�s rr�ru�s��Dr)r0rrfr��AttributeErrorrm)rr%rgr�s    r�test_set_callback_attribute�.ReferencesTestCase.test_set_callback_attribute�s@���1�I��#���{�{�1�'��
�
�
�~�
.� 0�D��/�
.�
.�s�	A�
Ac��"SS[5nU"S5n[R"US5nA[R"5 g)Nc��\rSrSrSrSrg)�;ReferencesTestCase.test_callback_gcs.<locals>.ObjectWithDeli�c��grrrs rr5�CReferencesTestCase.test_callback_gcs.<locals>.ObjectWithDel.__del__�rlrrNr7rrr�
ObjectWithDelr|�s��#rrrec�,�[R"5$r)rrr�s rr��6ReferencesTestCase.test_callback_gcs.<locals>.<lambda>�s
��'�*<�*<�*>r)r0rrfrr)rrr%r�s    r�test_callback_gcs�$ReferencesTestCase.test_callback_gcs�s8��	$�F�	$��!����{�{�1�>�?��
����rc���[R"S5R5n[R"SU5up#UR
R
SS5nURUS5 g)Na�
        import _testcapi
        import weakref

        class TestObj:
            pass

        def callback(obj):
            pass

        obj = TestObj()
        # The choice of 50 is arbitrary, but must be large enough to ensure
        # the allocation won't be serviced by the free list.
        wrs = [weakref.ref(obj, callback) for _ in range(50)]
        _testcapi.set_nomemory(0)
        del obj
        �-c�ascii�backslashreplacez*_Py_Dealloc: Deallocator of type 'TestObj')�textwrap�dedent�stripr�run_python_until_end�err�decode�assertNotRegex)r�code�res�_�stderrs     r�test_no_memory_when_clearing�/ReferencesTestCase.test_no_memory_when_clearings_����� �
� �U�W�!	
�"�3�3�D�$�?���������);�<�����F�$P�Qr)r`rfN)Drrrrr�r�cpython_onlyr�r�r�r�r�r�r�r�r�r~r�r�r�r�r	rr&r8r<r?r;rHr�rYrbrmr}r�r�r�r�r�r�r�r�rr�r�r�rrrr"rr:r>rErKrTrW�unittest�skipIfr
rrgrnrqrxr�r�rrrrr{r{js����
���,��,�>	4�7�

���	4��	4�	F��$D�+�$
���
B��
B�F�	L�M�.M�+�8	C�0�
 �
!�.8�:�H�$4�*L�*	&�@��(
3�
�G�%� K�,<�4'�9�2&�P��&� �&�P�0�8��,$� �,$�\$$�L3�5�*�2
����
!� �
!�#-�J
3�
.��_�_�W�)��+@�A��B��*-�,�1��
���R��Rrr{c�2�\rSrSrSrSrSrSrSrSr	g)	�SubclassableWeakrefTestCaseic�n�"SS[R5n[S5nU"USS9nURU"5U5 UR	UR
5 UR
URS5 A[5 URU"55 UR	UR
5 g)Nc�8^�\rSrSrSU4SjjrU4SjrSrU=r$)�=SubclassableWeakrefTestCase.test_subclass_refs.<locals>.MyRefic�0>�X0l[TU]	X5 gr)r�superr5)r�obrgr�	__class__s    �rr5�FSubclassableWeakrefTestCase.test_subclass_refs.<locals>.MyRef.__init__s���"�
��� ��.rc�.>�SUl[TU]	5$�NT)�calledr�r&)rr�s �rr&�FSubclassableWeakrefTestCase.test_subclass_refs.<locals>.MyRef.__call__"s���"����w�'�)�)r)r�rr)rrrrr5r&r�
__classcell__)r�s@r�MyRefr�s���
/�
*�
*rr�rK��r)
rrfr0r�r�r�r�rrr�)rr�r��mrs    r�test_subclass_refs�.SubclassableWeakrefTestCase.test_subclass_refss���	*�G�K�K�	*�
�5�M��
�1�B�
���
�
�b�d�A������	�	�"�������2�&�
������"�$������	�	�"rc�z�"SS[R5n[S5nU"U5n[R"U5nURX45 UR	[R
"U5XC/5 UR	[R"U5S5 U"U5nUR	[R"U5S5 [R
"U5nUR	[U5S5 URXFS5 URX6SS5 URXVSS5 g)Nc��\rSrSrSrg)�XSubclassableWeakrefTestCase.test_subclass_refs_dont_replace_standard_refs.<locals>.MyRefi0rNr^rrrr�r�0r�rr�rr�r�rre)
rrfr0�assertIsNotr�r�r�r�r�r�)rr�r��r1�r2�r3�refss       r�-test_subclass_refs_dont_replace_standard_refs�ISubclassableWeakrefTestCase.test_subclass_refs_dont_replace_standard_refs/s���	�G�K�K�	��2�J��
�1�X��
�[�[��^������ �����,�,�Q�/�"��:�����0�0��3�Q�7�
�1�X������0�0��3�Q�7��"�"�1�%������T��A�&��
�
�b�q�'�"��
�
�b�q�r�(�#��
�
�b�q�r�(�#rc��"SS[R5n[S5nU"U[5nU"U[5nURX45 [R"U5nURX55 URXE5 g)Nc��\rSrSrSrg)�USubclassableWeakrefTestCase.test_subclass_refs_dont_conflate_callbacks.<locals>.MyRefiArNr^rrrr�r�Ar�rr�r)rrfr0�idr�r�r�r�)rr�r�r�r�r�s      r�*test_subclass_refs_dont_conflate_callbacks�FSubclassableWeakrefTestCase.test_subclass_refs_dont_conflate_callbacks@sg��	�G�K�K�	��2�J��
�1�b�\��
�1�c�]������ ��"�"�1�%���
�
�b���
�
�b�rc�H�"SS[R5n[S5nU"USSS5nURURS5 URUR
S5 URUR
5S5 UR[US55 g)Nc�*�\rSrSrSrSrSrSrSrg)�HSubclassableWeakrefTestCase.test_subclass_refs_with_slots.<locals>.MyRefiL��slot1�slot2c�B�[RRXU5$r)rrf�__new__)rFr�rgr�r�s     rr��PSubclassableWeakrefTestCase.test_subclass_refs_with_slots.<locals>.MyRef.__new__Ns���{�{�*�*�4�X�>�>rc��X0lX@lgrr�)rr�rgr�r�s     rr5�QSubclassableWeakrefTestCase.test_subclass_refs_with_slots.<locals>.MyRef.__init__Ps��"�
�"�
rc�4�URUR-$rr�rs r�meth�MSubclassableWeakrefTestCase.test_subclass_refs_with_slots.<locals>.MyRef.methSs���z�z�D�J�J�.�.rN)	rrrr�	__slots__r�r5r�rrrrr�r�Ls��(�I�
?�
#�
/rr�r�abc�def�abcdef�__dict__)	rrfr0r�r�r�r�r�rL)rr�r�r=s    r�test_subclass_refs_with_slots�9SubclassableWeakrefTestCase.test_subclass_refs_with_slotsKs���	/�G�K�K�	/�
�2�J���!�T�5�%�(��������%�(�������%�(��������8�,������J�/�0rc�:^�"SS[R5nU4Sjn[5nU"X25nX4lAATR	TR
S5 [5nU"X25nU"X25nXTlX5lAAATR	TR
S5 g)Nc��\rSrSrSrg)�HSubclassableWeakrefTestCase.test_subclass_refs_with_cycle.<locals>.MyReficrNr^rrrr�r�cr�rr�c�0>�T=RS-
slgrdr_)r9rs �rrg�KSubclassableWeakrefTestCase.test_subclass_refs_with_cycle.<locals>.callbackhs����M�M�Q��Mrr)rrfrr�r�r`r=)rr�rgr�r�r�s`     r�test_subclass_refs_with_cycle�9SubclassableWeakrefTestCase.test_subclass_refs_with_cycle\s����	�G�K�K�	�
	�
�C��
�1�
����
���������*�
�C��
�1�
��
�1�
������
����������*rrN)
rrrrr�r�r�r�r�rrrrr�r�s��#�$$�"	 �1�"$+rr�c�h�\rSrSrSrSrSrSrSrSr	\
RS5rS	r
S
rSrg)
�WeakMethodTestCasei�c�$�"SS[5nU$)Nc��\rSrSrSrSrg)�'WeakMethodTestCase._subclass.<locals>.Ci�c��g)Nrprrs rrK�3WeakMethodTestCase._subclass.<locals>.C.some_method�r�rrN)rrrrrKrrrrrr��s��
rr)r0)rrs  r�	_subclass�WeakMethodTestCase._subclass�s��	��	��rc���[S5n[R"UR5nUR	U[R
5 UR	U"5[
UR55 URU"5RU5 URU"5RURR5 URU"5"5S5 g)NrerJ)r0r�
WeakMethodrK�assertIsInstance�
ReferenceTyperFr��__self__�__func__r��rr�r=s   r�
test_alive�WeakMethodTestCase.test_alive�s����1�I�����q�}�}�-�����a��!6�!6�7����a�c�4��
�
�#6�7��
�
�a�c�l�l�A�&��
�
�a�c�l�l�A�M�M�$:�$:�;��������"rc��[S5n[R"UR5nA[R
"5 UR
U"5S5 grd)r0rr�rKrmrnr�r�s   r�test_object_dead�#WeakMethodTestCase.test_object_dead�s;���1�I�����q�}�}�-��
�
�
�
���
�
�a�c�4� rc���UR5nU"S5n[R"UR5nU?[R
"5 UR
U"5S5 grd)r�rr�rKrmrnr�)rrr�r=s    r�test_method_dead�#WeakMethodTestCase.test_method_dead�sI���N�N���
�a�D�����q�}�}�-��
�M�
�
�
���
�
�a�c�4� rc�T^�UR5n/mU4SjnU"S5n[R"URU5nA[R
"5 UR
TU/5 [RUl[R
"5 UR
TU/5 g)Nc�(>�TRU5 grr
�r4�callss �rr��=WeakMethodTestCase.test_callback_when_object_dead.<locals>.cb������L�L��rre)r�rr�rKrmrnr�r0�rrr�r�r=r�s     @r�test_callback_when_object_dead�1WeakMethodTestCase.test_callback_when_object_dead�s~����N�N�����	�
�a�D�����q�}�}�b�1��
�
�
�
��������$��*�*��
�
�
�
��������$rc�.^�UR5n/mU4SjnU"S5n[R"URU5nU?[R
"5 UR
TU/5 A[R
"5 UR
TU/5 g)Nc�(>�TRU5 grr
r�s �rr��=WeakMethodTestCase.test_callback_when_method_dead.<locals>.cb�r�rre)r�rr�rKrmrnr�r�s     @r�test_callback_when_method_dead�1WeakMethodTestCase.test_callback_when_method_dead�sv����N�N�����	�
�a�D�����q�}�}�b�1��
�M�
�
�
��������$�
�
�
�
��������$rc��[S5nSn[R"URU5n[R"U5nAURU"5S5 g)Nrec��grr)r�s rr��-WeakMethodTestCase.test_no_cycles.<locals>.cb�r*r)r0rr�rKrfr�)rr�r�r=r�s     r�test_no_cycles�!WeakMethodTestCase.test_no_cycles�sH��
�1�I��	����q�}�}�b�1��
�[�[��^��
��
�
�b�d�D�!rc�p^�U4SjnU4Sjn[S5n[S5n[R"UR5n[R"UR5n[R"UR5n[R"UR5nU"XV5 U"Xx5 U"XW5 U"XX5 U"Xg5 U"Xh5 [S5n	[R"U	R5n
[R"U	R5nU"XZ5 U"X[5 U"Xj5 U"Xk5 U"XSR5 U"U[
5 AAA	[R"5 XVXxX�4nUH6n
UH-nTRX�:HX�L5 TRX�:gX�L5 M/ M8 g)Nc�R>�TRX:H5 TRX:g5 gr�r�r��r�rJrs  �r�_eq�-WeakMethodTestCase.test_equality.<locals>._eq��!����O�O�A�F�#����Q�V�$rc�R>�TRX:g5 TRX:H5 grrrs  �r�_ne�-WeakMethodTestCase.test_equality.<locals>._ne�r
rrer�)	r0rr�rKrPrrmrnr�)rrrr%rHr�rJr�rrI�er*r��qr=s`              rrK� WeakMethodTestCase.test_equality�sV���	%�	%�
�1�I���1�I�����q�}�}�-�����q�}�}�-�����q�~�~�.�����q�~�~�.���A�	��A�	��A�	��A�	��A�	��A�	��1�I�����q�}�}�-�����q�~�~�.���A�	��A�	��A�	��A�	��A�}�}���A�y��
�q�!�
�
�
���Q�1����A���� � �����0�� � �����4��rc��[S5n[S5n[R"UR5n[R"UR5n[R"UR5nUR[
U5[
U55 [
U5nAA[R"5 UR[
U5U5 UR[
U5U5 UR[[U5 grd)r0rr�rKrPr�rFrmrnr�r�)rr%rHr�rJr��has       rrW�WeakMethodTestCase.test_hashing�s���
�1�I���1�I�����q�}�}�-�����q�}�}�-�����q�~�~�.������a��$�q�'�*�
�!�W��
�q�
�
�
������a��"�%�����a��"�%����)�T�1�-rrN)rrrrr�r�r�r�r�r�rr�rrKrWrrrrr�r��sE���#�!�!�%� %� 
���"��"�'5�R.rr�c�B�\rSrSrSr\R"SS9(a\R(aSrOSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0\1Rd"5S/5r3\1Rd"5S05r4\1Rd"5S15r5\RlS25r7S3r8\1Rd"5S45r9\1Rd"5\Rt"S55S655r;\1Rd"5S75r<\1Rd"5\Rt"S55S855r=\RlS95r>S:r?g;)<�MappingTestCaseir�T)�threadi�i��c�^�Sn[U5Vs/sH
n[5PM nnU"U4SjU55nUR5n[U5 A[
R"5 [U5nA[
R"5 [U5n	URUS5 URU	S5 gs snf![a Nxf=f)N�c3�4># �UH
nT"U5v� M g7frr��.0r��conss  �r�	<genexpr>�3MappingTestCase.check_len_cycles.<locals>.<genexpr>s����/��A��Q������)rrer)
r�rS�items�next�
StopIterationrmrnr�r�r�)
r�	dict_typer�Nr�r �dctry�n1�n2s
  `       r�check_len_cycles� MappingTestCase.check_len_cycless������%*�1�X�.�X����X��.��/��/�/��
�Y�Y�[��	���H�
�
�
�
��
��X���
�
�
��
��X���
�
�b�&�!�����Q���!/���	��	�s�B<�
C�
C�
Cc�F�UR[RS5 g)Nc�
�US4$rdr�r�s rr��<MappingTestCase.test_weak_keyed_len_cycles.<locals>.<lambda>+���A�q�6r)r(rrdrs r�test_weak_keyed_len_cycles�*MappingTestCase.test_weak_keyed_len_cycles*s�����g�7�7�9I�Jrc�F�UR[RS5 g)Nc�
�SU4$rdrr,s rr��=MappingTestCase.test_weak_valued_len_cycles.<locals>.<lambda>.s��a��Vr)r(r�WeakValueDictionaryrs r�test_weak_valued_len_cycles�+MappingTestCase.test_weak_valued_len_cycles-s�����g�9�9�;K�Lrc�z^�UR"[R/[R"5Q76 [	SS5H�nSn[R
"S5 [R"X3U5 [	U5Vs/sH
n[
5PM nnU"U4SjU55nAUR5n[U5 [U5n	A[U5n
URU	S5 URX�5 URU
S5 URX�5 M� gs snf![a Nsf=f)Nrercrrc3�4># �UH
nT"U5v� M g7frrrs  �rr�1MappingTestCase.check_len_race.<locals>.<genexpr>8s����3�U��D��G�G�U�r)
�
addCleanuprmr,r+r�rnrSr r!r"r��assertGreaterEqual�assertLessEqual)rr#r�thr$r�r r%ryr&r's  `        r�check_len_race�MappingTestCase.check_len_race0s�������(�(�>�2�+;�+;�+=�>���3�-�B��A��J�J�q�M����R�R�(�).�q��2��A�X�Z��E�2��3�U�3�3�C������B�
��R���S��B���S��B��#�#�B��*�� � ��'��#�#�B��*�� � ��(�' ��3��!�
��
�s�D(�;D-�-
D:�9D:c�F�UR[RS5 g)Nc�
�US4$rdrr,s rr��:MappingTestCase.test_weak_keyed_len_race.<locals>.<lambda>Is��!�Q�r)r>rrdrs r�test_weak_keyed_len_race�(MappingTestCase.test_weak_keyed_len_raceHs�����G�5�5�7G�Hrc�F�UR[RS5 g)Nc�
�SU4$rdrr,s rr��;MappingTestCase.test_weak_valued_len_race.<locals>.<lambda>Lr.r)r>rr4rs r�test_weak_valued_len_race�)MappingTestCase.test_weak_valued_len_raceKs�����G�7�7�9I�Jrc��UR5upUHHnUR[R"U5S5 UR	X1UR
S5 MJ [
UR55n[
UR5R55nUR5 UR5 URXES5 AAUR[U5UR5 US	[5 UR[U5URS-
S5 AA[5 UR[U5SS5 [R"5nUR[UR S5 [#5US'[5 UR[UR S5 g)Nre�#wrong object returned by weak dict!z/cloning of weak-valued dictionary did not work!r�/deleting object did not cause dictionary updatez0deleting the values did not clear the dictionaryr�)�make_weak_valued_dictr�rr�r�r4r`r �copy�sortr��COUNTrr4r��KeyError�__getitem__r�rr��objectsr��items1�items2s      r�test_weak_values� MappingTestCase.test_weak_valuesNsc���2�2�4�
���A����W�4�4�Q�7��;��M�M�!�!�%�%�[�>�
@���d�j�j�l�#���d�i�i�k�'�'�)�*�����
����
�����F�	H��F�����T��D�J�J�/��A�J�������T��D�J�J��N�F�	H��Q�������T��A�G�	I��*�*�,�����(�D�$4�$4�a�8��#��Q�������(�D�$4�$4�a�8rc���UR5upUHLnUR[R"U5SSU-5 UR	UR
XS5 MN UR
5nUR5R
5nUR[U5[U5S5 AAUR[U5UR5 US	[5 UR[U5URS-
S5 AA[5 UR[U5SS5 [S5nS	X'URX15 URS
U5 g)Nrez&wrong number of weak references to %r!rKz.cloning of weak-keyed dictionary did not work!rrLz.deleting the keys did not clear the dictionaryrz$What is the meaning of the universe?r )�make_weak_keyed_dictr�rr�r�r4r rN�setr�rPrr0r��assertNotInrSs      r�test_weak_keys�MappingTestCase.test_weak_keysns8��
�1�1�3�
���A����W�4�4�Q�7��A�A�E�
G��M�M�!�%�%���>�
@��
���������"�"�$������V��c�&�k�E�	G��F�����T��D�J�J�/��A�J�������T��T�Z�Z�!�^�F�	H��Q�������T��A�E�	G��2�J��8����
�
�a������T�"rc�`�UR5upURU5 UR5nUR[	U5[	U55 [U5nUH[nU"5nUR
Xa5 UR
Xa5 URURX5 URU5 M] UR[	U5S5 [U5nUR[	[UR555[	U55 UR5H[nU"5nUR
Xa5 UR
Xa5 URURX5 URU5 M] UR[	U5S5 gr^)	rZ�check_iters�keyrefsr�r�r`r�r4r��rr�rTr��objects2r�r�s       r�test_weak_keyed_iters�%MappingTestCase.test_weak_keyed_iters�sE���1�1�3�
��������|�|�~������T��C��L�1���=���B���B��M�M�"�#��M�M�"�#����R�V�V�T�X�.��O�O�B���	
����X���*���=������T�$�,�,�.�1�2�C��L�A��,�,�.�B���B��M�M�"�#��M�M�"�#����R�V�V�T�X�.��O�O�B��!�	
����X���*rc��UR5upURU5 UR5nUR[	U5[	U55 [U5nUHknU"5nURXaUR5 URURXRR5 URU5 Mm UR[	U5S5 [U5nUR[	[UR555[	U55 UR5HknU"5nURXaUR5 URURXRR5 URU5 Mm UR[	U5S5 gr^)	rMr`�	valuerefsr�r�r`r4r��
itervaluerefsrbs       r�test_weak_valued_iters�&MappingTestCase.test_weak_valued_iters�s\���2�2�4�
��������~�~�������T��C��L�1���=���B���B����R�b�f�f��.����R�V�V�T�&�&�\�%5�%5�6��O�O�B��	�
	
����X���*���=������T�$�"4�"4�"6�7�8�#�g�,�G��$�$�&�B���B����R�b�f�f��.����R�V�V�T�&�&�\�%5�%5�6��O�O�B��	'�
	
����X���*rc��[UR55nUR5HnURU5 M URUS5 [UR	55nUHnURU5 M URUS5 [UR	55nUR	5HnURU5 M URUS5 [UR55nUR5HnURU5 M URUS5 g)Nzitems() did not touch all itemsz!__iter__() did not touch all keysz!iterkeys() did not touch all keysz%itervalues() did not touch all values)r`r r�r��keys�values)rr�r �itemrlr�rm�vs        rr`�MappingTestCase.check_iters�s����T�Z�Z�\�"���J�J�L�D��L�L���!����� A�B��D�I�I�K� ���A��K�K��N������B�C��D�I�I�K� ������A��K�K��N������B�C��d�k�k�m�$������A��M�M�!�������<�	>rc�F�[U5n[[X5"55n[U5 US	[R
"5 UR
[[U55[U5[U5S-
/5 AUR[U5US-
5 g)N���re)	r�r��getattrr!rmrnr�r`r�)rr�rT�	iter_namerfrys      r�"check_weak_destroy_while_iterating�2MappingTestCase.check_weak_destroy_while_iterating�sw����I��
�'�$�*�,�
-���R���B�K�
�
�
���
�
�c�$�r�(�m�c�'�l�C��L�1�4D�%E�F������T��A��E�*rc��U"5up4URX15 SSS5 U"5up4UR[URU5 SSS5 URWU5 U"5up4UR[URU5 SSS5 URX15 U"5up4XAU'SSS5 URXW5 [R"U5nU"5up4URU5 SSS5 URX5 U"5up4UR5 SSS5 UR[U5S5 g!,(df   GNJ=f!,(df   GN)=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N�=fr^)
r\r�rQrU�popr�rN�update�clearr�)rr��testcontextr�ro�ddicts      r�-check_weak_destroy_and_mutate_while_iterating�=MappingTestCase.check_weak_destroy_and_mutate_while_iterating�s=���]�f�q����Q�%��
�]�f�q����h��(8�(8�!�<������D�!�
�]�f�q����h����!�4������!�
�]�f�q���G�������!�$��	�	�$���
�]�f�q��K�K��������%�
�]�f�q��J�J�L������T��A�&�#�]��
�]���]���]���]���]�sF�E�$E1�0$F�4F�4F%�(F6�
E.�1
F�
F�
F"�%
F3�6
Gc��[S5nU"5 [U5nUR[UR	555 UR[U5US-
5 X1U'UR[U5U5 SSS5 U"5 UR[U5WS-
5 UR
5 UR[U5US-
5 SSS5 U"5 UR[U5WS-
5 U[UR	55	UR[U5US-
5 SSS5 U"5 UR[U5WS-
5 UR
5 UR[U5US-
5 SSS5 U"5 UR5 UR[U5S5 SSS5 UR[U5S5 g!,(df   GN�=f!,(df   GN:=f!,(df   N�=f!,(df   N�=f!,(df   Np=f)	Ni@�rer�r�rJrOrpr)r0r�rxr!rlr��popitemrz)rr�r{r�rfs     r�&check_weak_del_and_len_while_iterating�6MappingTestCase.check_weak_del_and_len_while_iteratings���
�6�N��
�]��D�	�A��H�H�T�$�)�)�+�&�'����S��Y��A��.���G����S��Y��*�
��]����S��Y��A��.��L�L�N����S��Y��A��.�	�
�]����S��Y��A��.��T�$�)�)�+�&�'����S��Y��A��.���]����S��Y��A��.��L�L�N����S��Y��A��.���]��J�J�L����S��Y��*��	
����T��A�&�1�]���]��
�]���]���]�s?�A1H�A
H�/AH%�A
H6�1,I�
H�
H"�%
H3�6
I�
Ic�^^�UR5ummURTTS5 URTTS5 URTTS5 URTTS5 UR5umm[RUU4Sj5nUR	TU5 UR5ummURTU5 g)Nrlr rmrac3�:># �[TR55n[U5 TR5Rn[
R"5 [U5U4v� Sn[
R"5 g!Sn[
R"5 f=f7fr�r�r r!rxr4rmrnr0)ryror�rTs  ��rr{�KMappingTestCase.test_weak_keys_destroy_while_iterating.<locals>.testcontext)si����	
��$�*�*�,�'���R���K�K�M�%�%���
�
���Q�i��l�"����
�
������
�
����B�A"A?�'B�?B�B)rZru�
contextlib�contextmanagerr}r��rr{r�rTs  @@r�&test_weak_keys_destroy_while_iterating�6MappingTestCase.test_weak_keys_destroy_while_iterating!s�����1�1�3�
��g��/�/��g�v�F��/�/��g�w�G��/�/��g�x�H��/�/��g�y�I��1�1�3�
��g�	�	"�	"�
	�
#�
	�	
�:�:�4��M��1�1�3�
��g��3�3�D�+�Frc�^^�UR5ummURTTS5 URTTS5 URTTS5 URTTS5 URTTS5 UR5umm[RUU4Sj5nUR	TU5 UR5ummURTU5 g)Nrlr rmrhrgc3�:># �[TR55n[U5 TR5Rn[
R"5 U[U54v� Sn[
R"5 g!Sn[
R"5 f=f7frr�)ryr�r�rTs  ��rr{�MMappingTestCase.test_weak_values_destroy_while_iterating.<locals>.testcontextDsi����	
��$�*�*�,�'���R���K�K�M�%�%���
�
������l�"����
�
������
�
��r�)rMrur�r�r}r�r�s  @@r�(test_weak_values_destroy_while_iterating�8MappingTestCase.test_weak_values_destroy_while_iterating;s�����2�2�4�
��g��/�/��g�v�F��/�/��g�w�G��/�/��g�x�H��/�/��g��O��/�/��g�{�K��2�2�4�
��g�	�	"�	"�
	�
#�
	�	
�:�:�4��M��2�2�4�
��g��3�3�D�+�Frc�r�[S5n[R"US05nURX!S5 g�Nr�il�r0rrdr��rr�r�s   r�#test_make_weak_keyed_dict_from_dict�3MappingTestCase.test_make_weak_keyed_dict_from_dictTs1���1�I���(�(�!�C��1�������#�&rc��[S5n[R"US05n[R"U5nURX!S5 gr�r��rr�r��dict2s    r�.test_make_weak_keyed_dict_from_weak_keyed_dict�>MappingTestCase.test_make_weak_keyed_dict_from_weak_keyed_dictYsA���1�I���(�(�!�C��1���)�)�$�/�������#�&rc��[R"5n[[[[UR555nUHnURX'M X4$r)rrdr`�mapr0r�rPr4�rr�rTr�s    rrZ�$MappingTestCase.make_weak_keyed_dict_sG���(�(�*���s�6�5����#4�5�6���A��e�e�D�G���}�rc�t�[S5n[R"SU05nURUSU5 gr��r0rr4r�r�s   r�$test_make_weak_valued_dict_from_dict�4MappingTestCase.test_make_weak_valued_dict_from_dictfs3���1�I���*�*�C��7�3������c��A�&rc��[S5n[R"SU05n[R"U5nURUSU5 gr�r�r�s    r�0test_make_weak_valued_dict_from_weak_valued_dict�@MappingTestCase.test_make_weak_valued_dict_from_weak_valued_dictksC���1�I���*�*�C��7�3���+�+�D�1������c��A�&rc���UR[[RR5 UR[[R005 UR[[RSS5 [S5nSHXn[R"S0X!0D6nUR
[UR55U/5 UR
X2U5 MZ g)Nrr��rr�r?�iterable)	r�r�rr4r5r0r�r`rl)rr��kwrs    r�test_make_weak_valued_dict_misc�/MappingTestCase.test_make_weak_valued_dict_miscqs������)�W�%@�%@�%I�%I�J����)�W�%@�%@�"�b�I����)�W�%@�%@�"�b�I��1�I��5�B��+�+�6�r�g�6�A����T�!�&�&�(�^�b�T�2����Q�U�A�&�6rc��[R"5n[[[[UR555nUHnX1UR'M X4$r)rr4r`r�r0r�rPr4r�s    rrM�%MappingTestCase.make_weak_valued_dict}sG���*�*�,���s�6�5����#4�5�6���A�����K���}�rc��U"5nX6U'XVU'UR[U5S5 UR5upxUR[U5S5 XrLaURX�5 OURX�5 UR5upxUR[U5S5 XrLaURX�5 gURX�5 g)Nr�rer)r�r�r�r�)	r�klass�key1�value1�key2�value2�weakdictr�ros	         r�
check_popitem�MappingTestCase.check_popitem�s����7������������X���*����!�������X���*��9��M�M�!�$��M�M�!�$����!�������X���*��9��M�M�!�$��M�M�!�$rc�j�UR[RS[5S[55 g)Nr�r�)r�rr4rrs r�test_weak_valued_dict_popitem�-MappingTestCase.test_weak_valued_dict_popitem�s%�����7�6�6�!�1�3����	5rc�j�UR[R[5S[5S5 g�Nzvalue 1zvalue 2)r�rrdrrs r�test_weak_keyed_dict_popitem�,MappingTestCase.test_weak_keyed_dict_popitem�s%�����7�4�4��3�	�1�3�	�	;rc���URX4S5 U"5nURX#5nURXc5 URX%5 URUR	U5U5 URXRU5 URX$5nURXc5 URX%5 URUR	U5U5 URXRU5 g)Nz9invalid test -- value parameters must be distinct objects)r��
setdefaultr�r��get)rr��keyr�r�r�r�s       r�check_setdefault� MappingTestCase.check_setdefault�s�������E�	F��7������,���
�
�a� ��
�
�c�$��
�
�h�l�l�3�'��0��
�
�h�m�V�,�����,���
�
�a� ��
�
�c�$��
�
�h�l�l�3�'��0��
�
�h�m�V�,rc�h�UR[RS[5[55 g)Nr�)r�rr4rrs r� test_weak_valued_dict_setdefault�0MappingTestCase.test_weak_valued_dict_setdefault�s#�����g�9�9�#�Q�S�!�#�	/rc�X�UR[R[5SS5 gr�)r�rrdrrs r�test_weak_keyed_dict_setdefault�/MappingTestCase.test_weak_keyed_dict_setdefault�s!�����g�7�7��c�9�i�	9rc��U"5nURU5 UR[U5[U55 UR5HZnUR	XBS5 URU5nUR
XSU5 UR
XSRU55 M\ UR5HMnUR	XCS5 X$nUR
XSU5 UR
XSRU55 MO g)Nz(mysterious new key appeared in weak dictz%original key disappeared in weak dict)ryr�r�rlr�r�r�)rr�r�r�r�ros      r�check_update�MappingTestCase.check_update�s���
�7�����������X���D�	�2�����A��M�M�!�#M�N������A��M�M�!�a�[�)��M�M�!�\�\�!�_�-�	!�
����A��M�M�!�'N�O���A��M�M�!�a�[�)��M�M�!�\�\�!�_�-�	rc
���UR[RS[5S[5[5[505 UR	[
[RR5 [R"5nUR	[
UR005 UR	[
URSS5 UR[UR55/5 [S5nSHin[R"5nUR"S0X20D6 UR[UR55U/5 URXU5 Mk g)Nrer�rr�r�)r�rr4rr�r�ryr�r`rlr0)rrr�r�s    r�test_weak_valued_dict_update�,MappingTestCase.test_weak_valued_dict_update�s�����'�5�5��a�c�3���Q�S�!�#�6�	8�	
���)�W�%@�%@�%G�%G�H��'�'�)�����)�Q�X�X�r�2�6����)�Q�X�X�r�2�6�����a�f�f�h���,��1�I��5�B��+�+�-�A�
�H�H���w�����T�!�&�&�(�^�b�T�2����Q�U�A�&�	6rc��[5n[5n[5n[R"SU05n[R"X!S.5nUR5nX2S.nSU4SU4/nXE-n	UR	[U	5[U5[U5-5 UR
[U	5[R5 XE-nUR	XI5 XW-n
UR	[U
5[U5U-5 UR
[U
5[R5 XW-nUR	XZ5 UR5nX�-nUR	[U5[U5[U5-5 UR
[U5[R5 Xv-nUR	[U5U[U5-5 UR
[U5[R5 AURSU	5 URSU
5 URSU5 URSU5 g)Nre�rer�)rer�rOrpr�)	rrr4rNr�r�r�rFr\)
rr�rJr��wvd1�wvd2�wvd3�d1�pairs�tmp1�tmp2�tmp3�tmp4s
             r� test_weak_valued_union_operators�0MappingTestCase.test_weak_valued_union_operators�s���
�C��
�C��
�C���*�*�A�q�6�2���*�*�q�<�8���y�y�{���\���Q��!�Q�� ���{������d��T�$�Z�$�t�*�%<�=��
�
�d�4�j�'�"=�"=�>��������$��y������d��T�$�Z�"�_�5��
�
�d�4�j�'�"=�"=�>��
������$��y�y�{���
������d��T�$�Z�$�u�+�%=�>��
�
�d�4�j�'�"=�"=�>��y������d��R�$�t�*�_�5��
�
�d�4�j�'�"=�"=�>�
�����D�!�����D�!�����D�!�����D�!rc	��UR[R[5S[5S[5S05 g)Nrer�r�)r�rrdrrs r�test_weak_keyed_dict_update�+MappingTestCase.test_weak_keyed_dict_updates.�����'�3�3��3��1�3��1�3��2�	4rc�.�[R"5n[S5n[S5nSX'SX'UR[	U5S5 X	UR[	U5S5 UR[UR
55U/5 g)N�1�2�	somethingr�re)rrdr0r�r�r`rl�rr�o1r�s    r�test_weak_keyed_delitem�'MappingTestCase.test_weak_keyed_delitemsy���%�%�'��
�C�[��
�C�[������������Q���#�
�E�����Q���#�����a�f�f�h��"��.rc��[5n[5n[5n[R"USUS05n[R"USUS05nUR5nUSUS0nUS4US4/nXE-n	UR	[U	5[U5[U5-5 UR
[U	5[R5 XE-nUR	XI5 XW-n
UR	[U
5[U5U-5 UR
[U
5[R5 XW-nUR	XZ5 UR5nX�-nUR	[U5[U5[U5-5 UR
[U5[R5 Xv-nUR	[U5U[U5-5 UR
[U5[R5 AURSU	R55 URSU
R55 URSUR55 URSUR55 g)	Nrer�r�rJ�5�6��)
rrrdrNr�r�r�rFr\rm)
rr�r��o3�wkd1�wkd2�wkd3r�r�r�r�r�r�s
             r�test_weak_keyed_union_operators�/MappingTestCase.test_weak_keyed_union_operatorss���
�S��
�S��
�S���(�(�"�a��Q��8���(�(�"�a��Q��8���y�y�{���#�r�3�
���a��2�q�'�"���{������d��T�$�Z�$�t�*�%<�=��
�
�d�4�j�'�";�";�<��������$��y������d��T�$�Z�"�_�5��
�
�d�4�j�'�";�";�<��
������$��y�y�{���
������d��T�$�Z�$�u�+�%=�>��
�
�d�4�j�'�";�";�<��y������d��R�$�t�*�_�5��
�
�d�4�j�'�";�";�<������D�K�K�M�*�����D�K�K�M�*�����D�K�K�M�*�����D�K�K�M�*rc�4�[R"5n[S5n[S5nX!S'X1S'UR[	U5S5 US	UR[	U5S5 UR[UR
55SU4/5 g)Nr�r�r�zsomething elser�re)rr4r0r�r�r`r r�s    r�test_weak_valued_delitem�(MappingTestCase.test_weak_valued_delitem4s����'�'�)��
�C�[��
�C�[���+�� �
������Q���#�
�k�N�����Q���#�����a�g�g�i��,<�b�+A�*B�Crc��[R"5n[S5nUR[UR
U5 UR[URU5 UR[UR
S5 UR[URS5 UR[URSS5 g)Nr��
)	rrdr0r�rQrUrRr��__setitem__)rrr�s   r�test_weak_keyed_bad_delitem�+MappingTestCase.test_weak_keyed_bad_delitem?s����%�%�'���3�K��	
���(�A�M�M�1�5����(�A�M�M�1�5�	
���)�Q�]�]�R�8����)�Q�]�]�R�8����)�Q�]�]�R��<rc�^^�[R"5nSm"UU4SjS[5n[S5Vs/sH
o2"U5PM snmTHnURX'M A[UR
55mTR5 SmSnTH
nUS-
nX	M [5 UR[U5S5 URUS5 gs snf)	NFc�0>�\rSrSrSrSrUU4SjrSrg)�<MappingTestCase.test_weak_keyed_cascading_deletes.<locals>.CiUc��Xlgrr�)rr�s  rr5�EMappingTestCase.test_weak_keyed_cascading_deletes.<locals>.C.__init__Vs���
rc�,�[UR5$r)rFrrs rrG�EMappingTestCase.test_weak_keyed_cascading_deletes.<locals>.C.__hash__Xs���D�J�J�'�'rc�J>�T(aTS	URUR:H$)Nrrr�)rr?�mutate�objss  ��rr@�CMappingTestCase.test_weak_keyed_cascading_deletes.<locals>.C.__eq__Zs"�����R���z�z�U�[�[�0�0rr�N)rrrrr5rGr@r)rrs��rrr�Us���
�
(�
1�
1rrrJTrrer�)rrdr�r�rr`rl�reverserr�r�)rrrr�r��countrrs      @@r�!test_weak_keyed_cascading_deletes�1MappingTestCase.test_weak_keyed_cascading_deletesMs����

�%�%�'����
	1�
	1��
	1�$�A�h�'�h���!��h�'���A��7�7�A�D��
��A�F�F�H�~��	
���������A��Q�J�E����	������Q���#������"��1(s�Cc�d�[R"5nUR[U5S5 g)Nz<WeakValueDictionary at 0x.*>)rr4r�r��rr�s  r�test_make_weak_valued_dict_repr�/MappingTestCase.test_make_weak_valued_dict_repr{s%���*�*�,������d��%D�Erc�d�[R"5nUR[U5S5 g)Nz<WeakKeyDictionary at 0x.*>)rrdr�r�r
s  r�test_make_weak_keyed_dict_repr�.MappingTestCase.test_make_weak_keyed_dict_reprs%���(�(�*������d��%B�Crc��[R"5n[5 [UR5H0nURS[
55nURUS5 AM2 SSS5 g!,(df   g=fr)rr4ryr��NUM_THREADED_ITERATIONSr�rSr��rrr�r%s    r�$test_threaded_weak_valued_setdefault�4MappingTestCase.test_threaded_weak_valued_setdefault�s\���'�'�)��
�
 ��4�7�7�8���L�L��X�Z�0��� � ��D�)��9�!�
 �
 �s�A
A3�3
Bc��[R"5n[5 [UR5H4n[5US'UR
SS5nURUS5 M6 SSS5 g!,(df   g=fr)rr4ryr�rrSrxr�rs    r�test_threaded_weak_valued_pop�-MappingTestCase.test_threaded_weak_valued_pop�sa���'�'�)��
�
 ��4�7�7�8�� �
��"���E�E�"�b�M��� � ��D�)�9�!�
 �
 �s�AA7�7
Bc�
�[R"5n[5 [SUR-5H.n[5nX1S'UR
[U5S5 SnM0 SSS5 g!,(df   g=f)Nr�r�re)rr4ryr�rrSr�r�)rrr�r�s    r�%test_threaded_weak_valued_consistency�5MappingTestCase.test_threaded_weak_valued_consistency�se��
�'�'�)��
�
 ��1�t�;�;�;�<���J���"��� � ��Q���+���=�!�
 �
 �s�AA4�4
Bc�@�[R"5n[R"5 [	5US'UR
Sn[	5nX1S'[R"5 UR[U5S5 SSS5 g!,(df   g=f)Nr�re)
rr4rrsrSr�rmrnr�r�)rrr�r�s    r�test_weak_valued_consistency�,MappingTestCase.test_weak_valued_consistency�so��
�'�'�)��
�
�
�
!��J�A�b�E������B��
�A��b�E��J�J�L����S��V�Q�'�"�
!�
!�s�AB�
Bc�^�/n"SS5n"SS5nU4SjnSnURU[R[R45 U"5n/n	/n
[	S5H:nU"U5U"U5p�U	RU5 U
RU
5 X�U'AA
M< [R"XhU4S9nU[RLa[R"Xy4S9nO[R"Xz4S9nUR5 UR5 UR5 UR5 U(aUS	eg)
Nc��\rSrSrSrSrg)�?MappingTestCase.check_threaded_weak_dict_copy.<locals>.DummyKeyi�c��Xlgr��ctr�rr&s  rr5�HMappingTestCase.check_threaded_weak_dict_copy.<locals>.DummyKey.__init__�����rr%NrYrrr�DummyKeyr#�r�rr*c��\rSrSrSrSrg)�AMappingTestCase.check_threaded_weak_dict_copy.<locals>.DummyValuei�c��Xlgrr%r's  rr5�JMappingTestCase.check_threaded_weak_dict_copy.<locals>.DummyValue.__init__�r)rr%NrYrrr�
DummyValuer,�r�rr/c�>�TSLa[R"U5ngUR5ng![anURU5 SnAgSnAff=fr�)rN�deepcopyr�r�)r�excr��exr1s    �r�	dict_copy�@MappingTestCase.check_threaded_weak_dict_copy.<locals>.dict_copy�sF���
��t�#��
�
�a�(�A�����A���
��
�
�2����
�s�0�0�
A�A�Ac���SnU(aa[R"S[U5S-
5nUS-
nURU5 US-S:Xa[R
"5 U(aM`gg)Nrrei')�random�randintr�rxrmrn)�lst�gc_ctrr�s   r�pop_and_collect�FMappingTestCase.check_threaded_weak_dict_copy.<locals>.pop_and_collect�sR���F���N�N�1�c�#�h��l�3���!�������
��E�>�Q�&��J�J�L��#rip)rrr(r)
r�rrdr4r�r�rtrurvrw)r�type_r1r2r*r/r4r;rrlrmr�r�ro�t_copy�	t_collects  `             r�check_threaded_weak_dict_copy�-MappingTestCase.check_threaded_weak_dict_copy�s�����	�	�	�	�	�	!�	
�
�
�e�g�7�7��9T�9T�U�V��G�������u��A��A�;�
�1�
�q��K�K��N��M�M�!���a�D���
��!�!��S��C���G�-�-�-�!�(�(��g�N�I�!�(�(��i�P�I������������
�������a�&�L�rc�D�UR[RS5 g�NF�r@rrdrs r� test_threaded_weak_key_dict_copy�0MappingTestCase.test_threaded_weak_key_dict_copy�s��	
�*�*�7�+D�+D�e�Lr�cpuc�D�UR[RS5 gr�rDrs r�$test_threaded_weak_key_dict_deepcopy�4MappingTestCase.test_threaded_weak_key_dict_deepcopy�s��
	
�*�*�7�+D�+D�d�Krc�D�UR[RS5 grC�r@rr4rs r�"test_threaded_weak_value_dict_copy�2MappingTestCase.test_threaded_weak_value_dict_copy�s��	
�*�*�7�+F�+F��Nrc�D�UR[RS5 gr�rLrs r�&test_threaded_weak_value_dict_deepcopy�6MappingTestCase.test_threaded_weak_value_dict_deepcopys��
	
�*�*�7�+F�+F��Mrc�x�[R"5nURURR5 gr)rr4r��_remove�__closure__)rrs  r�test_remove_closure�#MappingTestCase.test_remove_closures(���'�'�)�����!�)�)�/�/�0rrN)@rrrrrPr�check_sanitizer�Py_GIL_DISABLEDrr(r/r5r>rCrHrWr]rdrir`rur}r�r�r�r�r�rZr�r�r�rMr�r�r�r�r�r�r�r�r�r�r�r�r�r�r
rrr	�requires_working_threadingrrrr�rr@rE�requires_resourcerIrMrPrUrrrrrrs2���E����d�+��0G�0G�"&��"(�� �(K�M�)�0I�K�9�@#�<+�6+�2>�4+�'�2'�BG�4G�2'�
'��'�
'�
'��%�$5�;�-�"/�9�.�&'�"#"�J4�	/�#+�J	D�=�,#�\F�D��0�0�2��3���0�0�2�*�3�*��0�0�2�
�3�
�
���(��(�$;�z�0�0�2�M�3�M�
�0�0�2����u�%�L�&�3�L�
�0�0�2�O�3�O�
�0�0�2����u�%�N�&�3�N�

���1��1rr)�
mapping_testsc�b�\rSrSr\"S5\"S5\"S5S.r\RrSr	Sr
g)	�WeakValueDictionaryTestCaseirer�r�)r�r��key3c�6�URR5$r)�!_WeakValueDictionaryTestCase__refrNrs r�
_reference�&WeakValueDictionaryTestCase._reference����z�z��� � rrN)rrrrr0r`rr4�	type2testrarrrrr]r]s*���1�I�f�Q�i��q�	�B�E��+�+�I�!rr]c�f�\rSrSr\"S5S\"S5S\"S5S0r\RrSr	S	r
g
)�WeakKeyDictionaryTestCaseir�rer�r�r^r�c�6�URR5$r)�_WeakKeyDictionaryTestCase__refrNrs rra�$WeakKeyDictionaryTestCase._referencercrrN)rrrrr0rhrrdrdrarrrrrfrfs0��
�F�^�A�v�f�~�a�����B�E��)�)�I�!rrfc�\�\rSrSr"SS5rSrSrSrSrSr	\
S	5rS
rSr
g)
�FinalizeTestCasei#c��\rSrSrSrg)�FinalizeTestCase.Ai%rNr^rrrr�rm%s��rr�c�l�[RRS:wa[R"5 gg)N�cpython)�sys�implementation�namerrrs r�_collect_if_necessary�&FinalizeTestCase._collect_if_necessary(s'�����"�"�i�/���� �0rc��^�U4SjnUR5n/m[R"X!SSSS9nURURS5 URUR5X!SSS045 URU"5S	5 URU"5S5 URU"5S5 URUR5S5 URUR
5S5 URURS
5 URTS	/5 /m[R"X!SSS5nURUR5X!S045 URUR
5X!S045 URU"5S5 URU"5S5 URUR5S5 URUR
5S5 URURS
5 URT/5 /m[R"X!SSSS9nAUR5 URU"5S5 URU"5S5 URUR5S5 URUR
5S5 URURS
5 URTS	/5 g)
Nc�>>�TRX-U-5 X-U-$rr
)r%rHrIr�s   �r�add�+FinalizeTestCase.test_finalize.<locals>.add.s!����J�J�q�u�q�y�!��5�1�9�r�C�+�Y)rIT)ryrzrI��F)ryrzr{)r%rHrI)r�r�finalizer��alive�peek�detachrs)rrwr�r*r�s    @r�
test_finalize�FinalizeTestCase.test_finalize-sV���	�
�F�F�H�������Q�R��r�2��������$�'��������A�G�c�"�X�#>�?������c�"������d�#������d�#��������4�(��������T�*�������%�(�����s�e�$������Q�R��R�0���������A�J��#;�<��������a�j�"�%=�>������d�#������d�#��������4�(��������T�*�������%�(�����b�!������Q�r�R�2�6��
��"�"�$������d�#������d�#��������4�(��������T�*�������%�(�����s�e�$rc	�^�U4SjnUR5n/m[R"X!SSSSS9nURUR	5X!SSSS.45 U"5 URTSSSS.4/5 UR[5 [R"X!SS9 SSS5 UR[5 [R"X!SS	9 SSS5 UR[[RU5 UR[[R5 g!,(df   N�=f!,(df   Ni=f)
Nc�*>�TRX45 grr
)r(�kwargsr�s  �r�fin�-FinalizeTestCase.test_arg_errors.<locals>.finWs����J�J��~�&rrer�r�rJ)�funcr�r�)r�r4)r�r�r4)r�rr}r�rr�r�)rr�r�r*r�s    @r�test_arg_errors� FinalizeTestCase.test_arg_errorsVs����	'�
�F�F�H�������Q�Q���q�9���������A�F�Q�q�4I�#J�K�	��������1�(=�>�?�@�
�
�
�y�
)����Q�a�0�*�
�
�
�y�
)�����!�4�*����)�W�%5�%5�q�9����)�W�%5�%5�6�*�
)��
)�
)�s�D'�?D8�'
D5�8
Ec��UR5n/n[R"XRS5n[R"XRS5n[R"XRS5n[R"XRS5n[R"XRS5nAAUR	UR
5 UR	UR
5 UR	UR
5 UR	UR
55 URUR
5 U"5 URS5 U"5 URUR
5 URS5 U"5 URS5 AUR5 URUR
5 URS	5 U"5 /S
QnURX(5 g)N�f1�f2�f3�f4�f5r��Brr�)r�r�r�rr�r�r�r�)
r�rr}r�r�r~r�r�rsr�)	rr�r�r�r�r�r�r��expecteds	         r�
test_order�FinalizeTestCase.test_orderisc���F�F�H����
�
�
�a���T�
2��
�
�
�a���T�
2��
�
�
�a���T�
2��
�
�
�a���T�
2��
�
�
�a���T�
2��
��������!�������!�������!�����	�	��$�������"�
���
�
�3��
��������"��
�
�3��
���
�
�3��
��"�"�$�	
������"��
�
�3��
��?������'rc��^�"SS[R5nUR5n/mU4SjnU"X#5n[R"U5n[R"U5nAAUR	U"55 UR	U"55 AUR5 UR
U"55 UR
U"55 URTS/5 g)Nc��\rSrSrSrg)�4FinalizeTestCase.test_all_freed.<locals>.MyFinalizeri�rNr^rrr�MyFinalizerr��r�rr�c�(>�TRS5 g)N�{r
)r�s�rrg�1FinalizeTestCase.test_all_freed.<locals>.callback�s����J�J�s�Orr�)rr}r�rfr�rsr�r�)rr�r�rgr*�wr_callback�wr_fr�s       @r�test_all_freed�FinalizeTestCase.test_all_freed�s����	�'�*�*�	�
�F�F�H����	���$���k�k�(�+���{�{�1�~���a����[�]�+����T�V�$�
��"�"�$����+�-�(����$�&�!�����s�e�$rc�^�U4Sjn[R"T[S[5n[R"T[S[5n[R"TU5n[R"T[S[5nSUlg)Nc�^>�[R"T[S5n[S5 SS- g)N�g1�f3 errorrer)rr}�print)r��clss �r�error�,FinalizeTestCase.run_in_child.<locals>.error�s(����!�!�#�u�d�3�B��*��
�a�Crr�r�r�F)rr}r��_global_var�atexit)r�r�r�r�r�r�s`     r�run_in_child�FinalizeTestCase.run_in_child�sg���	��
�
�c�5�$��
<��
�
�
�c�5�$��
<��
�
�
�c�5�
)��
�
�
�c�5�$��
<����	rc���Sn[R"SU5up#nURS5R5nUR	U/SQ5 URSU;5 g)NzNfrom test.test_weakref import FinalizeTestCase;FinalizeTestCase.run_in_child()r�r�)z	f4 foobarr�r�z	f1 foobarsZeroDivisionError)r�assert_python_okr��
splitlinesr�r�)r�prog�rc�outr�s     r�test_atexit�FinalizeTestCase.test_atexit�sY��2��$�5�5�d�D�A�����j�j��!�,�,�.������J�K����,��3�4rrN)rrrrr�rsr�r�r�r��classmethodr�r�rrrrrkrk#s@��
�
�!�
'%�R7�&%(�N%�2�!��!�&5rrkc��\rSrSrSrSrg)�ModuleTestCasei�c���SHmn[[U5nUS:waURURS5 URURU5 URUR
U5 Mo g)N)r��	ProxyTyperGr��WeakSetrdr4r�r)rsrr�rrr)rrrr�s   r�
test_names�ModuleTestCase.test_names�sb��Z�D��'�4�(�C��y� �� � �����;����S�\�\�4�0����S�-�-�t�4�
ZrrN)rrrrr�rrrrr�r��s��5rr�a Doctest for examples in the library reference: weakref.rst

>>> from test.support import gc_collect
>>> import weakref
>>> class Dict(dict):
...     pass
...
>>> obj = Dict(red=1, green=2, blue=3)   # this object is weak referencable
>>> r = weakref.ref(obj)
>>> print(r() is obj)
True

>>> import weakref
>>> class Object:
...     pass
...
>>> o = Object()
>>> r = weakref.ref(o)
>>> o2 = r()
>>> o is o2
True
>>> del o, o2
>>> gc_collect()  # For PyPy or other GCs.
>>> print(r())
None

>>> import weakref
>>> class ExtendedRef(weakref.ref):
...     def __init__(self, ob, callback=None, **annotations):
...         super().__init__(ob, callback)
...         self.__counter = 0
...         for k, v in annotations.items():
...             setattr(self, k, v)
...     def __call__(self):
...         '''Return a pair containing the referent and the number of
...         times the reference has been called.
...         '''
...         ob = super().__call__()
...         if ob is not None:
...             self.__counter += 1
...             ob = (ob, self.__counter)
...         return ob
...
>>> class A:   # not in docs from here, just testing the ExtendedRef
...     pass
...
>>> a = A()
>>> r = ExtendedRef(a, foo=1, bar="baz")
>>> r.foo
1
>>> r.bar
'baz'
>>> r()[1]
1
>>> r()[1]
2
>>> r()[0] is a
True


>>> import weakref
>>> _id2obj_dict = weakref.WeakValueDictionary()
>>> def remember(obj):
...     oid = id(obj)
...     _id2obj_dict[oid] = obj
...     return oid
...
>>> def id2obj(oid):
...     return _id2obj_dict[oid]
...
>>> a = A()             # from here, just testing
>>> a_id = remember(a)
>>> id2obj(a_id) is a
True
>>> del a
>>> gc_collect()  # For PyPy or other GCs.
>>> try:
...     id2obj(a_id)
... except KeyError:
...     print('OK')
... else:
...     print('WeakValueDictionary error')
OK

�
libreftestc�N�UR[R"55 U$r)�addTest�doctest�DocTestSuite)�loader�tests�patterns   r�
load_testsr�)	s��	�M�M�'�&�&�(�)��Lrr�)g{�G�zt?)3rmrpr�r�r�rrr�rNrtrkr7r��testr�test.supportrrrrrr	r
rr4r�rrr,r.r0rS�TestCaser[r�ryr{r�r�rr[�BasicTestMappingProtocolr]rfrkr�r��__test__r�r�mainrrr�<module>r�ss��	�
����������
���K�K�#�&�)�*�����
�
�
��
����*��
�x� � ��������*nR��nR�be+�(�e+�PF.��*�*�F.�RC1�h�C1�L�!�-�"H�"H�!�!�
� F� F�!�`5�x�(�(�`5�F5�X�&�&�5�T�
�l
�:�&���
�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit