Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python33/lib64/python3.3/test/__pycache__/test_gc.cpython-33.pyc

�
��ftc@s<ddlZddlmZmZmZmZddlZddlZddlZddl	Z	yddl
Z
Wnek
r�eZ
YnXGdd�de
�ZGdd�de
�ZGdd�de
�ZGd	d
�d
ej�ZGdd�dej�ZGd
d�dej�Zdd�Zedkr8e�ndS(iN(uverboseu
refcount_testurun_unittestustrip_python_stderrcBs |EeZdZdd�ZdS(uC1055820cCs||_||_dS(N(uiuloop(uselfui((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__init__s	uC1055820.__init__N(u__name__u
__module__u__qualname__u__init__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuC1055820suC1055820cBs |EeZdZdd�ZdS(uGC_Detectorcs:d�_�fdd�}tjtd�|��_dS(Ncs
d�_dS(NT(uTrueugc_happened(uignored(uself(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuit_happened"su)GC_Detector.__init__.<locals>.it_happenedi�F(uFalseugc_happeneduweakrefurefuC1055820uwr(uselfuit_happened((uselfu1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__init__s	uGC_Detector.__init__N(u__name__u
__module__u__qualname__u__init__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuGC_DetectorsuGC_DetectorcBs5|EeZdZdZddd�Zdd�ZdS(u
Uncollectableu)Create a reference cycle with multiple __del__ methods.

    An object in a reference cycle will never have zero references,
    and so must be garbage collected.  If one or more objects in the
    cycle have __del__ methods, the gc refuses to guess an order,
    and leaves the cycle uncollected.cCs.|dkr!td|�|_n	||_dS(Nupartner(uNoneu
Uncollectableupartner(uselfupartner((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__init__0suUncollectable.__init__cCsdS(N((uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__del__5suUncollectable.__del__N(u__name__u
__module__u__qualname__u__doc__uNoneu__init__u__del__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
Uncollectable)su
UncollectablecBs||EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
edd��Zdd�Zdd�Zdd�Zedd ��Zed!d"��Zd#d$�Zejed%�d&d'��Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Z d6d7�Z!d8S(9uGCTestscCs:g}|j|�tj�~|jtj�d�dS(Ni(uappendugcucollectuassertEqual(uselful((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu	test_list<s


uGCTests.test_listcCs7i}||d<tj�~|jtj�d�dS(Ni(ugcucollectuassertEqual(uselfud((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu	test_dictCs


uGCTests.test_dictcCsFg}|f}|j|�tj�~~|jtj�d�dS(Ni(uappendugcucollectuassertEqual(uselfulut((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
test_tupleJs	

uGCTests.test_tuplecCsCGdd�d�}||_tj�~|jtj�d�dS(NcBs|EeZdZdS(uGCTests.test_class.<locals>.AN(u__name__u
__module__u__qualname__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuAUsuAi(uaugcucollectuassertNotEqual(uselfuA((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
test_classTs
	
uGCTests.test_classcCs=Gdd�dt�}tj�~|jtj�d�dS(NcBs|EeZdZdS(u%GCTests.test_newstyleclass.<locals>.AN(u__name__u
__module__u__qualname__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuA]suAi(uobjectugcucollectuassertNotEqual(uselfuA((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_newstyleclass\s
uGCTests.test_newstyleclasscCsLGdd�d�}|�}||_tj�~|jtj�d�dS(NcBs|EeZdZdS(u GCTests.test_instance.<locals>.AN(u__name__u
__module__u__qualname__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuAdsuAi(uaugcucollectuassertNotEqual(uselfuAua((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
test_instancecs		
uGCTests.test_instancecCsZGdd�dt�}|�}||_tj�~|jtj�d�Gdd�dt�}Gdd�d||�}|�}||_tj�~|jtj�d�~~ttd�r�|jtj�d�n|jtj�d�|�|_~ttd�r*|jtj�d�n|jtj�d�|jtj�d�dS(	NcBs|EeZdZdS(u#GCTests.test_newinstance.<locals>.AN(u__name__u
__module__u__qualname__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuAmsuAicBs|EeZdZdS(u#GCTests.test_newinstance.<locals>.BN(u__name__u
__module__u__qualname__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuBtsuBcBs|EeZdZdS(u#GCTests.test_newinstance.<locals>.CN(u__name__u
__module__u__qualname__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuCvsuCu	getcounts(	uobjectuaugcucollectuassertNotEqualulistuhasattrusysuassertEqual(uselfuAuauBuC((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_newinstancels.		
		
uGCTests.test_newinstancecCsCGdd�d�}|�}tj�~|jtj�d�dS(NcBs |EeZdZdd�ZdS(uGCTests.test_method.<locals>.AcSs|j|_dS(N(u__init__uinit(uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__init__�su'GCTests.test_method.<locals>.A.__init__N(u__name__u
__module__u__qualname__u__init__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuA�suAi(ugcucollectuassertNotEqual(uselfuAua((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_method�s
	
uGCTests.test_methodcCs�Gdd�d�}Gdd�d�}|�}||_t|�}|�}||_tj�~~|jtj�d�x:tjD]"}t|�|kr�|`Pq�q�W|jd�tjj|�dS(NcBs |EeZdZdd�ZdS(u!GCTests.test_finalizer.<locals>.AcSsdS(N((uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__del__�su)GCTests.test_finalizer.<locals>.A.__del__N(u__name__u
__module__u__qualname__u__del__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuA�suAcBs|EeZdZdS(u!GCTests.test_finalizer.<locals>.BN(u__name__u
__module__u__qualname__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuB�suBiu&didn't find obj in garbage (finalizer)(	uauidubugcucollectuassertNotEqualugarbageufailuremove(uselfuAuBuauid_aubuobj((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_finalizer�s"				

uGCTests.test_finalizercCs�Gdd�dt�}Gdd�dt�}|�}||_t|�}|�}||_tj�~~|jtj�d�x:tjD]"}t|�|kr�|`Pq�q�W|jd�tjj	|�dS(NcBs |EeZdZdd�ZdS(u*GCTests.test_finalizer_newclass.<locals>.AcSsdS(N((uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__del__�su2GCTests.test_finalizer_newclass.<locals>.A.__del__N(u__name__u
__module__u__qualname__u__del__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuA�suAcBs|EeZdZdS(u*GCTests.test_finalizer_newclass.<locals>.BN(u__name__u
__module__u__qualname__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuB�suBiu&didn't find obj in garbage (finalizer)(
uobjectuauidubugcucollectuassertNotEqualugarbageufailuremove(uselfuAuBuauid_aubuobj((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_finalizer_newclass�s"				

uGCTests.test_finalizer_newclasscCs:i}td|�tj�~|jtj�d�dS(Nudef f(): pass
i(uexecugcucollectuassertEqual(uselfud((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
test_function�s


uGCTests.test_functioncCs7dd�}tj�|�|jtj�d�dS(NcSstj�}dS(N(usysu	_getframe(uframe((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuf�suGCTests.test_frame.<locals>.fi(ugcucollectuassertEqual(uselfuf((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
test_frame�s
uGCTests.test_framecCs�tj�|jtjg�g}|j|�t|�}tj�}tj|tjB�~tj�tj|�|jt	tj�d�tjj
�}|jt|�|�dS(Ni(ugcucollectuassertEqualugarbageuappenduidu	get_debugu	set_debugu
DEBUG_SAVEALLulenupop(uselfuLuid_Ludebuguobj((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_saveall�s



uGCTests.test_saveallcCs]tj�}tj�tjd�Gdd�d�}|�}~tj�tj|�dS(NicBs |EeZdZdd�ZdS(uGCTests.test_del.<locals>.AcSst|�dS(N(udir(uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__del__�su#GCTests.test_del.<locals>.A.__del__N(u__name__u
__module__u__qualname__u__del__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuA�suA(ugcu
get_thresholduenableu
set_thresholdudisable(uselfu
thresholdsuAua((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_del�s

	
uGCTests.test_delcCs`tj�}tj�tjd�Gdd�dt�}|�}~tj�tj|�dS(NicBs |EeZdZdd�ZdS(u$GCTests.test_del_newclass.<locals>.AcSst|�dS(N(udir(uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__del__su,GCTests.test_del_newclass.<locals>.A.__del__N(u__name__u
__module__u__qualname__u__del__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuAsuA(ugcu
get_thresholduenableu
set_thresholduobjectudisable(uselfu
thresholdsuAua((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_del_newclass�s

	
uGCTests.test_del_newclasscCs�tj�tj�\}}}g}tj�\}}}|j||fd�|j||fd�|j|d�|j||�dS(Nii(ii(ii(ugcucollectu	get_countuassertEqualu
assertLessu
assertGreater(uselfuaubucuxudueuf((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_get_counts
uGCTests.test_get_countcCs�tj�g}tjd�tj�\}}}tjd�tj�\}}}tjd�tj�\}}	}
|j||fd�|j||fd�|j|	|
fd�dS(Niii(ii(ii(ii(ugcucollectu	get_countuassertEqual(uselfuxuaubucudueufuguhui((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_collect_generationss



u GCTests.test_collect_generationscs�G�fdd�d��tj�d}x�td�D]�}g}x#t|�D]}|��g}qOWg}x#t|�D]}|��g}q{Wi}x+t|�D]}i|d6��d6}q�Wq6Wtj�dS(Ncs,|EeZdZdZ�fdd�ZdS(u#GCTests.test_trashcan.<locals>.Ouchics4�jd�_�jddkr0tj�ndS(Niii(unugcucollect(uself(uOuch(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__del__7su+GCTests.test_trashcan.<locals>.Ouch.__del__N(u__name__u
__module__u__qualname__unu__del__(u
__locals__(uOuch(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuOuch5suOuchi�ii(ugcuenableurangeudisable(uselfuNucountutuiuuuv((uOuchu1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
test_trashcan4s
uGCTests.test_trashcanu*test meaningless on builds without threadscsJd�d}dd��G��fdd�dt����fdd����fd	d
�}tj�}tjd�z�d�g}x3t|�D]%}tjd|�}|j|�q�Wx|D]}|j	�q�Wt
jd
�d�x|D]}|j
�q�WWdtj|�Xtj�|jt�j�t�j��dS(Ni<icssz	dVWdtjd�XdS(u<A generator that releases the GIL when closed or dealloc'ed.Ng���ư>(utimeusleep(((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyusleeper_gen]s	u2GCTests.test_trashcan_threads.<locals>.sleeper_gencsG|EeZdZgZgZ�fdd�Z��fdd�ZdS(u(GCTests.test_trashcan_threads.<locals>.Ccs$||dd�<�jjd�dS(N(uinitsuappenduNone(uselfualist(uC(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__init__hsu1GCTests.test_trashcan_threads.<locals>.C.__init__cs'�jjd���}t|�dS(N(udelsuappenduNoneunext(uselfug(uCusleeper_gen(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__del__ks	u0GCTests.test_trashcan_threads.<locals>.C.__del__N(u__name__u
__module__u__qualname__uinitsudelsu__init__u__del__(u
__locals__(uCusleeper_gen(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuCdsuCcs<�g�}x&t��D]}�|g�g}qW~dS(uyCreate a sufficiently nested container object so that the
            trashcan mechanism is invoked when deallocating it.N(urange(uxui(uCuNESTING(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyumake_nestedvsu2GCTests.test_trashcan_threads.<locals>.make_nestedcsx�s��qWdS(u!Exercise make_nested() in a loop.N(((uexitumake_nested(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
run_thread~s	u1GCTests.test_trashcan_threads.<locals>.run_threadg�h㈵��>utargetg�?FT(ulistusysugetswitchintervalusetswitchintervaluFalseurangeu	threadinguThreaduappendustartutimeusleepuTrueujoinugcucollectuassertEqualulenuinitsudels(uselfu	N_THREADSu
run_threaduold_switchintervaluthreadsuiut((uCuNESTINGuexitumake_nestedusleeper_genu1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_trashcan_threadsWs.




uGCTests.test_trashcan_threadscCs�Gdd�d�}|�}|�}||_||_tj�ttj�}~~|jtj�d�|jttj�|�dS(NcBs |EeZdZdd�ZdS(uGCTests.test_boom.<locals>.BoomcSs|`t�dS(N(uattruAttributeError(uselfu
someattribute((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__getattr__�su+GCTests.test_boom.<locals>.Boom.__getattr__N(u__name__u
__module__u__qualname__u__getattr__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuBoom�suBoomi(uattrugcucollectulenugarbageuassertEqual(uselfuBoomuaubu
garbagelen((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu	test_boom�s				
uGCTests.test_boomcCs�Gdd�d�}|�}|�}||_||_tj�ttj�}~~|jtj�d�|jttj�|�dS(NcBs,|EeZdZdd�Zdd�ZdS(u!GCTests.test_boom2.<locals>.Boom2cSs
d|_dS(Ni(ux(uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__init__�su*GCTests.test_boom2.<locals>.Boom2.__init__cSs1|jd7_|jdkr'|`nt�dS(Ni(uxuattruAttributeError(uselfu
someattribute((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__getattr__�s	u-GCTests.test_boom2.<locals>.Boom2.__getattr__N(u__name__u
__module__u__qualname__u__init__u__getattr__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuBoom2�suBoom2i(uattrugcucollectulenugarbageuassertEqual(uselfuBoom2uaubu
garbagelen((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
test_boom2�s
				
uGCTests.test_boom2cCs�Gdd�dt�}|�}|�}||_||_tj�ttj�}~~|jtj�d�|jttj�|�dS(NcBs |EeZdZdd�ZdS(u'GCTests.test_boom_new.<locals>.Boom_NewcSs|`t�dS(N(uattruAttributeError(uselfu
someattribute((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__getattr__�su3GCTests.test_boom_new.<locals>.Boom_New.__getattr__N(u__name__u
__module__u__qualname__u__getattr__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuBoom_New�suBoom_Newi(uobjectuattrugcucollectulenugarbageuassertEqual(uselfuBoom_Newuaubu
garbagelen((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
test_boom_new�s				
uGCTests.test_boom_newcCs�Gdd�dt�}|�}|�}||_||_tj�ttj�}~~|jtj�d�|jttj�|�dS(NcBs,|EeZdZdd�Zdd�ZdS(u)GCTests.test_boom2_new.<locals>.Boom2_NewcSs
d|_dS(Ni(ux(uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__init__�su2GCTests.test_boom2_new.<locals>.Boom2_New.__init__cSs1|jd7_|jdkr'|`nt�dS(Ni(uxuattruAttributeError(uselfu
someattribute((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__getattr__�s	u5GCTests.test_boom2_new.<locals>.Boom2_New.__getattr__N(u__name__u
__module__u__qualname__u__init__u__getattr__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu	Boom2_New�su	Boom2_Newi(uobjectuattrugcucollectulenugarbageuassertEqual(uselfu	Boom2_Newuaubu
garbagelen((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_boom2_new�s
				
uGCTests.test_boom2_newcCs1dddg}tj|�}|j�|j||�t|�}tj|�}|j�|j||�idd6dd6}ddddg}tj|�}|j�|j||�tjddgidd6d
�}|j�|j|ddgttd���|jtjddd	�g�dS(Niiiiiiiuay@(iii(ugcu
get_referentsusortuassertEqualutupleulisturange(uselfualistugotuatupleuadictuexpected((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_get_referents�s"


"
&uGCTests.test_get_referentscCs�|jtjd��|jtjd��|jtjd��|jtjd��|jtjd	��|jtjd
��|jtjd��|jtjd��|jtjtd���|jtjt��|jtjt��|jtjt	��|jtjt	���Gdd�d�}|j
tjt��|j
tj|��|j
tj|���|j
tjg��|j
tjt���dS(Nig�?y@sauacBs|EeZdZdS(u*GCTests.test_is_tracked.<locals>.UserClassN(u__name__u
__module__u__qualname__(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu	UserClasssu	UserClassy�?@TF(uassertFalseugcu
is_trackeduNoneuTrueuFalseu	bytearrayutypeuintuobjectu
assertTrueuset(uselfu	UserClass((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_is_tracked
s&uGCTests.test_is_trackedcs�g���fdd��dd�td�D�}�fdd�|D��d}tj�|jt��d�d}tj�|jt��d�x�D]}|j|d�q�WdS(Ncs!dd��D��dd�<dS(NcSsg|]}|��qS(((u.0uwr((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>*s	u>GCTests.test_bug1055820b.<locals>.callback.<locals>.<listcomp>((uignored(uWRsuouch(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyucallback)su*GCTests.test_bug1055820b.<locals>.callbackcSsg|]}t|��qS((uC1055820(u.0ui((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>,s	u,GCTests.test_bug1055820b.<locals>.<listcomp>ics"g|]}tj|���qS((uweakrefuref(u.0uc(ucallback(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>-s	i(urangeuNoneugcucollectuassertEqualulen(uselfuCsucux((uWRsucallbackuouchu1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_bug1055820b%s


uGCTests.test_bug1055820bcs�ddl�d}��fdd�}||d�}�jd|��jd|�||d�}�jd	|��jd
|kp�d|k|�||d�}�jd
|�dS(Niu�if 1:
            import gc
            class X:
                def __init__(self, name):
                    self.name = name
                def __repr__(self):
                    return "<X %%r>" %% self.name
                def __del__(self):
                    pass

            x = X('first')
            x.x = x
            x.y = X('second')
            del x
            gc.set_debug(%s)
        cs��jtjdd|gd�jd�j�}|j�\}}|jj�|jj��j|j	d��j|j
�d�t|�S(Nu-Wdu-custdoutustderris(uPopenusysu
executableuPIPEucommunicateustdoutucloseustderruassertEqualu
returncodeustripustrip_python_stderr(ucodeupustdoutustderr(uselfu
subprocess(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyurun_commandOs	

u5GCTests.test_garbage_at_shutdown.<locals>.run_commandu0s=ResourceWarning: gc: 2 uncollectable objects at shutdown; uses<X 'first'>ugc.DEBUG_UNCOLLECTABLEs8ResourceWarning: gc: 2 uncollectable objects at shutdowns[<X 'first'>, <X 'second'>]s[<X 'second'>, <X 'first'>]ugc.DEBUG_SAVEALLs!uncollectable objects at shutdown(u
subprocessuassertInuassertNotInu
assertTrue(uselfucodeurun_commandustderr((uselfu
subprocessu1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_garbage_at_shutdown=s		u GCTests.test_garbage_at_shutdownN("u__name__u
__module__u__qualname__u	test_listu	test_dictu
test_tupleu
test_classutest_newstyleclassu
test_instanceutest_newinstanceutest_methodutest_finalizerutest_finalizer_newclassu
test_functionu
refcount_testu
test_frameutest_saveallutest_delutest_del_newclassutest_get_countutest_collect_generationsu
test_trashcanuunittestu
skipUnlessu	threadingutest_trashcan_threadsu	test_boomu
test_boom2u
test_boom_newutest_boom2_newutest_get_referentsutest_is_trackedutest_bug1055820butest_garbage_at_shutdown(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuGCTests;s6
	
	#?uGCTestscBst|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS(uGCCallbackTestscCshtj�|_tj�tj�|_tjd�tjj|j	�tjj|j
�g|_dS(Ni(ugcu	isenableduenabledudisableu	get_debugudebugu	set_debugu	callbacksuappenducb1ucb2uothergarbage(uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyusetUpms

uGCCallbackTests.setUpcCs�|`tjj|j�tjj|j�tj|j�|jrRtj	�ntj
�x,tjD]!}t|t
�rfd|_qfqfWtjdd�=|`tj
�dS(N(uvisitugcu	callbacksuremoveucb1ucb2u	set_debugudebuguenableduenableucollectugarbageu
isinstanceu
UncollectableuNoneupartneruothergarbage(uselfuobj((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutearDownws	

uGCCallbackTests.tearDowncCsWg|_tj�tjdd�g}tjdd�<|jj|�g|_dS(N(uvisitugcucollectugarbageuothergarbageuappend(uselfugarbage((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyupreclean�s
	
'uGCCallbackTests.precleancCs#|jjd|t|�f�dS(Ni(uvisituappendudict(uselfuphaseuinfo((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyucb1�suGCCallbackTests.cb1cCs�|jjd|t|�f�|dkr�t|d�r�dd�tjD�}dd�tjD�tjdd�<x|D]}d|_qzWndS(NiustopucleanupcSs%g|]}t|t�r|�qS((u
isinstanceu
Uncollectable(u.0ue((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>�s	u'GCCallbackTests.cb2.<locals>.<listcomp>cSs%g|]}t|t�s|�qS((u
isinstanceu
Uncollectable(u.0ue((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>�s	(uvisituappendudictuhasattrugcugarbageuNoneupartner(uselfuphaseuinfouucue((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyucb2�s#
uGCCallbackTests.cb2cCsC|j�tj�dd�|jD�}dd�|D�}dd�|D�}|j|dgd�|j|dgd�dd�|jD�}dd�|D�}d	d�|D�}|j|d
gd�|j|dgd�xT|jD]I}|d}|jd|k�|jd
|k�|jd|k�q�WdS(NcSsg|]}|d�qS(i((u.0uv((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>�s	u0GCCallbackTests.test_collect.<locals>.<listcomp>cSs"g|]}|dkr|�qS(i((u.0ui((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>�s	cSs"g|]}|dkr|�qS(i((u.0ui((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>�s	iicSsg|]}|d�qS(i((u.0uv((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>�s	cSs"g|]}|dkr|�qS(ustart((u.0ui((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>�s	cSs"g|]}|dkr|�qS(ustop((u.0ui((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu
<listcomp>�s	ustartustopu
generationu	collectedu
uncollectable(uprecleanugcucollectuvisituassertEqualu
assertTrue(uselfunun1un2uvuinfo((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_collect�s"


uGCCallbackTests.test_collectcCsM|j�tjd�x/|jD]$}|d}|j|dd�q!WdS(Niu
generation(uprecleanugcucollectuvisituassertEqual(uselfuvuinfo((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_collect_generation�s



u'GCCallbackTests.test_collect_generationcCsm|j�t�t�td�tj�xY|jD]N}|ddkrRq6n|d}|j|dd�|j|dd�q6W|jttj�d�x!tjD]}|j	|t�q�Wd
|_g|_gtjdd�<tj�xY|jD]N}|ddkrq�n|d}|j|dd	�|j|dd�q�W|jttj�d	�dS(Ni�iustopiu	collectedu
uncollectableiiiT(uprecleanu
UncollectableuC1055820ugcucollectuvisituassertEqualulenugarbageuassertIsInstanceuTrueucleanup(uselfuvuinfoue((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_collect_garbage�s2



		

u$GCCallbackTests.test_collect_garbageN(u__name__u
__module__u__qualname__usetUputearDownuprecleanucb1ucb2utest_collectutest_collect_generationutest_collect_garbage(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuGCCallbackTestsls


uGCCallbackTestscBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	S(
uGCTogglingTestscCstj�dS(N(ugcuenable(uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyusetUp�suGCTogglingTests.setUpcCstj�dS(N(ugcudisable(uself((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutearDown�suGCTogglingTests.tearDownc
s0td�}tj�td�}||_|`td�}tj|��g���fdd�}tj||�}d}}}g}d}t�}xV|j	s�|d7}|dkr�|j
d�n|jt��d�|j
g�q�W|jt��d�x�D]}	|j|	d�qWdS(Niiics��g�dd�<dS(N((uignored(uc2wruouch(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyucallback�su2GCTogglingTests.test_bug1055820c.<locals>.callbacki'u'gc didn't happen after 10000 iterations(uC1055820ugcucollectu
keep_c0_aliveuloopuweakrefurefuNoneuGC_Detectorugc_happenedufailuassertEqualulenuappend(
uselfuc0uc1uc2ucallbackuc0wrujunkuiudetectorux((uc2wruouchu1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_bug1055820c�s.
	 	

u GCTogglingTests.test_bug1055820cc	s(g�G��fdd�dt�}|d�}tj�td�}||_|`td�}tj|��d}}}t�}g}d}xV|j	s�|d7}|dkr�|j
d�n|jt��d�|j
g�q�W|jt��d�x�D]}|j|d�q
WdS(Ncs)|EeZdZ��fdd�ZdS(u+GCTogglingTests.test_bug1055820d.<locals>.Dcs��g�dd�<dS(N((uself(uc2wruouch(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu__del__9su3GCTogglingTests.test_bug1055820d.<locals>.D.__del__N(u__name__u
__module__u__qualname__u__del__(u
__locals__(uc2wruouch(u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuD8suDiiii'u'gc didn't happen after 10000 iterations(uC1055820ugcucollectu
keep_d0_aliveuloopuweakrefurefuNoneuGC_Detectorugc_happenedufailuassertEqualulenuappend(	uselfuDud0uc1uc2udetectorujunkuiux((uc2wruouchu1/opt/alt/python33/lib64/python3.3/test/test_gc.pyutest_bug1055820d2s,
		

u GCTogglingTests.test_bug1055820dN(u__name__u
__module__u__qualname__usetUputearDownutest_bug1055820cutest_bug1055820d(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyuGCTogglingTests�sFuGCTogglingTestscCs�tj�}tj�tj�s)t�tj�}tj|tj@�ztj�tt	t
t�Wdtj|�tr�t
d�ntj�tj�s�t�|s�tj�nXdS(Nurestoring automatic collection(ugcu	isenabledudisableuAssertionErroru	get_debugu	set_debugu
DEBUG_LEAKucollecturun_unittestuGCTestsuGCTogglingTestsuGCCallbackTestsuverboseuprintuenable(uenabledudebug((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu	test_mainus




u	test_mainu__main__(uunittestutest.supportuverboseu
refcount_testurun_unittestustrip_python_stderrusysutimeugcuweakrefu	threadinguImportErroruNoneuobjectuC1055820uGC_Detectoru
UncollectableuTestCaseuGCTestsuGCCallbackTestsuGCTogglingTestsu	test_mainu__name__(((u1/opt/alt/python33/lib64/python3.3/test/test_gc.pyu<module>s("

��3y�