403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
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:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_weakref.cpython-315.opt-2.pyc
R
>lqj5Fc���]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]PH(s
]PH,s]PH0s]QH4Gs]QH<GsGs]QH<Gs]QH<Gs]QH<Gs]QH<GsGsPrQsQQ	2sQ
Q2sQsQ
sQQ2sQQ2sQQ\O>2s \OBQ*Qk2s"QQ\ 2s#QQ\ 2s$QQ\O>2s%QQ\ 2s&]QH4G's'QQ\'OP2s)Q Q!\'OP2s*Q"Q#\O>2s+Q$Q%\O>2s,Q&s-Q'\--s.Q(s/\0Q)6Xc\Ob2P!P!)+�)�support)�
script_helper�	ALWAYS_EQ)�
gc_collect)�
import_helper)�threading_helper)�is_wasi�Py_DEBUG�foobarc�(`�\sQs]snQsQsUsP!)�Cc��P!�N���selfs&�&C:\Python315\\Lib\test\test_weakref.py�method�C.methods���r)�__name__�
__module__�__qualname__�__firstlineno__r�__static_attributes__�__classdictcell__��
__classdict__s@rrrs����
�
rrc�,`�\sQs]"snPsQsQsUsP!)�Callablec��VmP!r��bar�r�xs&&r�__call__�Callable.__call__%s���rr!)rrrrr"r%rrrs@rrr"s����
�C��rrc��QoU!)c��P!rrrrr�f�create_function.<locals>.f*s��Trr)r)s r�create_functionr+)s
����Hrc�,�[2O!r)rrrrr�create_bound_methodr--s���3�:�:�rc�L`�\sQs]1snQsQsQsQsQsQs	Qs
QsUsP!)	�Objectc��VmP!r��arg)rr2s&&r�__init__�Object.__init__2s���rc�*�QUO*!)z<Object %r>r1rs&r�__repr__�Object.__repr__4s���t�x�x�'�'rc�n�[U[2%cUOUO6H![!r��
isinstancer/r2�NotImplemented�r�others&&r�__eq__�
Object.__eq__6s(���e�V�$�$��8�8�u�y�y�(�(��rc�n�[U[2%cUOUO6![!rr9r<s&&r�__lt__�
Object.__lt__:s(���e�V�$�$��8�8�e�i�i�'�'��rc�.�[UO2!r)�hashr2rs&r�__hash__�Object.__hash__>s���D�H�H�~�rc��]!)�rrs&r�some_method�Object.some_method@���rc��]!)�rrs&r�other_method�Object.other_methodBrKrr1)
rrrrr3r6r>rArErIrNrrrs@rr/r/1s-�����(������rr/c�(`�\sQs]FsnQsQsUsP!)�RefCyclec��VmP!r��cyclers&rr3�RefCycle.__init__Gs���
rrS�rrrrr3rrrs@rrQrQFs�����rrQc�.`�\sQs]KsnQsQsQsUsP!)�TestBasec��]UmP!�r��cbcalledrs&r�setUp�TestBase.setUpMs	����
rc�:�U9O]*
tmP!��r[)r�refs&&r�callback�TestBase.callbackPs���
�
���
rr[)rrrrr]rcrrrs@rrXrXKs������rrXc#�H`` �P
nUU1Qko[O29^tt^2[OUQ5oUO	2Pw�P	nUO2PPP2P!P	nSO2h9h)%fhP!9h3h)Fc�t:�R%f.[OR2[O2J5P!r)�time�sleep�gc�collect)�period�please_stops��rrj�"collect_in_thread.<locals>.collect[s �����J�J�v���J�J�L�r)�target)r�
disable_gc�	threading�Thread�start�join)rkrj�trlsf  @r�collect_in_threadruTsw����
�K��

�	�	�	�	����G�,��	���	�	���K�
�F�F�H�
�	���K�
�F�F�H��
�	�	�s:�(B"�(B�A7�B�-
B"�7B�B�B	�B	�	B"c�0`�\sQs]jsnQs\OQ2sQsQs	\OQ2s
QsQsQs
Q	s\OQ
2sQsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Qs#Qs$Q s%Q!s&Q"s'Q#s(Q$s)Q%s*Q&s+Q's,Q(s-Q)s.Q*s/Q+s0Q,s1Q-s2Q.s3Q/s4Q0s5Q1s6Q2s7\8Or\:9%c\;Q32Q42s<Q5s=Q6s>Q7s?Q8s@\O�Q92sBQ:sCQ;sDUsEP!)<�ReferencesTestCasec���UO[2UO[2UO[2[2o[O
U2o[
U2=[
U2P!r)�check_basic_refrr+r-�weakrefrb�repr)r�o�wrs&  r�test_basic_ref�!ReferencesTestCase.test_basic_reflsT�����Q�����_�-����0�1�
�C��
�[�[��^���R��
��R�rc� �[2o[OU2oQ[Q6XcPL[OQ*[O
Q0oUO
[U2U2Po[2UO
[U2Q2QQ2oU2o[OU2oQ[Q6XcPLUOQ*UO
Q0oUO
[U2U2P!)z <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�2`�\sQs]�sn\Q2sQsUsP!)�2ReferencesTestCase.test_ref_repr.<locals>.WithNamec��Q!)�custom_namerrs&rr�;ReferencesTestCase.test_ref_repr.<locals>.WithName.__name__�s��$rr)rrrr�propertyrrrs@r�WithNamer��s����
�
%��
%rr�z%' at 0x[0-9a-fA-F]+ +\(custom_name\)>)	rrzrbrrr�assertRegexr{r)r�objrb�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���QQ[2oU]Q5o[OU2oUOQ[	U22UOQ[U22P!)c�(`�\sQs]�snQsQsUsP!)�>ReferencesTestCase.test_repr_failure_gh99184.<locals>.MyConfigc��V*!rrr#s&&r�__getattr__�JReferencesTestCase.test_repr_failure_gh99184.<locals>.MyConfig.__getattr__�s	���w�rr)rrrrr�rrrs@r�MyConfigr�������
�
rr�)�offset)�dictrzrb�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��UO[2UO[2UO[2P!r)�check_basic_callbackrr+r-rs&r�test_basic_callback�&ReferencesTestCase.test_basic_callback�s-���!�!�!�$��!�!�/�2��!�!�"5�6rc�&�[OQ2oUOoU2o[OU2oUOU2U2=UO
U22UOU2UOU2P!)�	_testcapi)	r�
import_module�create_cfunctionrzrb�assertIs�assertIsNoneryr�)rr�r�r)r}s&    r�test_cfunction�!ReferencesTestCase.test_cfunction�st��!�/�/��<�	�$�5�5�����
�[�[��^���
�
�b�d�A��
����"�$�����-�.��!�!�"2�3rc�H�[2o[OVO2o[OVO2o=[	2UOU2Q2UOU2Q2UO
UO]Q2P!)z$expected reference to be invalidatedz-callback not called the right number of times)rrzrbrcrr��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��U1Qko[2o[OV!2Um[OV!2o=P!)c�(�UO2P!r�rb)�objectrs&&rrc�DReferencesTestCase.test_multiple_selfref_callbacks.<locals>.callback�s���H�H�Jr)rrzrb)rrc�cr�s&   r�test_multiple_selfref_callbacks�2ReferencesTestCase.test_multiple_selfref_callbacks�s4��#'�	�
�C���;�;�q�+����{�{�1�'��
rc�j�[2oUO[[OUPQ5P!)N)rc)r�assertRaises�	TypeErrorrzrb)rr�s& r�test_constructor_kwargs�*ReferencesTestCase.test_constructor_kwargs�s$��
�C�����)�W�[�[�!�d��Crc���[2o]Um[OVO2o[OVO2o=[2QoUO
[VB2UO
[VC2[O[22o[2UO
[[U2UOUO]2P!)rac� �UOP!rr!)�proxys&r�check�0ReferencesTestCase.test_proxy_ref.<locals>.check�s	���I�Ir)rr"rzr�rcrr��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�P�[2o[OVO2oQ[Q6XcPL[O
Q*[OQ0oUO[U2U2Po[2UO[U2Q2P!)z"<weakproxy at 0x[0-9a-fA-F]+; to 'r�r�r�z#<weakproxy at 0x[0-9a-fA-F]+; dead>)
rrzr�rcrrrr�r{r)rr�rbr�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��U2o[OU2oUOU2Q2U2oUOV$Q2P!)z,weak reference to live object should be livez-<ref>() should return original object if live)rzrb�assertIsNotNoner�)r�factoryr|rb�o2s&&   rry�"ReferencesTestCase.check_basic_ref�sE���I���k�k�!�n�����S�U�C�	E�
�U���
�
�a�D�	Frc���]UmU2o[OV O2o=[	2UOUO]Q2UO
U2Q2P!)rz(callback did not properly set 'cbcalled'z3ref2 should be dead after deleting object reference)r\rzrbrcrr�r�)rr�r|rbs&&  rr��'ReferencesTestCase.check_basic_callbacksZ����
��I���k�k�!�]�]�+��
����������?�	A����#�%�J�	Lrc�2�[2o[OU2o[OU2o[OU2oUO	V$Q2[2o[OU2o[OU2o[OU2oUO	V$Q2UO[OU2]Q2=[2UO[OU2]Q2P!)z1reference object w/out callback should be re-usedzwrong weak ref count for objectz4wrong weak ref count for object after deleting proxy)rrzrbr�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���[2o[OU2o[OU2o[OU2oUO	V$Q2P!)z4proxy object w/out callback should have been re-used)rrzr�rbr�)rr|�proxy1rb�proxy2s&    r�test_proxy_reuse�#ReferencesTestCase.test_proxy_reuse$sD��
�C�����q�!���k�k�!�n�����q�!���
�
�f�K�	Mrc�P�[2oUOU[OU22[O
2o[OU2oUO
UQ2UO]2UO[U2]2UOUQ2]],UQ$UO[U2]2UO[U2]2UO]UQ2]U]$UOU]*]2UOU]*]2[O
U2o[OU2oUOV52[O
[]
22o[OU2oUOUQ*UQ*2UOUQ*UQ*2UOUQ*UQ*2UOUQ*UQ*2P!)z(proxy for empty UserList should be falsez+proxy for non-empty UserList should be true�NNNz,proxy didn't support __contains__() properly:rMNN:NrMN:�rMN)
r�check_proxyrzr��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��&�����B���B��(�����B���B��(�����C��"�S�'�*rc���QQ[2oU2oUOQ[[OU222UO[
[OU22Q2P!)c�.`�\sQsQsnQsQsQsUsP!)�0ReferencesTestCase.test_proxy_unicode.<locals>.C�Jc��Q!)�stringrrs&r�__str__�8ReferencesTestCase.test_proxy_unicode.<locals>.C.__str__K���rc��Q!)�bytesrrs&r�	__bytes__�:ReferencesTestCase.test_proxy_unicode.<locals>.C.__bytes__Mr�rr)rrrrr�r�rrrs@rrr�Js����
 �
 �
 rrr�r�)r�r��dirrzr�r��bytes)rr�instances&  r�test_proxy_unicode�%ReferencesTestCase.test_proxy_unicodeHsQ��	 ��	 �
�3���
�
�k�3�w�}�}�X�'>�#?�@�����w�}�}�X�6�7��Brc��QQ2oU2o[OU2oUO[OU2]
2P!)c�(`�\sQsQsnQsQsUsP!)�.ReferencesTestCase.test_proxy_index.<locals>.C�Tc��]
!��
rrs&r�	__index__�8ReferencesTestCase.test_proxy_index.<locals>.C.__index__U���rr)rrrrr	rrrs@rrrT�����
�
rr)rzr�r��operator�index�rrr|r�s&   r�test_proxy_index�#ReferencesTestCase.test_proxy_indexSs<��	�	�
�C���M�M�!����������*�B�/rc��QQ2oU2o[OU2oUOU]*]*2U]*oUOU]2P!)c�.`�\sQsQsnQsQsQsUsP!)�,ReferencesTestCase.test_proxy_div.<locals>.C�\c��]*!��*rr<s&&r�__floordiv__�9ReferencesTestCase.test_proxy_div.<locals>.C.__floordiv__]rrc��]!)�rr<s&&r�
__ifloordiv__�:ReferencesTestCase.test_proxy_div.<locals>.C.__ifloordiv___rrr)rrrrrrrrrs@rrr\s����
�
�
rr�rzr�r�rs&   r�test_proxy_div�!ReferencesTestCase.test_proxy_div[sP��	�	�

�C���M�M�!�������a���$�	�a�������B�rc���QQ2oU2o[OU2oUOU]*Q2UO]U*Q2U]*oUOUQ2P!)c�4`�\sQsQsnQsQsQsQsUsP!)�/ReferencesTestCase.test_proxy_matmul.<locals>.C�hc��Q!)�rr<s&&r�
__matmul__�:ReferencesTestCase.test_proxy_matmul.<locals>.C.__matmul__is��rc��Q!)��]���rr<s&&r�__rmatmul__�;ReferencesTestCase.test_proxy_matmul.<locals>.C.__rmatmul__ks���rc��Q!)�1rr<s&&r�__imatmul__�;ReferencesTestCase.test_proxy_matmul.<locals>.C.__imatmul__ms��rr)	rrrrr(r-r1rrrs@rrr$hs����
�
�
�
rrr'r0r,rrs&   r�test_proxy_matmul�$ReferencesTestCase.test_proxy_matmulgsd��	�	�
�C���M�M�!�������Q���%�����Q���%�	�Q�������C� rc�F�UO[O2P!r)�check_shared_without_callbackrzrbrs&r� test_shared_ref_without_callback�3ReferencesTestCase.test_shared_ref_without_callback~s���*�*�7�;�;�7rc�F�UO[O2P!r)r6rzr�rs&r�"test_shared_proxy_without_callback�5ReferencesTestCase.test_shared_proxy_without_callback�s���*�*�7�=�=�9rc�B�[]2oUUP2oUUP2oUOV4Q2==UU2oUUP2oUOV4Q2==UU2oUU2oUOV4Q2==UUP2oUU2oUOV4Q2P!)raz%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)r/r�)r�makerefr|�p1r�s&&   rr6�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��[2o[OU2oUOV2UO	[U2[OQ2UQ2UOUOQQ2UQQ5UOUOQQ2UO[U2UO[U]]]2P!)zproxy is not of callable typez	twinkies!z1call through proxy not passed through to originalzSplat.�r$)rrzr�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�|�]UmUOUO]Q2]UmUOUO]Q2U;UOUQQ2]UmUOUO]Q2]UmUOUO]Q2U;UOUQQ2P!)raz)proxy does not reflect attribute additionz-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)rGr��assertNotHasAttr)rr|r�s&&&rr��ReferencesTestCase.check_proxy�s������������A�@�	B����������A�D�	F�
�E����e�U�?�	A���	��������K�	M���	��������F�	H��I����a��J�	Lrc��QQ2oU2o[OU2oU]UOUO]2P!)c�,`�\sQsQsnPsQsQsUsP!)�3ReferencesTestCase.test_proxy_deletion.<locals>.Foo��c��VmP!r��result)r�accessors&&r�__delitem__�?ReferencesTestCase.test_proxy_deletion.<locals>.Foo.__delitem__�s��&�rrO)rrrrrPrRrrrs@r�FoorL�s�����F�
'�
'rrT)rzr�r�rP)rrT�gr)s&   r�test_proxy_deletion�&ReferencesTestCase.test_proxy_deletion�s>��	'�	'�
�E���M�M�!���
�a�D�������1�%rc��QQ[2oU2oUO[[OU22[U22P!)c��\sQsQsQsP!)�0ReferencesTestCase.test_proxy_bool.<locals>.List��r�rrrrrrrr�ListrZ�s��$rr])�listr�r�rzr�)rr]�lysts&  r�test_proxy_bool�"ReferencesTestCase.test_proxy_bool�s3���4���v������g�m�m�D�1�2�D��J�?rc��`�PnU1QkQ2oU2n[OR2oUO[29^tt^2QU7PPP2P!)%fhP!9h)Nc�0:`�\sQsQsnU1QksQsUsP!)�1ReferencesTestCase.test_proxy_iter.<locals>.MyObj��c�:�<[!r)r;)rr�s&�r�__iter__�:ReferencesTestCase.test_proxy_iter.<locals>.MyObj.__iter__�s����%�%rr�rrrrrgrr)rr�s@�r�MyObjrd�s����
&�
&rrj�blech)rzr�r�r�)rrjr�r�s&  @r�test_proxy_iter�"ReferencesTestCase.test_proxy_iter�sT�����	&�	&��g���M�M�#���
�
�
�y�
)�
)�
�q�L�	*�
)�
)�
)�s�A�A-	�%A-	c�``�,QNnU1QkoU2nU1QkQ2oU2oUO[U2,QN2P!)rHc3�.: �RFPiw�K
P!K3hrr)�arrs�r�
iterator_func�9ReferencesTestCase.test_proxy_next.<locals>.iterator_func�s
�����N�N�s���c�0:`�\sQsQsnU1QksQsUsP!)�:ReferencesTestCase.test_proxy_next.<locals>.IteratesWeakly��c�2:�[OR2!r�rzr�)r�its&�rrg�CReferencesTestCase.test_proxy_next.<locals>.IteratesWeakly.__iter__�s����}�}�R�(�(rrri)rrxs@�r�IteratesWeaklyrt�s����
)�
)rrz)rHrM�)r�r^)rrqrz�weak_itrprxs&   @@r�test_proxy_next�"ReferencesTestCase.test_proxy_next�s>�����	�
�_��	)�	)�!�"��	
����g��	�2rc��`�QnU1QkQ2oU2oQoUO[U29^tt^2[U2PPP2P!)%fhP!9h)c��]!rZrrrr�<lambda>�8ReferencesTestCase.test_proxy_bad_next.<locals>.<lambda>�s��!rc�0:`�\sQsQsnU1QksQsUsP!)�1ReferencesTestCase.test_proxy_bad_next.<locals>.A�c�2:�[OR2!rrw)r�not_an_iterators&�rrg�:ReferencesTestCase.test_proxy_bad_next.<locals>.A.__iter__�s����}�}�_�5�5rrri)rr�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�sK���$��	6�	6�
�C��7��
�
#�
#�I�s�
3�
3���G�4�
3�
3�
3�s�A�A!	�A!	c	��QQ2oU2oUOPO[[OU222Q2P!)c�.`�\sQsQsnQsQsQsUsP!)�5ReferencesTestCase.test_proxy_reversed.<locals>.MyObj�c��]!)�rrs&r�__len__�=ReferencesTestCase.test_proxy_reversed.<locals>.MyObj.__len__���rc��[Q2!)�cba)�iterrs&r�__reversed__�BReferencesTestCase.test_proxy_reversed.<locals>.MyObj.__reversed__s���E�{�"rr)rrrrr�r�rrrs@rrjr�s����
�
#�
#rrjr�)r�rs�reversedrzr��rrjr�s&  r�test_proxy_reversed�&ReferencesTestCase.test_proxy_reverseds<��	#�	#��g���������'�-�-��*<�!=�>��Frc��QQ2oU2oUO[29^tt^2[[OU22PPP2QQ2oU2oUO[29^tt^2[[OU22PPP2P!)%fhKh9h)%fhP!9h)c�(`�\sQsQsnQsQsUsP!)�1ReferencesTestCase.test_proxy_hash.<locals>.MyObj�c��]*!rrrs&rrE�:ReferencesTestCase.test_proxy_hash.<locals>.MyObj.__hash__rrr)rrrrrErrrs@rrjr�rrrjc��\sQsQsPsQsP!)r��r)rrrrrErrrrrjr�s���Hr)r�r�rDrzr�r�s&  r�test_proxy_hash�"ReferencesTestCase.test_proxy_hash
s���	�	��g��
�
�
�y�
)�
)�����s�#�$�*�	�	��g��
�
�
�y�
)�
)�����s�#�$�*�
)�*�
)��*�
)�
)�s#� B0� C�0C	�9C	�C	�C	c�H�[2o[OU2o[OVO2oUO	[O
U2]Q2[OU2o[OVO2oUO	[O
U2]Q2====[2UO	[O
U2]Q2UO	[O
]2]Q2P!)r�z*got wrong number of weak reference objectszAweak reference objects not unlinked from referent when discarded.z2got wrong number of weak reference objects for int)rrzrbrcr�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��[2o[OVO2o[OVO2o=[	2UO[OU2U,Q2[2o[OVO2o[OVO2o=[	2UO[OU2U,Q2=[	2UO[OU2,Q2UO[O]2,Q2P!)zlist of refs does not matchzlist of refs not clearedz#list of refs does not match for int)rrzrbrcrr��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���QQ[2oUQ2o[OU2oUOUQ*Q2UOQU*Q2P!)c��\sQsQsQsP!)�6ReferencesTestCase.test_newstyle_number_ops.<locals>.F�Nrr\rrr�Fr�N���rr�g@g�?g@)�floatrzr�r�)rr�r)r�s&   r�test_newstyle_number_ops�+ReferencesTestCase.test_newstyle_number_opsMsM��	��	�
�c�F���M�M�!�������S��#�&�����q��#�&rc��```�QQ[2n-nU1QknUUU1QkoU2UOQ2U2UOQ2P!RcK$h9hRcP!h9h)c��\sQsQsQsP!)�?ReferencesTestCase.test_callbacks_protected.<locals>.BogusError�Xrr\rrr�
BogusErrorr�Xr�rr�c�:�RUP!rr)�k�datas&�r�remove�;ReferencesTestCase.test_callbacks_protected.<locals>.remove[s
����Q�rc�D:�QoPR[OUR2$Rg)c��Q!)Nrrrrrr��RReferencesTestCase.test_callbacks_protected.<locals>.encapsulate.<locals>.<lambda>^s��r)rzrb)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"�%A0�+A0�/A0c�`�]PHnQQ[2oU2o[OUU1Qk2o==U2oU2Um[OUOU1Qk2oU2oVEm==P!)rc��\sQsQsQsP!)�0ReferencesTestCase.test_sf_bug_840829.<locals>.C�{rr\rrrrr�{r�rrc�(:�RO2!r�rj��ignoreris&�rr��7ReferencesTestCase.test_sf_bug_840829.<locals>.<lambda>s���2�:�:�<rc�(:�RO2!rr�r�s&�rr�r��s���b�j�j�lr)rir�rzrb�i�c1)rrr�r}r��c2ris&     @r�test_sf_bug_840829�%ReferencesTestCase.test_sf_bug_840829nso���	�	��	�
�C��
�[�[��7�
8��
�
�
�S���s���
�[�[����:�
;��
�S�����
rc���]PHoQQ[2oQQ[2oU2oV$m[OV$O
2Um===UO2P!)rc��\sQsQsQsP!)�4ReferencesTestCase.test_callback_in_cycle.<locals>.J�rr\rrr�Jr��r�rr�c�(`�\sQsQsnQsQsUsP!)�5ReferencesTestCase.test_callback_in_cycle.<locals>.II�c� �UOP!r)r��rr�s&&r�	acallback�?ReferencesTestCase.test_callback_in_cycle.<locals>.II.acallback�s	����rr)rrrrr�rrrs@r�IIr��s����
�
rr�)rir�r�rzrbr�r}rj)rrir�r��Is&    r�test_callback_in_cycle�)ReferencesTestCase.test_callback_in_cycle�sQ���	��	�	��	�
�D�����{�{�1�k�k�*���2
�q�"�
�
�
�rc���]PHoQQ2oU2U2qCVDmV4m[OV4O
2Um==UO2P!)rc�(`�\sQsQsnQsQsUsP!)�=ReferencesTestCase.test_callback_reachable_one_way.<locals>.C��c�P�UOUOUOP!r��mer�r}r�s&&r�cb�@ReferencesTestCase.test_callback_reachable_one_way.<locals>.C.cb������������rr�rrrrr�rrrs@rrr�������
�
rr)rir�r�rzrbr�r}rj)rrirr�r�s&    r�test_callback_reachable_one_way�2ReferencesTestCase.test_callback_reachable_one_way�sH���	�	���a�c�B��������B���&�����
�
�
�rc���]PHoQQ[2oQQ2oU2U2qTVUmVEm[O
VEO2Um====UO2P!)rc�(`�\sQsQsnQsQsUsP!)�=ReferencesTestCase.test_callback_different_classes.<locals>.C��c�P�UOUOUOP!rr�r�s&&rr��@ReferencesTestCase.test_callback_different_classes.<locals>.C.cb�r�rrr�rs@rrr��r�rrc��\sQsQsQsP!)�=ReferencesTestCase.test_callback_different_classes.<locals>.D��rr\rrr�Dr�r�rr)	rir�r�r�rzrbr�r}rj)rrirrr�r�s&     r�test_callback_different_classes�2ReferencesTestCase.test_callback_different_classes�sX���	��	�	�	���a�c�B��������B���&�����A�q�
�
�
�rc�(`�]PHo,nU1QkQ[2oU]2U]2qCVCmV4m[OVCO
2Um[OV4O
2UmU1Qko[OV%2o===UOR,2UO2UORQ,2UOU2P2RQUO2UOR,2P!)rc�6:`�\sQsQsnQsU1QksQsUsP!)�AReferencesTestCase.test_callback_in_cycle_resurrection.<locals>.C�c��VmP!r��	attribute)r�values&&rr3�JReferencesTestCase.test_callback_in_cycle_resurrection.<locals>.C.__init__s��!&�rc�@:�ROUO2P!r)r�r��rr��alists&&�rr��KReferencesTestCase.test_callback_in_cycle_resurrection.<locals>.C.acallbacks������T�V�V�$rr)rrrrr3r�rr�rrs@�rrr	�s����
'�
%�
%rrc�,:�ROQ2P!)�C went away�r��r�rs&�r�C_went_away�KReferencesTestCase.test_callback_in_cycle_resurrection.<locals>.C_went_aways����L�L��'rrr�)	rir�r�rzrbr�r}r�rj)rrirr�r�rr}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`�]PHo,nU1QkoU1QkQ[2oU2U2qTVTmVEmUOo[O
VV2Um[O
VeO2Um[O
Vb2oUOU2U2====UOR,2UO2UORQ,2UOU2P2RQUO2UOR,2P!)rc�,:�ROQ2P!)�safe_callback calledrrs&�r�
safe_callback�DReferencesTestCase.test_callbacks_on_callback.<locals>.safe_callback%s����L�L�/�0rc�0:`�\sQsQsnU1QksQsUsP!)�8ReferencesTestCase.test_callbacks_on_callback.<locals>.C�(c�,:�ROQ2P!)z	cb calledrrs&&�rr��;ReferencesTestCase.test_callbacks_on_callback.<locals>.C.cb)s������[�)rrr�rs@�rrr#(s����
*�
*rrrr�)
rir�r=r�rzrbr}r�r�rj)	rrir rr��drc�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�F�UO[O2P!r)�check_gc_during_creationrzrbrs&r�test_gc_during_ref_creation�.ReferencesTestCase.test_gc_during_ref_creationFs���%�%�g�k�k�2rc�F�UO[O2P!r)r,rzr�rs&r�test_gc_during_proxy_creation�0ReferencesTestCase.test_gc_during_proxy_creationIs���%�%�g�m�m�4rc��[O2o[O]]]2[O2QQ2oQoU2oU2oVfmUU2UmU2o[OVT2[OUP![OSh9h)rac��\sQsQsQsP!)�6ReferencesTestCase.check_gc_during_creation.<locals>.A�Prr\rrrr�r4Pr�rr�c��P!rr)�argss*rrc�=ReferencesTestCase.check_gc_during_creation.<locals>.callbackS���r)ri�
get_threshold�
set_thresholdrjr�r}rzrb)rr=�
thresholdsr�rc�
referencedr�s&&     rr,�+ReferencesTestCase.check_gc_during_creationLs����%�%�'�
�
����A�q�!�
�
�
��	�	�	��S�
�
�C�����z�"���	*���A��K�K�
�-�
���j�)��B���j�)�s�3B'�'B>c�4�QQ[2oU2oP!)c�(`�\sQsQsnQsQsUsP!)�>ReferencesTestCase.test_ref_created_during_del.<locals>.Target�jc�4�[OU2rP!r)rzrb�ref_from_delrs&r�__del__�FReferencesTestCase.test_ref_created_during_del.<locals>.Target.__del__ks��&�{�{�4�0�rr�rrrrrErrrs@r�TargetrAjs����
1�
1rrH)r�)rrH�ws&  r�test_ref_created_during_del�.ReferencesTestCase.test_ref_created_during_deles��
	1�V�	1�

�H�rc	��[O[2oUO[UO
]]]]]2[O2P!rZ)rzrbr�r�r�r3rirj)r�rs& r�	test_init�ReferencesTestCase.test_initqs9��
�K�K�	�"�����)�Q�Z�Z��A�q�!�Q�?�
�
�
�rc��QQ[2o,o[O[2[OVO2oPo[
O2UOU2P2UOV#,2P!)c��\sQsQsQsP!)�*ReferencesTestCase.test_classes.<locals>.A�{rr\rrrr�rR{r�rr�)r�rzrb�intr�rirjr�)rr��lr�s&   r�test_classes�ReferencesTestCase.test_classesysa��	��	������C���K�K��8�8�$����
�
�
�������d�#�����C� rc���[]2o[]2o[]2o[OU2o[OU2o[OU2o[OU2oUOVE6H2UO	VE6g2UO	VF6H2UOVF6g2UOVG6H2UO	VG6g2UO	VA6H2UOVA6g2UOU[
6H2UO	U[
6g2===[O2VEU1FDoUOU2P2J	UO	VE6H2UOVE6g2UO	VF6H2UOVF6g2UOVG6HVGI2UOVG6gVGI2P!r`)
r/rzrbr�r�rrirjr�r�)	rr$�y�zr��br�r'rMs	&        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��[O[O[O[O,o[]2o[]2o[OU2o[OU2oSFDoUO[VdU2J	==[O2SFDoUO[VdU2J	P!r`)r
�lt�gt�le�ger/rzrbr�r�rirj)r�opsr$rYr�r[�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��[]*2o[]*2o[OU2o[OU2oUO[	U2[	]*22==[
O2UO[	U2[	]*22UO[[U2P!r)	r/rzrbr�rDrirjr�r�)rr$rYr�r[s&    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���QQ2o[O2oUP29q4[]d2FDoUU29V$$oJ	=[O2P!)c�(`�\sQsQsnQsQsUsP!)�1ReferencesTestCase.test_trashcan_16602.<locals>.C��c�`�U%fP![OU2nU1Qko[OV2UmP!)Nc�:�R2oP!rr)�wparentr|�wselfs& �rr��FReferencesTestCase.test_trashcan_16602.<locals>.C.__init__.<locals>.cb�s
�����Ar)rzrbrp)r�parentr�rqs&& @rr3�:ReferencesTestCase.test_trashcan_16602.<locals>.C.__init__�s,��������D�)�� �&�{�{�6�6��r)rprVrs@rrrl�s����
7�
7rr)rz�WeakKeyDictionaryr�rirj)rrr'�rootr��ns&     r�test_trashcan_16602�&ReferencesTestCase.test_trashcan_16602�sQ��	7�	7�
�%�%�'���T�7����s��A���t�O�A�D�1���
�
�
�rc���[]2oQo[OV2oUOUOU2[OU2oUOUO2P!)rac��P!rrr�s&rr��<ReferencesTestCase.test_callback_attribute.<locals>.<lambda>����tr)r/rzrbr��__callback__r�)rr$rcr�r�s&    r�test_callback_attribute�*ReferencesTestCase.test_callback_attribute�sS���1�I��#���{�{�1�'���
�
�d�'�'��2��{�{�1�~�����$�+�+�,rc��[]2o[OVO2oUO	UO
2=[O2UOUO
2P!r`)	r/rzrbrcr�r~rrr�)rr$rbs&  r�&test_callback_attribute_after_deletion�9ReferencesTestCase.test_callback_attribute_after_deletion�sT���1�I���k�k�!�]�]�+�����S�-�-�.�
��������#�*�*�+rc���[]2oQo[OV2oUO[29^tt^2QUmPPP2P!)%fhP!9h)rac��P!rrr�s&rr��@ReferencesTestCase.test_set_callback_attribute.<locals>.<lambda>�r}rc��P!rrr�s&rr�r��s��Dr)r/rzrbr��AttributeErrorr~)rr$rcr�s&   r�test_set_callback_attribute�.ReferencesTestCase.test_set_callback_attribute�sF���1�I��#���{�{�1�'��
�
�
�~�
.�
.� 0�D��/�
.�
.�
.�s�	A�A'	�A'	c��QQ[2oU]2o[OUQ2o=[O2P!)c�(`�\sQsQsnQsQsUsP!)�;ReferencesTestCase.test_callback_gcs.<locals>.ObjectWithDel�c��P!rrrs&rrE�CReferencesTestCase.test_callback_gcs.<locals>.ObjectWithDel.__del__�r}rrrGrs@r�
ObjectWithDelr��s����#�#rr�c�.�[O2!r)rrr�s&rr��6ReferencesTestCase.test_callback_gcs.<locals>.<lambda>�s
��'�*<�*<�*>r)r/rzrbrr)rr�r$r�s&   r�test_callback_gcs�$ReferencesTestCase.test_callback_gcs�s8��	$�F�	$��!����{�{�1�>�?��
����rc���[OQ2O2o[OQU2vq#UO
O
QQ2oUOUQ2P!)a�
        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_clearing�s_����� �
� �U�W�!	
�"�3�3�D�$�?���������);�<�����F�$P�Qrc�v`�,nU1QkoU2[O2UOR,2P!)c�6:`�UU1QkQ2nR2P!)c�>:`�\sQsQsnU1QksUU1QksQsUsP!)�LReferencesTestCase.test_clearing_weakrefs_in_gc.<locals>.test.<locals>.Classic�:�Vm[ORQ2Um[OR2UmP!)c��P!rrrAs&rr��gReferencesTestCase.test_clearing_weakrefs_in_gc.<locals>.test.<locals>.Class.__init__.<locals>.<lambda> s��Dr)�_selfrzrb�wr1�wr2)r�Classs&�rr3�UReferencesTestCase.test_clearing_weakrefs_in_gc.<locals>.test.<locals>.Class.__init__s*���!%�J�&�{�{�5�.�A�D�H�&�{�{�5�1�D�Hrc�:�UO2dROQ2UO2RIcROQ2P!P!)Nz weakref with callback as clearedz$weakref without callback was cleared)r�r�r�)rr��errorss&��rrE�TReferencesTestCase.test_clearing_weakrefs_in_gc.<locals>.test.<locals>.Class.__del__#s>����x�x�z�-��
�
�&H�I��x�x�z��.��
�
�&L�M�/r)r�r�r�)rrrrr3rErr)rr�r�s@��rr�r�s����2�
N�Nrr�r)r�r�s@�r�test�=ReferencesTestCase.test_clearing_weakrefs_in_gc.<locals>.tests���
N�
N�
�Gr)rirjr�)rr�r�s& @r�test_clearing_weakrefs_in_gc�/ReferencesTestCase.test_clearing_weakrefs_in_gcs/�����	�"	
��
�
�
�������$r)r\rb)Frrrrr~r�cpython_onlyr�r�r�r�r�r�r�r�r�ryr�r�r�r�rrr r3r7r:r6rDr�rVr`rlr}r�r�r�r�r�r�r�r�r�r�rrr)r-r0r,rJrNrVr\rerh�unittest�skipIfrr	rxrr�r�r��	nomemtestr�r�rrrs@rrwrwjs������
���,��,�>	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��R�0%�%rrwc�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�SubclassableWeakrefTestCasei2c�x�QQ[O2o[Q2oUU]Q5oUOU2U2UO	UO
2UO
UO]2=[2UOU22UO	UO
2P!)c�D``�\sQsQsnQU1QkksU1QksQsUsU9s!)�=SubclassableWeakrefTestCase.test_subclass_refs.<locals>.MyRefi5c�4:�V0m[RU_	V2P!r)r�superr3)r�obrcr�	__class__s&&&&�rr3�FSubclassableWeakrefTestCase.test_subclass_refs.<locals>.MyRef.__init__6s���"�
��� ��.rc�0:�P	Um[RU_	2!�T)�calledr�r%)rr�s&�rr%�FSubclassableWeakrefTestCase.test_subclass_refs.<locals>.MyRef.__call__9s���"����w�'�)�)r)r�r)Nr)	rrrrr3r%rr�
__classcell__)r�rs@@r�MyRefr�5s����
/�
*�
*rr�rG�r)
rzrbr/r�r�r�r�rrr�)rr�r|�mrs&   r�test_subclass_refs�.SubclassableWeakrefTestCase.test_subclass_refs4s���	*�G�K�K�	*�
�5�M��
�1�B�
���
�
�b�d�A������	�	�"�������2�&�
������"�$������	�	�"rc��QQ[O2o[]*2oUU2o[OU2oUOV42UO	[O
U2VC,2UO	[OU2]2UU2oUO	[OU2]2[O
U2oUO	[U2]2UOVF]*2UOV6Q*2UOVVQ*2P!)c��\sQsQsQsP!)�XSubclassableWeakrefTestCase.test_subclass_refs_dont_replace_standard_refs.<locals>.MyRefiGrr\rrrr�r�Gr�rr�:raNN)
rzrbr/�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_refsFs���	�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�r�(�#��
�
�b�r�(�#rc��QQ[O2o[]*2oUU[2oUU[2oUOV42[OU2oUOV52UOVE2P!)c��\sQsQsQsP!)�USubclassableWeakrefTestCase.test_subclass_refs_dont_conflate_callbacks.<locals>.MyRefiXrr\rrrr�r�Xr�rr�)rzrbr/�idr�r�r�r�)rr�r|r�r�r�s&     r�*test_subclass_refs_dont_conflate_callbacks�FSubclassableWeakrefTestCase.test_subclass_refs_dont_conflate_callbacksWsg��	�G�K�K�	��2�J��
�1�b�\��
�1�c�]������ ��"�"�1�%���
�
�b���
�
�b�rc�:�QQ[O2o[]*2oUUPQQ2oUOUOQ2UOUO
Q2UOUO
2Q2UOUQ2P!)c�8`�\sQsQsnQsQsQsQsQsUs	P!)�HSubclassableWeakrefTestCase.test_subclass_refs_with_slots.<locals>.MyReficc�D�[OOVU2!r)rzrb�__new__)rBr�rc�slot1�slot2s&&&&&rr��PSubclassableWeakrefTestCase.test_subclass_refs_with_slots.<locals>.MyRef.__new__es���{�{�*�*�4�X�>�>rc� �V0mV@mP!r�r�r�)rr�rcr�r�s&&&&&rr3�QSubclassableWeakrefTestCase.test_subclass_refs_with_slots.<locals>.MyRef.__init__gs��"�
�"�
rc�>�UOUO*!rr�rs&r�meth�MSubclassableWeakrefTestCase.test_subclass_refs_with_slots.<locals>.MyRef.methjs���z�z�D�J�J�.�.rr�)
rrrr�	__slots__r�r3r�rrrs@rr�r�cs����(�I�
?�
#�
/�
/rr��abc�def�abcdef�__dict__)rzrbr/r�r�r�r�rH)rr�r|rMs&   r�test_subclass_refs_with_slots�9SubclassableWeakrefTestCase.test_subclass_refs_with_slotsbs{��	/�G�K�K�	/�
�2�J���!�T�5�%�(��������%�(�������%�(��������8�,����a��,rc�>`�QQ[O2oU1Qko[2oUV22oV4m==RO	RO
]2[2oUV22oUV22oVTmV5m===RO	RO
]2P!)c��\sQsQsQsP!)�HSubclassableWeakrefTestCase.test_subclass_refs_with_cycle.<locals>.MyRefizrr\rrrr�r�zr�rr�c�<:�R9O]*
tmP!r`r[)rIrs&�rrc�KSubclassableWeakrefTestCase.test_subclass_refs_with_cycle.<locals>.callbacks����M�M�Q��Mr)rzrbrr|r�r\rM)rr�rcr|r�r�sf     r�test_subclass_refs_with_cycle�9SubclassableWeakrefTestCase.test_subclass_refs_with_cycless����	�G�K�K�	�
	�
�C��
�1�
����
���������*�
�C��
�1�
��
�1�
������
����������*rr)rrrrr�r�r�r�r�rrrs@rr�r�2s#����#�$$�"	 �-�"$+�$+rr�c�v`�\sQsQsnQsQsQsQsQsQs	\
OQ2sQ	s
Q
sQsUsP!)�WeakMethodTestCasei�c�&�QQ[2oU!)c�(`�\sQsQsnQsQsUsP!)�'WeakMethodTestCase._subclass.<locals>.Ci�c��]!)r{rrs&rrI�3WeakMethodTestCase._subclass.<locals>.C.some_method�r�rr)rrrrrIrrrs@rrr�s����
�
rr)r/)rrs& r�	_subclass�WeakMethodTestCase._subclass�s��	��	��rc���[]2o[OUO2oUO	U[O
2UO	U2[
UO22UOU2OU2UOU2OUOO2UOU22]2P!r`)r/rz�
WeakMethodrI�assertIsInstance�
ReferenceTyperBr��__self__�__func__r��rr|rMs&  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��[]2o[OUO2o=[O
2UO
U2P2P!r`)r/rzrrIrirjr�r
s&  r�test_object_dead�#WeakMethodTestCase.test_object_dead�s;���1�I�����q�}�}�-��
�
�
�
���
�
�a�c�4� rc���UO2oU]2o[OUO2oU;[O
2UO
U2P2P!r`)rrzrrIrirjr�)rrr|rMs&   r�test_method_dead�#WeakMethodTestCase.test_method_dead�sI���N�N���
�a�D�����q�}�}�-��
�M�
�
�
���
�
�a�c�4� rc�X`�UO2o,nU1QkoU]2o[OUOU2o=[O
2UO
RU,2[OUm[O
2UO
RU,2P!)c�,:�ROU2P!rr�r2�callss&�rr��=WeakMethodTestCase.test_callback_when_object_dead.<locals>.cb������L�L��r)rrzrrIrirjr�r/�rrr�r|rMrs&    @r�test_callback_when_object_dead�1WeakMethodTestCase.test_callback_when_object_dead�s~����N�N�����	�
�a�D�����q�}�}�b�1��
�
�
�
��������$��*�*��
�
�
�
��������$rc�2`�UO2o,nU1QkoU]2o[OUOU2oU;[O
2UO
RU,2=[O
2UO
RU,2P!)c�,:�ROU2P!rrrs&�rr��=WeakMethodTestCase.test_callback_when_method_dead.<locals>.cb�rr)rrzrrIrirjr�rs&    @r�test_callback_when_method_dead�1WeakMethodTestCase.test_callback_when_method_dead�sv����N�N�����	�
�a�D�����q�}�}�b�1��
�M�
�
�
��������$�
�
�
�
��������$rc���[]2oQo[OUOU2o[OU2o=UOU2P2P!)rac��P!rr)r�s&rr��-WeakMethodTestCase.test_no_cycles.<locals>.cb�r9r)r/rzrrIrbr�)rr|r�rMr}s&    r�test_no_cycles�!WeakMethodTestCase.test_no_cycles�sH��
�1�I��	����q�}�}�b�1��
�[�[��^��
��
�
�b�d�D�!rc	�x`�U1QkoU1Qko[]2o[]2o[OUO2o[OUO2o[OUO2o[OUO2oUVV2UVx2UVW2UVX2UVg2UVh2[]2o	[OU	O2o
[OU	O2oUVZ2UV[2UVj2UVk2UVSO2UU[
2===	[O2VVVxV�1oSFD7o
SFD-oROV�6HV�I2ROV�6gV�I2J/	J9	P!)c�V:�ROV6H2ROV6g2P!r�r�r��r�r[rs&&�r�_eq�-WeakMethodTestCase.test_equality.<locals>._eq��!����O�O�A�F�#����Q�V�$rc�V:�ROV6g2ROV6H2P!rr+r,s&&�r�_ne�-WeakMethodTestCase.test_equality.<locals>._ne�r/r)	r/rzrrIrNrrirjr�)rr-r1r$rYr�r[r�r'rZ�er)r��qrMsf              rr\� 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�"�[]2o[]2o[OUO2o[OUO2o[OUO2oUO[
U2[
U22[
U2o==[O2UO[
U2U2UO[
U2U2UO[[U2P!r`)r/rzrrIrNr�rDrirjr�r�)rr$rYr�r[r��has&      rrh�WeakMethodTestCase.test_hashings���
�1�I���1�I�����q�}�}�-�����q�}�}�-�����q�~�~�.������a��$�q�'�*�
�!�W��
�q�
�
�
������a��"�%�����a��"�%����)�T�1�-rr)rrrrrrrrrr"rr�r'r\rhrrrs@rr�r��sM�����#�!�!�%� %� 
���"��"�'5�R.�.rr�c�`�\sQsQsn]
s\OP	Q5%c\O%cQsLQsQs	Qs
QsQsQ	s
Q
sQsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Qs#Q s$Q!s%Q"s&Q#s'Q$s(Q%s)Q&s*Q's+Q(s,Q)s-Q*s.Q+s/Q,s0\1Od2Q-2s3\1Od2Q.2s4\1Od2Q/2s5\OlQ02s7Q1s8\1Od2\OrQ22Q322s:\1Od2\OrQ22Q422s;\1Od2\OrQ22Q522s<\1Od2\OrQ22Q622s=\OlQ72s>Q8s?Us@P!)9�MappingTestCasei#)�thread��i��c�`�]o[U2Tt,tFD
o[2MJ	ooUU1QkU22oUO2o[U2=[
O2[U2o=[
O2[U2o	UOUQ2UOU	]2P!ttoh[cKzh9h)�c3�@:�SF �DoRU2w�	J	P!3hrr��.0r|�conss& �r�	<genexpr>�3MappingTestCase.check_len_cycles.<locals>.<genexpr>0s������A��Q������)rra)
r�rQ�items�next�
StopIterationrirjr�r�r�)
r�	dict_typerB�Nr�rF�dctrx�n1�n2s
&&f       r�check_len_cycles� MappingTestCase.check_len_cycles-s������%*�1�X�.�X����X��.��/��/�/��
�Y�Y�[��	���H�
�
�
�
��
��X���
�
�
��
��X���
�
�b�&�!�����Q���!/���	��	�s�B=�
C�	C�C�Cc�J�UO[OQ2P!)c��U]1!r`r�r�s&rr��<MappingTestCase.test_weak_keyed_len_cycles.<locals>.<lambda>B���A�q�6r)rNrzrurs&r�test_weak_keyed_len_cycles�*MappingTestCase.test_weak_keyed_len_cyclesAs�����g�7�7�9I�Jrc�J�UO[OQ2P!)c��]U1!r`rrRs&rr��=MappingTestCase.test_weak_valued_len_cycles.<locals>.<lambda>Es��a��Vr)rNrz�WeakValueDictionaryrs&r�test_weak_valued_len_cycles�+MappingTestCase.test_weak_valued_len_cyclesDs�����g�9�9�;K�Lrc�`�UO[O,[O2N3[	]]d2FD�o]o[O
]2[OV3U2[	U2Tt,tFD
o[
2MJ	ooUU1QkU22o=UO2o[U2[U2o	=[U2o
UOU	]2UOV�2UOU
]2UOV�2J�	P!ttoh[cKuh9h)rac3�@:�SF �DoRU2w�	J	P!3hrrr@s& �rrC�1MappingTestCase.check_len_race.<locals>.<genexpr>Os��U���U��D��G�G�U�rE)
�
addCleanuprir;r:r�rjrQrFrGrHr��assertGreaterEqual�assertLessEqual)rrIrB�thrJr�rFrKrxrLrMs&&f        r�check_len_race�MappingTestCase.check_len_raceGs�������(�(�>�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,�>D1�1	D?�;D?�>D?c�J�UO[OQ2P!)c��U]1!r`rrRs&rr��:MappingTestCase.test_weak_keyed_len_race.<locals>.<lambda>`s��!�Q�r)rdrzrurs&r�test_weak_keyed_len_race�(MappingTestCase.test_weak_keyed_len_race_s�����G�5�5�7G�Hrc�J�UO[OQ2P!)c��]U1!r`rrRs&rr��;MappingTestCase.test_weak_valued_len_race.<locals>.<lambda>crTr)rdrzrZrs&r�test_weak_valued_len_race�)MappingTestCase.test_weak_valued_len_racebs�����G�7�7�9I�Jrc��UO2vqSFDLoUO[OU2]2UO	V1UO
*Q2JN	[
UO22o[
UO2O22oUO2UO2UOVEQ2==UO[U2UO2U][2UO[U2UO]*
Q2==[2UO[U2]Q2[O2oUO[UO ]2[#2U]$[2UO[UO ]2P!)ra�#wrong object returned by weak dict!z/cloning of weak-valued dictionary did not work!�/deleting object did not cause dictionary updatez0deleting the values did not clear the dictionary)�make_weak_valued_dictr�rzr�r�r2r^rF�copy�sortr��COUNTrrZr��KeyError�__getitem__r�rr��objectsr|�items1�items2s&     r�test_weak_values� MappingTestCase.test_weak_valuesesc���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��UO2vqSFDToUO[OU2]QU*2UO	UO
V*Q2JV	UO
2oUO2O
2oUO[U2[U2Q2==UO[U2UO2U][2UO[U2UO]*
Q2==[2UO[U2]Q2[]*2oQV$UOV12UO]"U2P!)raz&wrong number of weak references to %r!rqz.cloning of weak-keyed dictionary did not work!rrz.deleting the keys did not clear the dictionaryz$What is the meaning of the universe?)�make_weak_keyed_dictr�rzr�r�r2rFrt�setr�rvrr/r��assertNotInrys&     r�test_weak_keys�MappingTestCase.test_weak_keys�s8��
�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�x�UO2vqUOU2UO2oUO[	U2[	U22[U2oSFD_oU2oUO
Va2UO
Va2UOUOV*2UOU2Ja	UO[	U2]2[U2oUO[	[UO222[	U22UO2FD_oU2oUO
Va2UO
Va2UOUOV*2UOU2Ja	UO[	U2]2P!rZ)	r��check_iters�keyrefsr�r�r^r�r2r��rr�rzr��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���UO2vqUOU2UO2oUO[	U2[	U22[U2oSFDsoU2oUOVaUO*2UOUOVO*O2UOU2Ju	UO[	U2]2[U2oUO[	[UO222[	U22UO2FDsoU2oUOVaUO*2UOUOVO*O2UOU2Ju	UO[	U2]2P!rZ)	rsr��	valuerefsr�r�r^r2r��
itervaluerefsr�s&      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��[UO22oUO2FDoUOU2J	UOUQ2[UO	22oSFDoUOU2J	UOUQ2[UO	22oUO	2FDoUOU2J	UOUQ2[UO22oUO2FDoUOU2J	UOUQ2P!)zitems() did not touch all itemsz!__iter__() did not touch all keysz!iterkeys() did not touch all keysz%itervalues() did not touch all values)r^rFr�r��keys�values)rr�rF�itemr�r�r��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�Z�[U2o[[V222o[U2UP[O
2UO
[[U22[U2[U2]*
,2=UO[U2U]*
2P!r`)	r�r��getattrrGrirjr�r^r�)rr�rz�	iter_namerwrxs&&&&  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��U29^tt^2vq4UOV12PPP2U29^tt^2vq4UO[UOU2PPP2UOWU2U29^tt^2vq4UO[UOU2PPP2UOV12U29^tt^2vq4VAU$PPP2UOV*W2[OU2oU29^tt^2vq4UOU2PPP2UOV2U29^tt^2vq4UO2PPP2UO[U2]2P!)%fhCKy9h)%fhCKR9h)%fhCK9h)%fhK�9h)%fhK�9h)%fhK�9hr)
r�r�rwrR�popr�rt�update�clearr�)rr��testcontextr�r��ddicts&&&   r�-check_weak_destroy_and_mutate_while_iterating�=MappingTestCase.check_weak_destroy_and_mutate_while_iterating�sO���]�]�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�&�#�]�]��
�]�]���]�]���]���]���]�sj�F�$F)�	$F=�G�!G$�G7�F&	�F&	�)F:	�2F:	�=G	�G	�G!	�G!	�$G4	�-G4	�7H	�H	c�R�[Q2oU29^tt^2[U2oUO[UO	222UO[U2U]*
2V1U$UO[U2U2PPP2U29^tt^2UO[U2W]*
2UO
2UO[U2U]*
2PPP2U29^tt^2UO[U2W]*
2U[UO	22UO[U2U]*
2PPP2U29^tt^2UO[U2W]*
2UO
2UO[U2U]*
2PPP2U29^tt^2UO2UO[U2]2PPP2UO[U2]2P!)%fhCK�9h)%fhCKg9h)%fhCK9h)%fhK�9h)%fhK|9h)i@�)r/r�r�rGr�r��popitemr�)rr�r�r|rws&&&  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]�A5I�(AI�AI/�
AJ�6,J�I	�I	�I,	�$I,	�/J	�8J	�J	�J	�J&	�J&	c�``�UO2vnnUORRQ2UORRQ2UORRQ2UORRQ2UO2vnn[OUU1Qk2oUO	RU2UO2vnnUORU2P!)r�rFr�r�c3�@: �[RO22o[U2RO2Oo[
O2[U2U1w�Po[
O2P!Po[
O2h9h3hr�r�rFrGr�r2rirjr/)rxr�r�rzs  ��rr��KMappingTestCase.test_weak_keys_destroy_while_iterating.<locals>.testcontext@si����	
��$�*�*�,�'���R���K�K�M�%�%���
�
���Q�i��l�"����
�
������
�
����B�A#B�)B�B�B)r�r��
contextlib�contextmanagerr�r��rr�r�rzs& @@r�&test_weak_keys_destroy_while_iterating�6MappingTestCase.test_weak_keys_destroy_while_iterating8s�����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�``�UO2vnnUORRQ2UORRQ2UORRQ2UORRQ2UORRQ2UO2vnn[OUU1Qk2oUO	RU2UO2vnnUORU2P!)r�rFr�r�r�c3�@: �[RO22o[U2RO2Oo[
O2U[U21w�Po[
O2P!Po[
O2h9h3hrr�)rxr�r�rzs  ��rr��MMappingTestCase.test_weak_values_destroy_while_iterating.<locals>.testcontext[si����	
��$�*�*�,�'���R���K�K�M�%�%���
�
������l�"����
�
������
�
��r�)rsr�r�r�r�r�r�s& @@r�(test_weak_values_destroy_while_iterating�8MappingTestCase.test_weak_values_destroy_while_iteratingRs�����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�~�[]2o[OUQ-2oUOV!*Q2P!�r��l�r/rzrur��rr|r�s&  r�#test_make_weak_keyed_dict_from_dict�3MappingTestCase.test_make_weak_keyed_dict_from_dictks1���1�I���(�(�!�C��1�������#�&rc��[]2o[OUQ-2o[OU2oUOV!*Q2P!r�r��rr|r��dict2s&   r�.test_make_weak_keyed_dict_from_weak_keyed_dict�>MappingTestCase.test_make_weak_keyed_dict_from_weak_keyed_dictpsA���1�I���(�(�!�C��1���)�)�$�/�������#�&rc��[O2o[[[[UO222oSFDoUOV$J	V1!r)rzrur^�mapr/r�rvr2�rr�rzr|s&   rr��$MappingTestCase.make_weak_keyed_dictvsG���(�(�*���s�6�5����#4�5�6���A��e�e�D�G���}�rc��[]2o[OQU-2oUOUQ*U2P!r��r/rzrZr�r�s&  r�$test_make_weak_valued_dict_from_dict�4MappingTestCase.test_make_weak_valued_dict_from_dict}s3���1�I���*�*�C��7�3������c��A�&rc��[]2o[OQU-2o[OU2oUOUQ*U2P!r�r�r�s&   r�0test_make_weak_valued_dict_from_weak_valued_dict�@MappingTestCase.test_make_weak_valued_dict_from_weak_valued_dict�sC���1�I���*�*�C��7�3���+�+�D�1������c��A�&rc���UO[[OO2UO[[O--2UO[[OQQ2[]2oQFD]o[OQ-V!-@oUO
[UO22U,2UO
V2*U2J_	P!)r�r�rr�r=�iterable)	r�r�rzrZr3r/r�r^r�)rr|�kwr's&   r�test_make_weak_valued_dict_misc�/MappingTestCase.test_make_weak_valued_dict_misc�s������)�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��[O2o[[[[UO222oSFDoV1UO$J	V1!r)rzrZr^r�r/r�rvr2r�s&   rrs�%MappingTestCase.make_weak_valued_dict�sG���*�*�,���s�6�5����#4�5�6���A�����K���}�rc��U2oV6U$VVU$UO[U2]2UO2vqxUO[U2]2VrIcUOV�2LUOV�2UO2vqxUO[U2]2VrIcUOV�2P!UOV�2P!�r�)r�r�r�r�)	r�klass�key1�value1�key2�value2�weakdictr�r�s	&&&&&&   r�
check_popitem�MappingTestCase.check_popitem�s����7������������X���*����!�������X���*��9��M�M�!�$��M�M�!�$����!�������X���*��9��M�M�!�$��M�M�!�$rc�n�UO[OQ[2Q[22P!)r�r�)r�rzrZrrs&r�test_weak_valued_dict_popitem�-MappingTestCase.test_weak_valued_dict_popitem�s%�����7�6�6�!�1�3����	5rc�n�UO[O[2Q[2Q2P!�zvalue 1zvalue 2)r�rzrurrs&r�test_weak_keyed_dict_popitem�,MappingTestCase.test_weak_keyed_dict_popitem�s%�����7�4�4��3�	�1�3�	�	;rc���UOV4Q2U2oUOV#2oUOVc2UOV%2UOUO	U2U2UOVR*U2UOV$2oUOVc2UOV%2UOUO	U2U2UOVR*U2P!)z9invalid 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�l�UO[OQ[2[22P!)r�)r�rzrZrrs&r� test_weak_valued_dict_setdefault�0MappingTestCase.test_weak_valued_dict_setdefault�s#�����g�9�9�#�Q�S�!�#�	/rc�\�UO[O[2QQ2P!r�)r�rzrurrs&r�test_weak_keyed_dict_setdefault�/MappingTestCase.test_weak_keyed_dict_setdefault�s!�����g�7�7��c�9�i�	9rc�:�U2oUOU2UO[U2[U22UO2FD^oUO	VBQ2UOU2oUO
VSU*2UO
VSOU22J`	UO2FDUoUO	VCQ2V$*oUO
VSU*2UO
VSOU22JW	P!)z(mysterious new key appeared in weak dictz%original key disappeared in weak dict)r�r�r�r�r�r�r�)rr�r�r�r�r�s&&&   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
���UO[O][2Q[2[2[2-2UO	[
[OO2[O2oUO	[
UO--2UO	[
UOQQ2UO[UO22,2[]2oQFDno[O2oUOQ-V2-@UO[UO22U,2UOV*U2Jp	P!)rar�rr�)r�rzrZrr�r�r�r�r^r�r/)rr'r|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��[2o[2o[2o[O]U-2o[O]U]U-2oUO2o]U]U-o]U1]U1,oVE*o	UO	[U	2[U2[U2*2UO
[U	2[O2VE*oUO	VI2VW*o
UO	[U
2[U2U*2UO
[U
2[O2VW*oUO	VZ2UO2oV�*oUO	[U2[U2[U2*2UO
[U2[O2Vv*oUO	[U2U[U2*2UO
[U2[O2=UO]U	2UO]U
2UO]U2UO]U2P!r`)	rrzrZrtr�r�r�rBr�)
rr�r[r��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���*�*�A�q�!�Q�<�8���y�y�{����A�q�\���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	�L�UO[O[2][2][2]-2[O2oQoUO	[
U29^tt^2UO
QQ5PPP2P!)%fhP!9h)razQKeyword arguments are not supported: cannot create weak reference to 'str' objectr�rR)r�rzrurr�r�r�)rr'r�s&  r�test_weak_keyed_dict_update�+MappingTestCase.test_weak_keyed_dict_updatesr�����'�3�3��3��1�3��1�3��2�	4��%�%�'��>��
�
#�
#�I�s�
3�
3�
�H�H�s�H�O�4�
3�
3�
3�s�5B�B#	�B#	c�2�[O2o[Q2o[Q2oQV$QV$UO[	U2]2VUO[	U2]2UO[UO
22U,2P!)�1�2�	something)rzrur/r�r�r^r��rr'�o1r�s&   r�test_weak_keyed_delitem�'MappingTestCase.test_weak_keyed_delitem sy���%�%�'��
�C�[��
�C�[������������Q���#�
�E�����Q���#�����a�f�f�h��"��.rc�r�[2o[2o[2o[OU]U]-2o[OU]U]-2oUO2oUQUQ-oU]1U]1,oVE*o	UO	[U	2[U2[U2*2UO
[U	2[O2VE*oUO	VI2VW*o
UO	[U
2[U2U*2UO
[U
2[O2VW*oUO	VZ2UO2oV�*oUO	[U2[U2[U2*2UO
[U2[O2Vv*oUO	[U2U[U2*2UO
[U2[O2=UO]U	O22UO]U
O22UO]UO22UO]UO22P!)ra�5�6)
rrzrurtr�r�r�rBr�r�)
rr
r��o3�wkd1�wkd2�wkd3r�r�r�rrrs
&            r�test_weak_keyed_union_operators�/MappingTestCase.test_weak_keyed_union_operators+s���
�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�8�[O2o[Q2o[Q2oV!Q$V1Q$UO[	U2]2UQUO[	U2]2UO[UO
22QU1,2P!)r	r
rzsomething else)rzrZr/r�r�r^rFrs&   r�test_weak_valued_delitem�(MappingTestCase.test_weak_valued_delitemPs����'�'�)��
�C�[��
�C�[���+�� �
������Q���#�
�k�N�����Q���#�����a�g�g�i��,<�b�+A�*B�Crc��[O2o[Q2oUO[UO
U2UO[UOU2UO[UO
]
2UO[UO]
2UO[UO]
]
2P!)r	)	rzrur/r�rwrRrxr��__setitem__)rr'r|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��``�[O2oP
nUU1QkQ[2o[]2Tt,tFD
p2U2MJ	tonRFDoUOV$J	=[UO
22nRO2P	n]oRFDoU]*
oVJ	[2UO[U2]2UOU]2P!ttoh)Fc�>:`�\sQsQsnQsQsUU1QksQsUsP!)�<MappingTestCase.test_weak_keyed_cascading_deletes.<locals>.Ciqc��VmP!rr�)rr�s&&rr3�EMappingTestCase.test_weak_keyed_cascading_deletes.<locals>.C.__init__rs���
rc�.�[UO2!r)rDrrs&rrE�EMappingTestCase.test_weak_keyed_cascading_deletes.<locals>.C.__hash__ts���D�J�J�'�'rc�N:�R%cRPUOUO6H!r`r�)rr=�mutate�objss&&��rr>�CMappingTestCase.test_weak_keyed_cascading_deletes.<locals>.C.__eq__vs"�����R���z�z�U�[�[�0�0rr�)	rrrrr3rEr>rr)rr(r)s@��rrr"qs����
�
(�
1�
1rr)rzrur�r�rr^r��reverserr�r�)rr'rr�r|�countr(r)s&     @@r�!test_weak_keyed_cascading_deletes�1MappingTestCase.test_weak_keyed_cascading_deletesis����

�%�%�'����
	1�
	1��
	1�$�A�h�'�h���!��h�'���A��7�7�A�D��
��A�F�F�H�~��	
���������A��Q�J�E����	������Q���#������"��1(s�C#c�h�[O2oUO[U2Q2P!)z<WeakValueDictionary at 0x.*>)rzrZr�r{�rr�s& r�test_make_weak_valued_dict_repr�/MappingTestCase.test_make_weak_valued_dict_repr�s%���*�*�,������d��%D�Erc�h�[O2oUO[U2Q2P!)z<WeakKeyDictionary at 0x.*>)rzrur�r{r0s& r�test_make_weak_keyed_dict_repr�.MappingTestCase.test_make_weak_keyed_dict_repr�s%���(�(�*������d��%B�Crc	�$�[O2o[29^tt^2[UO2FD0oUO]
[
22oUOUP2=J2	PPP2P!)%fhP!9hr)rzrZrur��NUM_THREADED_ITERATIONSr�rQr��rr'r�r$s&   r�$test_threaded_weak_valued_setdefault�4MappingTestCase.test_threaded_weak_valued_setdefault�sb���'�'�)��
�
 �
 ��4�7�7�8���L�L��X�Z�0��� � ��D�)��9�!�
 �
 �
 �s�AA>�>B	�B	c�,�[O2o[29^tt^2[UO2FD4o[2U]
$UO
]
]
2oUOUP2J6	PPP2P!)%fhP!9hr)rzrZrur�r7rQr�r�r8s&   r�test_threaded_weak_valued_pop�-MappingTestCase.test_threaded_weak_valued_pop�sg���'�'�)��
�
 �
 ��4�7�7�8�� �
��"���E�E�"�b�M��� � ��D�)�9�!�
 �
 �
 �s�AB�B	�B	c	�.�[O2o[29^tt^2[]UO*2FD.o[2oV1]
$UO
[U2]2PoJ0	PPP2P!)%fhP!9hr�)rzrZrur�r7rQr�r�)rr'r�r|s&   r�%test_threaded_weak_valued_consistency�5MappingTestCase.test_threaded_weak_valued_consistency�sk��
�'�'�)��
�
 �
 ��1�t�;�;�;�<���J���"��� � ��Q���+���=�!�
 �
 �
 �s�AB�B	�B	c�b�[O2o[O29^tt^2[	2U]
$UO
]
*o[	2oV1]
$[O2UO[U2]2PPP2P!)%fhP!9hr)
rzrZrrorQr�rirjr�r�)rr'r}r|s&   r�test_weak_valued_consistency�,MappingTestCase.test_weak_valued_consistency�su��
�'�'�)��
�
�
�
!�
!��J�A�b�E������B��
�A��b�E��J�J�L����S��V�Q�'�"�
!�
!�
!�s�AB�B.	�&B.	c�`�,oQQ2oQQ2oU1QkoQoUOU[O[O12U2o,o	,o
[	Q2FD:oUU2UU2q�U	OU2U
OU
2V�U$==
J<	[OVhU1Q5oU[OIc[OVy1Q5oL[OVz1Q5oUO2UO2UO2UO2U%c
U]*gP!)c�(`�\sQsQsnQsQsUsP!)�?MappingTestCase.check_threaded_weak_dict_copy.<locals>.DummyKeyi�c��VmP!r��ctr�rrIs&&rr3�HMappingTestCase.check_threaded_weak_dict_copy.<locals>.DummyKey.__init__�����rrHrVrs@r�DummyKeyrF�r�rrMc�(`�\sQsQsnQsQsUsP!)�AMappingTestCase.check_threaded_weak_dict_copy.<locals>.DummyValuei�c��VmP!rrHrJs&&rr3�JMappingTestCase.check_threaded_weak_dict_copy.<locals>.DummyValue.__init__�rLrrHrVrs@r�
DummyValuerO�r�rrRc�:�RP	Ic[OU2oP!UO2oP![coSOS2Po=P!Po=hh9hr�)rt�deepcopyr�r�)r'�excr��exrTs&&  �r�	dict_copy�@MappingTestCase.check_threaded_weak_dict_copy.<locals>.dict_copy�sF���
��t�#��
�
�a�(�A�����A���
��
�
�2����
�s!�4�4�4�	A�A�A�Ac���]oU%ci[O][U2]*
2oU]*
oUOU2UQ*]6XfJY[O
2JpP!)ri')�random�randintr�r�rirj)�lst�gc_ctrr�s&  r�pop_and_collect�FMappingTestCase.check_threaded_weak_dict_copy.<locals>.pop_and_collect�sP���F���N�N�1�c�#�h��l�3���!�������
��E�>�Q�&��J�J�L�rip)rnr7)
r�rzrurZr�r�rprqrrrs)r�type_rTrUrMrRrWr^r'r�r�r�r�r��t_copy�	t_collects&&f             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�r�cpuc�H�UO[OP
2P!�F�rcrzrurs&r� test_threaded_weak_key_dict_copy�0MappingTestCase.test_threaded_weak_key_dict_copys��
	
�*�*�7�+D�+D�e�Lrc�H�UO[OP	2P!r�rhrs&r�$test_threaded_weak_key_dict_deepcopy�4MappingTestCase.test_threaded_weak_key_dict_deepcopys��
	
�*�*�7�+D�+D�d�Krc�H�UO[OP
2P!rg�rcrzrZrs&r�"test_threaded_weak_value_dict_copy�2MappingTestCase.test_threaded_weak_value_dict_copys��
	
�*�*�7�+F�+F��Nrc�H�UO[OP	2P!r�rors&r�&test_threaded_weak_value_dict_deepcopy�6MappingTestCase.test_threaded_weak_value_dict_deepcopy#s��
	
�*�*�7�+F�+F��Mrc�|�[O2oUOUOO2P!r)rzrZr��_remove�__closure__)rr's& r�test_remove_closure�#MappingTestCase.test_remove_closure*s(���'�'�)�����!�)�)�/�/�0rr)Arrrrrvr�check_sanitizer�Py_GIL_DISABLEDr7rNrUr[rdrirnr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rrrrrrr-r1r4r�requires_working_threadingr9r<r?r�rBrc�requires_resourcerirlrprsrxrrrs@rr:r:#sa�����E����d�+�+��0G�0G�0G�"&��"(�� �(K�M�)�0I�K�9�@#�<+�6+�2>�4+�'�2'�BG�4G�2'�
'��'�
'�
'��%�$5�;�-�"/�9�.�&'�"#"�J�	/�#+�J	D�=�,#�\F�D��0�0�2��3���0�0�2�*�3�*��0�0�2�
�3�
�
���(��(�$;�z�0�0�2����u�%�M�&�3�M�
�0�0�2����u�%�L�&�3�L�
�0�0�2����u�%�O�&�3�O�
�0�0�2����u�%�N�&�3�N�

���1��1rr:)�
mapping_testsc�t`�\sQsQsnQ\]2Q\]2Q\]2-s\OsQs	Qs
UsP!)�WeakValueDictionaryTestCasei2r�r��key3c�8�UOO2!r)�!_WeakValueDictionaryTestCase__refrtrs&r�
_reference�&WeakValueDictionaryTestCase._reference6����z�z��� � rr)rrrrr/r�rzrZ�	type2testr�rrrs@rr�r�2s8����
�F�1�I�v�f�Q�i���q�	�B�E��+�+�I�!�!rr�c�t`�\sQsQsn\Q2]\Q2]\Q2]-s\OsQs	Qs
UsP!)�WeakKeyDictionaryTestCasei9r�r�r�c�8�UOO2!r)�_WeakKeyDictionaryTestCase__refrtrs&rr��$WeakKeyDictionaryTestCase._reference=r�rr)rrrrr/r�rzrur�r�rrrs@rr�r�9s8����
�F�^�A�v�f�~�a�����B�E��)�)�I�!�!rr�c�j`�\sQsQsnQQ2sQsQsQsQsQs	\
Q	2sQ
sQs
UsP!)�FinalizeTestCaseiAc��\sQsQsQsP!)�FinalizeTestCase.AiCrr\rrrr�r�Cs��rr�c�t�[OOQ6wc[O2P!P!)�cpython)�sys�implementation�namerrrs&r�_collect_if_necessary�&FinalizeTestCase._collect_if_necessaryFs'�����"�"�i�/���� �0rc��`�U1QkoUO2o,n[OV!]C]+]YQ5oUOUOP	2UOUO2V!QQ]Y-12UOU2]�2UOU2P2UOU2P2UOUO2P2UOUO
2P2UOUOP
2UOR]�,2,n[OV!]C]+]Y2oUOUO2V!Q-12UOUO
2V!Q-12UOU2P2UOU2P2UOUO2P2UOUO
2P2UOUOP
2UOR,2,n[OV!]C]+]YQ5o=UO2UOU2P2UOU2P2UOUO2P2UOUO
2P2UOUOP
2UOR]�,2P!)c�`:�ROV*U*2V*U*!rr)r$rYrZr�s&&&�r�add�+FinalizeTestCase.test_finalize.<locals>.addLs!����J�J�q�u�q�y�!��5�1�9�r)rZrZ)r$rYrZ)�C�+)r�r��Y)r�rz�finalizer��alive�peek�detachr�)rr�r�r)r�s&   @r�
test_finalize�FinalizeTestCase.test_finalizeKsV���	�
�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
��`�U1QkoUO2o,n[OV!]]]]Q5oUOUO	2V!QQ]Q]-12U2UORQQ]Q]-1,2UO[29^tt^2[OV!]Q5PPP2UO[29^tt^2[OV!]Q5PPP2UO[[OU2UO[[O2P!)%fhK�9h)%fhKn9h)c�.:�ROV12P!rr)r7�kwargsr�s*,�r�fin�-FinalizeTestCase.test_arg_errors.<locals>.finus����J�J��~�&r)�funcr�r�r�)r�r2)r�r�r2)rar�)r�rzr�r�r�r�r�)rr�r�r)r�s&   @r�test_arg_errors� FinalizeTestCase.test_arg_errorsts���	'�
�F�F�H�������Q�Q���q�9���������A�F�V�Q��q�4I�#J�K�	���������E�1�(=�>�?�@�
�
�
�y�
)�
)����Q�a�0�*�
�
�
�y�
)�
)�����!�4�*����)�W�%5�%5�q�9����)�W�%5�%5�6�*�
)��
)�
)�s$�E�E�E	�
E	�E'	� E'	c��UO2o,o[OVOQ2o[OVOQ2o[OVOQ2o[OVOQ2o[OVOQ2o==UO	UO
2UO	UO
2UO	UO
2UO	UO
22UOUO
2U2UOQ2U2UOUO
2UOQ2U2UOQ2=UO2UOUO
2UOQ2U2,Q	NoUOV(2P!)
�f1�f2�f3�f4�f5r��Brr)r�r�r�rr�r�r�r)
r�rzr�r�r�r�r�r�r�r�)	rr�r�r�r�r�r�r��expecteds	&        r�
test_order�FinalizeTestCase.test_order�sc���F�F�H����
�
�
�a���T�
2��
�
�
�a���T�
2��
�
�
�a���T�
2��
�
�
�a���T�
2��
�
�
�a���T�
2��
��������!�������!�������!�����	�	��$�������"�
���
�
�3��
��������"��
�
�3��
���
�
�3��
��"�"�$�	
������"��
�
�3��
��?������'rc��`�QQ[O2oUO2o,nU1QkoUV#2o[OU2o[OU2o==UO	U22UO	U22=UO2UO
U22UO
U22UOR]{,2P!)c��\sQsQsQsP!)�4FinalizeTestCase.test_all_freed.<locals>.MyFinalizeri�rr\rrr�MyFinalizerr��r�rr�c�,:�RO]{2P!)�{r)r�s�rrc�1FinalizeTestCase.test_all_freed.<locals>.callback�s����J�J�s�Or)rzr�r�rbr�r�r�r�)rr�r�rcr)�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�`�U1Qko[OR[Q[2o[OR[Q[2o[ORU2o[OR[Q[2oP
UmP!)c�j:�[OR[Q2o[Q2]]*P!)�g1�f3 error)rzr��print)r��clss �r�error�,FinalizeTestCase.run_in_child.<locals>.error�s*����!�!�#�u�d�3�B��*��
�a�C�Crr�r�r�)rzr�r��_global_var�atexit)r�r�r�r�r�r�sf     r�run_in_child�FinalizeTestCase.run_in_child�sg���	��
�
�c�5�$��
<��
�
�
�c�5�$��
<��
�
�
�c�5�
)��
�
�
�c�5�$��
<����	rc���Qo[OQU2vq#oUOQ2O2oUO	U,QN2UOQU72P!)z/from test.test_weakref import FinalizeTestCase;r�r�sZeroDivisionErrorzNfrom test.test_weakref import FinalizeTestCase;FinalizeTestCase.run_in_child())z	f4 foobarr�r�z	f1 foobar)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�4rr)rrrrr�r�r�r�r�r��classmethodr�r�rrrs@rr�r�AsH����
�
�!�
'%�R7�&%(�N%�2�!��!�&5�5rr�c�(`�\sQsQsnQsQsUsP!)�ModuleTestCasei�c���QFDno[[U2oUQ6wcUOUOQ2UOUOU2UOUO
U2Jp	P!)r
�WeakSetrz)r
�	ProxyTyperCrr�rurZ)r�rzr�rrr)rr�r�s&  r�
test_names�ModuleTestCase.test_names�sb��Z�D��'�4�(�C��y� �� � �����;����S�\�\�4�0����S�-�-�t�4�
Zrr)rrrrr�rrrs@rr�r��s����5�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�P�UO[O22U!r)�addTest�doctest�DocTestSuite)�loader�tests�patterns&&&r�
load_testsr�G	s��	�M�M�'�&�&�(�)��Lrr�)g{�G�zt?)2rir�r�r�r�rzr
r�rtrprgrZr�r�r�test.supportrrrrrrr	rDr�rrr+r-r/rQ�TestCaserXr�rurwr�r�r:r~�BasicTestMappingProtocolr�r�r�r�r��__test__r�r�mainrrr�<module>r�sn��	�
����������
���1�#�&�)�*�����
�
�
��
����*��
�x� � ��������*E%��E%�Pe+�(�e+�PF.��*�*�F.�RJ1�h�J1�Z�!�-�"H�"H�!�!�
� F� F�!�`5�x�(�(�`5�F5�X�&�&�5�T�
�l
�:�&���
�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit