Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
test_leaks.cpython-313.pyc76 linesDownload Raw Back to __pycache__
1�

2��jM���SrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJ	r	 SSKJ3r4 SSKJr SSKJ
r
 SS	KJr SS5KJr \R (de"SS\5rS
r"SS\5r\S:Xa\"S5R/5 gg)z)6Testing scenarios that may have leaked.7�N�)�TestCase)�PY314)�RUNNING_ON_FREETHREAD_BUILD)�WIN)�fails_leakcheck)�ignores_leakcheck)�RUNNING_ON_MANYLINUXc�D�\rSrSr\"5rSrSrSr\	S5r8Srg)�HasFinalizerTracksInstances�c��[R"U5UlURR	[U55 g�N)�sys�intern�msg�EXTANT_INSTANCES�add�id)�selfrs  �_D:\code\apps\devtools\python\user_packages\Python313\site-packages\greenlet/tests/test_leaks.py�__init__�$HasFinalizerTracksInstances.__init__s)���:�:�c�?������!�!�"�T�(�+�c�L�URR[U55 gr)r�remover�rs r�__del__�#HasFinalizerTracksInstances.__del__ s�����$�$�R��X�.rc�6�S[U5UR4-$)Nz(<HasFinalizerTracksInstances at 0x%x %r>)rrrs r�__repr__�$HasFinalizerTracksInstances.__repr__"s!��9��t�H�d�h�h�=9�10�	11rc�8�URR5 gr)r�clear)�clss r�reset�!HasFinalizerTracksInstances.reset&s�����"�"�$r)rN)�__name__�12__module__�__qualname__�__firstlineno__�setrrrr!�classmethodr&�__static_attributes__�rrrrs-���u��,�/�13��%��%rrc�2�[(aU$[U5$r)rr)�funcs r�&fails_leakcheck_except_on_free_thradedr2+s��"�"����4� � rc���\rSrSrSrSr\S5rSrSr	Sr14SSjrS	rS15r
\S5r\S5r\S
5rSrSr\S5rSSjr\S5r\S5rSrg)�	TestLeaks�3c���Sn[R"U5n[R"S5n[S5HnUR"U6 M UR[R"U5U5 g)N)�a�b�cc�Z�[R"5RR"U6$r��greenlet�16getcurrent�parent�switch)�argss r�<lambda>�)TestLeaks.test_arg_refs.<locals>.<lambda>:s��(�-�-�/�6�6�=�=�t�Dr�d)r�getrefcountr<�ranger?�assertEqual)rr@�refcount_before�g�_s     r�
test_arg_refs�TestLeaks.test_arg_refs5s[�����/�/�$�/�����D�
F���s��A�
�H�H�d�O���������.��@rc�T�0nUR[R"U5[(dSOS5 [R"S5n[S5HnUR"S0UD6 M UR[R"U5[(dS5 gS5 g)N�rc�`�[R"5RR"S0UD6$)Nr/r;)�gkwargss rrA�+TestLeaks.test_kwarg_refs.<locals>.<lambda>Ds!��h�1�1�3�:�:�A�A�L�G�LrrCr/)rFrrDrr<rEr?)r�kwargsrHrIs    r�test_kwarg_refs�TestLeaks.test_kwarg_refs?s{�����������0�5�5�!�a�H����L�
N���s��A�
�H�H��v���	
�������0�5�5�!�H�a�Hrc��Sn[R"US9nUR5 [R"S5 URS5 g)Nc�0�[R"S5 g)N�����MbP?)�time�sleepr/rr�worker�+TestLeaks.__recycle_threads.<locals>.workerTs���J�J�u�r��targetrV�17)�	threading�Thread�startrWrX�join)rY�ts  r�__recycle_threads�TestLeaks.__recycle_threadsLs7��	����F�+��	���	��18�19�5��	���r�20rc�^�/mU4Sjn[S5H9n[R"US9nUR5 UR	S5 AM; [21R"5 UR5 [22R"5 [R"5 [23R"5 THnURU"55 M g)Nc�v>�TR[R"[R"555 gr)�append�weakref�refr<r=)�ggs�rrY�,TestLeaks.test_threaded_leak.<locals>.worker]s!����I�I�g�k�k�(�"5�"5�"7�8�9rrMr[r]�rEr^r_r`rar<r=�_TestLeaks__recycle_threads�gc�collect�assertIsNone�rrYrIrbrHrjs     @r�test_threaded_leak�TestLeaks.test_threaded_leak[s����
��	:��q��A�� � ��/�A�
�G�G�I�
�F�F�2�J��	�24	������� �����25�26�27�������A����a�c�"�rc�^�/mU4Sjn[S5H9n[R"US9nUR5 UR	S5 AM; [28R"5 UR5 [29R"5 [R"5 [30R"5 THnURU"55 M g)Nc�(>^�/=m[R"5lU4Sjn[S5H'n[R"U5R	5 M) TR[R"[R"555 g)Nc�N>�TR[R"55 gr)rgr<r=)�lls�r�31additional�DTestLeaks.test_threaded_adv_leak.<locals>.worker.<locals>.additionalrs����	�	�(�-�-�/�0rrM)r<r=rwrEr?rgrhri)rxrIrwrjs  @�rrY�0TestLeaks.test_threaded_adv_leak.<locals>.workerosa���,.�.�B��$�$�&�)�
1��1�X���!�!�*�-�4�4�6���I�I�g�k�k�(�"5�"5�"7�8�9rrMr[r]rlrqs     @r�test_threaded_adv_leak� TestLeaks.test_threaded_adv_leakms����
��	:��q��A�� � ��/�A�
�G�G�I�
�F�F�2�J��	�32	������� �����33�34�35�������A����a�c�"�rc�T�[RR5nURUS5 [RR	S5 [RR5nURX5 UR
[RRS5 g)NrTr)r<�	_greenlet�&get_clocks_used_doing_optional_cleanup�assertGreaterEqual�enable_optional_cleanuprF�
assertGreater�CLOCKS_PER_SEC)r�used�used2s   r�assertClocksUsed�TestLeaks.assertClocksUsed�sx���!�!�H�H�J������a�(����2�2�4�8��"�"�I�I�K������%����8�-�-�<�<�a�@rc�^^^	^36^^^
�[R"/5(de[R5 [R37"5 UR
[RSS9n[R"5m38[R"5m	/mU4Sjm/m
U	U39UUU
U4Sjn[R"US9nUR5 T40RS5 [R41"5 UR
[SS9n[T5S:XdeURTS	R5 TSS2	T	R!5 UR#S5 AUR%5 UR
[SS9nUR
[RSS9nUR'Xv5 T(d`[R(R+5bAUR-X�5 T(a(UR-[R.[!55 O[R(R+5bUR15 gg)42NF)�43exact_kindc�@>�[S5n[RRS[S55 T(a3[R"5R44RnU"U/5 g[R"5R45R
U/5 g)NzDELETING STACK OBJECT�test_leaks_keyzDELETING THREAD STATE)rr<r~�set_thread_localr=r>r?)�jd�s�explicit_reference_to_switchs  �r�background_greenlet�6TestLeaks._check_issue251.<locals>.background_greenlet�sv���,�-D�E�B����/�/� �+�,C�D�
F�46,��'�'�)�0�0�7�7���2�$���#�#�%�,�,�3�3�R�D�9rc�P>�[R"T5nTR[R"UR55 TRU5 UR5 ATR
5 TRS5 T(a[R"5 gg)Nr])	r<rgrhrir>r?r,�waitr=)�glet�background_glet_killed�background_glet_runningr��background_greenlets�
bg_main_wrefs�manually_collect_backgrounds ������r�background_thread�4TestLeaks._check_issue251.<locals>.background_thread�sy����$�$�%8�9�D�� � ����T�[�[�!9�:� �'�'��-��K�K�M��#�'�'�)�"�'�'��+�47+��#�#�%�+rr[r]Trr)rn�48is_trackedrr&r<r=�
count_objectsr^�Eventr_r`r��list�len�assertFalse�deadr,ra�wait_for_pending_cleanups�assertLessEqualr~rrFrr�)rr�r��greenlets_beforer�rb�lists_before�lists_after�greenlets_afterr�r�r�r�r�s ``      @@@@@r�_check_issue251�TestLeaks._check_issue251�s�����}�}�R� � � � �#�)�)�+������-�-�h�.?�.?�E�-�R��"+�/�/�"3��!*���!2��!��	:��
�	&�	&�$
���$5�6��	���	��$�$�R�(������)�)�$�4�)�@���'�(�A�-�-�-����-�a�0�5�5�6�
!��#��"�"�$�	49���r�50�
�	
�&�&�(��(�(��$�(�?���,�,�X�->�->�5�,�Q��51	
���[�7�,��!�!�H�H�J�V����_�?�*�� � �!<�!M�!M�s�u�U��
����D�D�F�R��!�!�#�Src�$�UR5 gr�r�rs r�-test_issue251_killing_cross_thread_leaks_list�7TestLeaks.test_issue251_killing_cross_thread_leaks_lists�����rc���[RRS5 UR5 [RRS5 g![RRS5 f=f)NFT)r<r~r�r�rs r�#test_issue251_with_cleanup_disabled�-TestLeaks.test_issue251_with_cleanup_disabledsP�����2�2�5�9�	=�� � �"����6�6�t�<��H���6�6�t�<�s�A�!A2c�"�URSS9 g)NF�r�r�rs r�4test_issue251_issue252_need_to_collect_in_background�>TestLeaks.test_issue251_issue252_need_to_collect_in_backgrounds��&	
�����?rc���SUl[RRS5 UR	SS9 [RRS5 g![RRS5 f=f)NTFr�)�expect_greenlet_leakr<r~r�r�rs r�Etest_issue251_issue252_need_to_collect_in_background_cleanup_disabled�OTestLeaks.test_issue251_issue252_need_to_collect_in_background_cleanup_disabled*s]��$(��!����2�2�5�9�	=�� � �U� �C����6�6�t�<��H���6�6�t�<�s�A�!A8c�$�URSSS9 g)NFT)r�r�r�rs r�9test_issue251_issue252_explicit_reference_not_collectable�CTestLeaks.test_issue251_issue252_explicit_reference_not_collectable3s�����(-�)-�	�	/rrCc�p�[RSS:�de[(aURS5 gg)Nr�z!Slow and not worth repeating here)r�version_infor52�skipTestrs r�_only_test_some_versions�"TestLeaks._only_test_some_versions;s5������"�a�'�'�'����M�M�=�>� rc�l^^�UR5 SmSmUU4Sjn[S5H53nU"5 M UR5n[UR5HBn[	X0R55nU"5 UR5nXS::dM:US:�dMB O URWU5 g)Nc��g)Nrr/r/rr�f�:TestLeaks.test_untracked_memory_doesnt_increase.<locals>.fMs��r�'c�r>�[T5H'n[R"T5R5 M) gr)rEr<r?)rI�ITERr�s ��r�run_it�?TestLeaks.test_untracked_memory_doesnt_increase.<locals>.run_itQs(����4�[���!�!�!�$�+�+�-�!rr�r)r�rE�get_process_uss�UNTRACK_ATTEMPTS�maxr�)rr�rI�54uss_before�count�	uss_afterr�r�s      @@r�%test_untracked_memory_doesnt_increase�/TestLeaks.test_untracked_memory_doesnt_increaseFs����	
�%�%�'�	���	.�55�q��A��H���)�)�+�56��4�0�0�1�E��Z�)=�)=�)?�@�J��H��,�,�.�I��&�5�1�9��
2�	
���Y�57�3rc�^^	^58^^^
�UR5 UR5 S/m	U	4SjmSm59U60U4SjmUm
"UUU
4SjS5nS=p4[UR5GH"nST	S'U"5n[R61"US9nUR
5 URS5 URUR55 UcURn[X6R5nT(a>URURS	5 URT	ST62UR-5 AAT(dURT	SS5 T(aUR5 UR5nXC::dGMUS63:�dGM# O UR5 UR5n[ (aSOSnUR#XCU-SW4-5 g)
Nrc�>�[R"5RR5 g![Ra TS==S-
ss'ef=f)Nrr)r<r=r>r?�GreenletExit)�64EXIT_COUNTs�rr��3TestLeaks._check_untracked_memory_thread.<locals>.ftsP���
��#�#�%�,�,�3�3�5����(�(�
��1�
��"�
��
�s	�-1�#Ar�c�>�/n[T5H:n[R"T5nURU5 UR5 M< U$r)rEr<rgr?)�gletsrIrHr�r�s   ��rr��8TestLeaks._check_untracked_memory_thread.<locals>.run_it}sC����E��4�[���%�%�a�(�����Q�����65�
!��Lrc�6>�\rSrSrS=rrSrSrUUU4SjrSr	g)�<TestLeaks._check_untracked_memory_thread.<locals>.ThreadFunci�rr/rMc�P>�TR5Ul[UR5H&nU=R[T"55-
slM( URHnTR
S[U55 M  T(aSUlTR5Ulg)Nzsuspended activer/)	r�r�rEr�r��tuple�assertIn�strr�)rrIrH�deallocate_in_threadr��tests   ���r�__call__�ETestLeaks._check_untracked_memory_thread.<locals>.ThreadFunc.__call__�sy���"&�"6�"6�"8����t�y�y�)�A��J�J�%���/�1�J�*����A��M�M�"4�c�!�f�=�$�(�!#�D�J�!%�!5�!5�!7��r)r�r�r�N)66r(r)r*r+r�r�r�r�r�r.)r�r�r�s���r�67ThreadFuncr��s!���%&�&�J���E��D�
8�
8rr�r[�r/rizafter attempts %d)r�r�rEr�r^r_r`rar��is_aliver�r�rFr�r�r�rr�)rr�r�r�r�r��thread_funcrb�	tolerancer�r�r�r�r�s `       @@@@@r�_check_untracked_memory_thread�(TestLeaks._check_untracked_memory_threadhs�����%�%�'�	
�����S�68�	���69	���	8�	8�$"&�%�70��4�0�0�1�E��J�q�M�$�,�K�� � ��4�A�
�G�G�I�
�F�F�2�J����Q�Z�Z�\�*��!�(�3�3�71��Z�)?�)?�@�J�#�� � ��!2�!2�B�7�� � ��A���{�7G�7G�0G�H���'�� � ��A���2�#��.�.�0��,�,�.�I��&�5�1�9��52�8	
�&�&�(��(�(�*�	�#&�#�J�1�	����Y�Y�(>�0�E�8�;�	=rc�"�URSS9 g)NT�r�)r�rs r�Itest_untracked_memory_doesnt_increase_unfinished_thread_dealloc_in_thread�STestLeaks.test_untracked_memory_doesnt_increase_unfinished_thread_dealloc_in_thread�s��	
�+�+��+�Frc��[(a'[(a[(aURS5 UR	SS9 g)Nz6Windows 3.14t appears to leak. No other platform does.Fr�)rrrr�r�rs r�Gtest_untracked_memory_doesnt_increase_unfinished_thread_dealloc_in_main�QTestLeaks.test_untracked_memory_doesnt_increase_unfinished_thread_dealloc_in_main�s1���3�.�.�5�5��M�M�R�S��+�+��+�Gr)r�N)TF)T)r(r)r*r+rJrR�staticmethodrmrrr{r�r�r�r�r2r�r�r�r�r�r	r�r�r�r�r.r/rrr4r43s���A�72I�����#�$#�.A�59�5:�|$�|�=�,�@�,�@�(,�=�,�=�,�/�,�/�73��	?��4��4�>\=�|�G��G��H��Hrr4�__main__�unittest)�__doc__rrnrWrhr^r<�rrrr�	leakcheckrr	r74�GREENLET_USE_GC�objectrr2r4r(�75__import__�mainr/rr�<module>r�s�����	�������)��&�(�+�76�����
%�&�
%� !�hH��hH�T
�z���z����!�r
codekingpro/portable-devtools · Team Ai