Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_finalization.cpython-310.pyc
o

�9j�:�@sBdZddlZddlZddlZddlZzddlmZWn
ey'dd�ZYnwzddlmZWn
ey=dd�ZYnwdd	l	m
Z
Gd
d�d�ZGdd
�d
e�ZeGdd�de��Z
eGdd�de��ZGdd�de�ZGdd�de�ZGdd�d�ZGdd�deej�ZGdd�d�ZGdd�dee�ZGdd�dee�ZGd d!�d!ee�ZGd"d#�d#eej�ZGd$d%�d%�ZGd&d'�d'ee�ZGd(d)�d)ee�ZGd*d+�d+ee�ZGd,d-�d-eej�ZGd.d/�d/e�ZeGd0d1�d1e��ZeGd2d3�d3e��Z eGd4d5�d5ee��Z!e
j"Gd6d7�d7eej��Z#e$d8k�re�%�dSdS)9zB
Tests for object finalization semantics, as outlined in PEP 442.
�N)�with_tp_delcCsGdd�dt�}|S)Nc@�eZdZdd�ZdS)zwith_tp_del.<locals>.Cc_�td��)Nzrequires _testcapi.with_tp_del��	TypeError��cls�args�kwargs�r�-/usr/lib/python3.10/test/test_finalization.py�__new__�zwith_tp_del.<locals>.C.__new__N��__name__�
__module__�__qualname__r
rrrr�C�r)�object�rrrrrr
sr)�
without_gccCsGdd�d�}|S)Nc@r)zwithout_gc.<locals>.Cc_r)Nzrequires _testcapi.without_gcrrrrrr
rzwithout_gc.<locals>.C.__new__Nrrrrrrrrrrrrrrsr)�supportc@s^eZdZdZgZgZgZgZdZdZ	e
dd��Ze
ej
dd���Zdd	�Zd
d�Zdd
�ZdS)�NonGCSimpleBasezd
    The base class for all the objects under test, equipped with various
    testing features.
    FrcCs>|j��|j��tj��t��|j��|j��dS�N)�	survivors�clear�errors�gc�garbage�collect�	del_calls�tp_del_calls�rrrr�_cleanup.s



zNonGCSimpleBase._cleanupc	cs��t���3|j��|j��dt_zdV|jr|jd�Wdt_|��ndt_|��wWd�dS1s;wYdS)zI
        A context manager to use around all finalization tests.
        FNrT)	r�
disable_gcr!rr"r�	_cleaningrr$r#rrr�test7s�



�
�"�zNonGCSimpleBase.testcC�dS)z8
        Check the object is sane (non-broken).
        Nr��selfrrr�check_sanityI�zNonGCSimpleBase.check_sanityc
C�fz|js|j�t|��|��|��WdSWdSty2}z
|j�|�WYd}~dSd}~ww)z�
        PEP 442 finalizer.  Record that this was called, check the
        object is in a sane state, and invoke a side effect.
        N)r&r!�append�idr+�side_effect�	Exceptionr�r*�errr�__del__Ns���zNonGCSimpleBase.__del__cCr()z6
        A side effect called on destruction.
        Nrr)rrrr0[r,zNonGCSimpleBase.side_effectN)rrr�__doc__rr!r"rr&�	__slots__�classmethodr$�
contextlib�contextmanagerr'r+r4r0rrrrrs 

rc@�eZdZdd�Zdd�ZdS)�
SimpleBasecCst|�|_dSr)r/�id_r)rrr�__init__c�zSimpleBase.__init__cCs|jt|�ks	J�dSr)r<r/r)rrrr+f�zSimpleBase.check_sanityN)rrrr=r+rrrrr;asr;c@seZdZdZdS)�NonGCrN)rrrr6rrrrr@jsr@c@seZdZdZdd�ZdS)�NonGCResurrectorrcC�|j�|�dS�zF
        Resurrect self by storing self in a class-wide list.
        N�rr.r)rrrr0r�zNonGCResurrector.side_effectN)rrrr6r0rrrrrAnsrAc@�eZdZdS)�SimpleN�rrrrrrrrGx�rGc@r)�SimpleResurrectorcCrBrCrDr)rrrr0~rEzSimpleResurrector.side_effectN�rrrr0rrrrrJ|�rJc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�TestBasecCs"tjdd�|_gtjdd�<dSr)rr�old_garbager)rrr�setUp�szTestBase.setUpcCs0z|�tjg�W|`t��dS|`t��wr)�assertEqualrrrNr r)rrr�tearDown�s�
zTestBase.tearDowncC�|�ttj�t|��dSr)rP�sortedr;r!�r*�idsrrr�assert_del_calls��zTestBase.assert_del_callscCrRr)rPrSr;r"rTrrr�assert_tp_del_calls�rWzTestBase.assert_tp_del_callscC�$|�tdd�tjD��t|��dS)Ncs��|]}t|�VqdSr�r/��.0�xrrr�	<genexpr>���z,TestBase.assert_survivors.<locals>.<genexpr>)rPrSr;rrTrrr�assert_survivors��$zTestBase.assert_survivorscCrY)NcsrZrr[r\rrrr_�r`z*TestBase.assert_garbage.<locals>.<genexpr>)rPrSrrrTrrr�assert_garbage�rbzTestBase.assert_garbagecCstj��dSr)r;rrr)rrr�clear_survivors�r>zTestBase.clear_survivorsN)
rrrrOrQrVrXrarcrdrrrrrM�srMc@s<eZdZdZdd�Zdd�Zejdd��Zejdd	��Z	d
S)�SimpleFinalizationTestz.
    Test finalization without refcycles.
    cC�t���:t�}t|�g}t�|�}~t��|�|�|�	g�|�
|�d�t��|�|�|�	g�Wd�dS1sAwYdSr)r;r'rGr/�weakref�refrr rVra�assertIs�r*�srU�wrrrr�test_simple��





"�z"SimpleFinalizationTest.test_simplecCs�t���=t�}t|�g}t�|�}~t��|�|�|�	|�|�
|�d�|��t��|�|�|�	g�Wd�n1sDwY|�|�d�dSr)
r;r'rJr/rgrhrr rVra�assertIsNotrdrirjrrr�test_simple_resurrect�s





�
z,SimpleFinalizationTest.test_simple_resurrectcCs�t���6t�}|�t�|��t|�g}~t��|�|�|�	g�t��|�|�|�	g�Wd�dS1s=wYdSr)
r;r'r@�assertFalser�
is_trackedr/r rVra�r*rkrUrrr�test_non_gc�s




"�z"SimpleFinalizationTest.test_non_gccCs�t���<t�}|�t�|��t|�g}~t��|�|�|�	|�|�
�t��|�|d�|�	|�Wd�dS1sCwYdS�N�)r;r'rArqrrrr/r rVrardrsrrr�test_non_gc_resurrect�s



"�z,SimpleFinalizationTest.test_non_gc_resurrectN)
rrrr5rmrpr�cpython_onlyrtrwrrrrre�s

recs(eZdZ�fdd�Z�fdd�Z�ZS)�
SelfCycleBasecst���||_dSr)�superr=rhr)��	__class__rrr=�s

zSelfCycleBase.__init__cst���|j|usJ�dSr)rzr+rhr)r{rrr+�s
zSelfCycleBase.check_sanity)rrrr=r+�
__classcell__rrr{rry�sryc@rF)�SimpleSelfCycleNrHrrrrr~�rIr~c@rF)�SelfCycleResurrectorNrHrrrrr�rIrc@r)�SuicidalSelfCyclecCs
d|_dS)�7
        Explicitly break the reference cycle.
        N)rhr)rrrr0�s
zSuicidalSelfCycle.side_effectNrKrrrrr��rLr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�SelfCycleFinalizationTestzX
    Test finalization of an object having a single cyclic reference to
    itself.
    cCrfr)r;r'r~r/rgrhrr rVrarirjrrrrmrnz%SelfCycleFinalizationTest.test_simplecCs�t���Et�}t|�g}t�|�}~t��|�|�|�	|�|�
|�d�|��t��|�|�|�	g�|�
|�d�Wd�dS1sLwYdSr)r;r'rr/rgrhrr rVrarirdrjrrrrps






"�z/SelfCycleFinalizationTest.test_simple_resurrectcCs�t���At�}t|�g}t�|�}~t��|�|�|�	g�|�
|�d�t��|�|�|�	g�|�
|�d�Wd�dS1sHwYdSr)r;r'r�r/rgrhrr rVrarirjrrr�test_simple_suicide%s






"�z-SelfCycleFinalizationTest.test_simple_suicideN)rrrr5rmrpr�rrrrr��s
r�cs$eZdZdd�Z�fdd�Z�ZS)�ChainedBasecCsd|_||_||_dS)NF��suicided�left�right)r*r�rrr�chain9s
zChainedBase.chaincs�t���|jr|jdusJ�|jdusJ�dS|j}|jr&|jdus%J�n|j|us-J�|j}|jr<|jdus:J�dS|j|usCJ�dSr)rzr+r�r�r�)r*r�r�r{rrr+>s
zChainedBase.check_sanity)rrrr�r+r}rrr{rr�7sr�c@rF)�
SimpleChainedNrHrrrrr�OrIr�c@rF)�ChainedResurrectorNrHrrrrr�RrIr�c@r)�SuicidalChainedcCsd|_d|_d|_dS)r�TNr�r)rrrr0Ws
zSuicidalChained.side_effectNrKrrrrr�UrLr�c@sheZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�CycleChainFinalizationTestz�
    Test finalization of a cyclic chain.  These tests are similar in
    spirit to the self-cycle tests above, but the collectable object
    graph isn't trivial anymore.
    cCs:dd�|D�}tt|��D]
}||�||d�q
|S)NcS�g|]}|��qSrr)r]rrrr�
<listcomp>h�z:CycleChainFinalizationTest.build_chain.<locals>.<listcomp>�)�range�lenr�)r*�classes�nodes�irrr�build_chaingsz&CycleChainFinalizationTest.build_chaincCs�t|�}t���B|�|�}dd�|D�}dd�|D�}~t��|�|�|�g�|�dd�|D�dg|�t��|�|�Wd�dS1sMwYdS)NcS�g|]}t|��qSrr[�r]rkrrrr�q�zKCycleChainFinalizationTest.check_non_resurrecting_chain.<locals>.<listcomp>cS�g|]}t�|��qSr�rgrhr�rrrr�r�cSr�rr�r]rlrrrr�wr�)	r�r;r'r�rr rVrarP)r*r��Nr�rU�wrsrrr�check_non_resurrecting_chainms



"�z7CycleChainFinalizationTest.check_non_resurrecting_chaincCs�t|�}t���V|�|�}t|�}dd�|D�}dd�|D�}dd�|D�}~t��|�|�|�|�|�dd�|D�dg|�|�	�t��|�|�|�g�Wd�dS1sawYdS)NcSr�rr[r�rrrr��r�zGCycleChainFinalizationTest.check_resurrecting_chain.<locals>.<listcomp>cSsg|]}t|t�rt|��qSr)�
isinstancerJr/r�rrrr��scSr�rr�r�rrrr��r�cSr�rrr�rrrr��r�)
r�r;r'r�rr rVrarPrd)r*r�r�r�rU�survivor_idsr�rrr�check_resurrecting_chain{s"




"�z3CycleChainFinalizationTest.check_resurrecting_chaincC�|�tgd�dS�N�)r�r�r)rrr�test_homogenous��z*CycleChainFinalizationTest.test_homogenouscCr�r�)r�r�r)rrr�test_homogenous_resurrect�r�z4CycleChainFinalizationTest.test_homogenous_resurrectcCr�r�)r�r�r)rrr�test_homogenous_suicidal�r�z3CycleChainFinalizationTest.test_homogenous_suicidalcC�|�ttgd�dSru�r�r�r�r)rrr�test_heterogenous_suicidal_one�r?z9CycleChainFinalizationTest.test_heterogenous_suicidal_onecCs|�tgdtgd�dSrur�r)rrr�test_heterogenous_suicidal_two�s�z9CycleChainFinalizationTest.test_heterogenous_suicidal_twocCr�ru)r�r�r�r)rrr�test_heterogenous_resurrect_one�r?z:CycleChainFinalizationTest.test_heterogenous_resurrect_onecCs|�tttgd�dSru�r�r�r�r�r)rrr�test_heterogenous_resurrect_two�s�z:CycleChainFinalizationTest.test_heterogenous_resurrect_twocCs(|�tgdtgdtgd�dSrur�r)rrr�!test_heterogenous_resurrect_three�s�z<CycleChainFinalizationTest.test_heterogenous_resurrect_threeN)rrrr5r�r�r�r�r�r�r�r�r�r�r�rrrrr�`sr�c@r:)�
LegacyBasec
Cs^z|js|j�t|��|��WdSWdSty.}z
|j�|�WYd}~dSd}~wwr)r&r!r.r/r+r1rr2rrrr4�s���zLegacyBase.__del__c
Cr-)zJ
        Legacy (pre-PEP 442) finalizer, mapped to a tp_del slot.
        N)r&r"r.r/r+r0r1rr2rrr�
__tp_del__�s���zLegacyBase.__tp_del__N)rrrr4r�rrrrr��s
r�c@rF)�LegacyNrHrrrrr���r�c@r)�LegacyResurrectorcCrBrCrDr)rrrr0�rEzLegacyResurrector.side_effectNrKrrrrr��sr�c@rF)�LegacySelfCycleNrHrrrrr��r�r�cs8eZdZdZ�fdd�Zdd�Zdd�Zdd	�Z�ZS)
�LegacyFinalizationTestz5
    Test finalization of objects with a tp_del.
    cs tj��t��t���dSr)rrrr rzrQr)r{rrrQ�s
zLegacyFinalizationTest.tearDowncCs�t���?t�}t|�g}t�|�}~t��|�|�|�	|�|�
g�|�|�d�t��|�|�|�	|�Wd�dS1sFwYdSr)r;r'r�r/rgrhrr rVrXrarirjrrr�test_legacy�s






"�z"LegacyFinalizationTest.test_legacycCs�t���It�}t|�g}t�|�}~t��|�|�|�	|�|�
|�|�|�d�|��t��|�|�|�	|d�|�
|�Wd�n1sPwY|�|�d�dSru)
r;r'r�r/rgrhrr rVrXrarirdrjrrr�test_legacy_resurrect�s"






�z,LegacyFinalizationTest.test_legacy_resurrectcCs�t���;t�}t|�g}t�|�}~t��|�g�|�	g�|�
g�|�|�|�|�d�dtj
d_Wd�n1sBwY|�g�|�|�d�dS)Nr)r;r'r�r/rgrhrr rVrXrarcrorrirjrrr�test_legacy_self_cycles






�

z-LegacyFinalizationTest.test_legacy_self_cycle)	rrrr5rQr�r�r�r}rrr{rr��sr��__main__)&r5r8r�unittestrg�	_testcapir�ImportErrorrr'rrr;r@rArGrJrM�TestCasereryr~rr�r�r�r�r�r�r�r�r�r�r�rxr�r�mainrrrr�<module>s`��B			A
	:M
A�

Youez - 2016 - github.com/yon3zu
LinuXploit