Ͻ4hSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJ r J r J r SSK J r SSKJr SSKJr SSKJr SSKrSSKrSr\R,"S5rS rS rS rS rS rSrSrSr"SS\R@5r!"SS\R@5r""SS\R@5r#"SS\R@5r$"SS\R@5r%\RL"\SLS5"SS\R@55r'\(S:Xa\RR"5 gg!\a SrSrNf=f)N)patch)assert_python_okassert_python_failure interpreter_requires_environment)support)force_not_colorized) os_helper)threading_helper)i@c/n[R"S5n[U5HNnURnURU-nUR UR U45 SnURnUbMN O [U5$)Nr) sys _getframerangef_codef_linenoappend co_filenamef_backtuple)nframe lineno_deltaframesframeindexcodelinenos rr)r/r/r/)r.r.r8r6)r.r8r6)r5)c.pyBr)r#Snapshot)traceback_limit raw_tracessnapshot raw_traces2 snapshot2s rcreate_snapshotsrN0sBO J##J@H K$$[BI   r c0[R"X45$N)r#_Framefilenamers rrrQs   x0 11r c.[R"U5$rP)r#r&)rs r tracebackrUTs   ((r c[X45$rP)rUrRs rtraceback_linenorWWs h' ((r c[US5$Nr)rW)rSs rtraceback_filenamerZZs Ha ((r c\rSrSrSrSrg) TestTraceback^cS[4SjnURU"S5S5 URU"SS5S5 SnSnURU"U5S US 35 URU"US 5S US 35 g) Nreturnc:[[R"U65$rP)reprr#r&)argss rget_repr)TestTraceback.test_repr..get_repr`s --t45 5r zrz))f1r)f2r.z@(, )z r.z total_nframe=2>)str assertEqual)selfrcrexp_repr_framess r test_reprTestTraceback.test_repr_s 6s 6 "'78 "a*IJ' /  &)&&7q9 ; &!,&&77GH Jr reN)__name__ __module__ __qualname____firstlineno__rm__static_attributes__rer rr\r\^sJr r\c\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSr\R*"5S5rSrSrg)TestTracemallocEnabledqc[R"5(aURS5 [R"S5 g)N+tracemalloc must be stopped before the testr)r# is_tracingskipTeststartrks rsetUpTestTracemallocEnabled.setUprs,  ! ! # # MMG H!r c.[R"5 grPr#stopr|s rtearDownTestTracemallocEnabled.tearDownxr c>[S5Vs/sHn[S5PM nn[R"5nUR US5 [R "5 [R"5nUR US5 UR XC5 gs snf)N{r)rr,r#get_tracemalloc_memoryassertGreaterEqual clear_tracesassertLessEqual)rkcountr+r)size2s rtest_get_tracemalloc_memory2TestTracemallocEnabled.test_get_tracemalloc_memory{sz16t=s#=113 a(  "224 q) U)>sBc[R"5 Sn[U5up#[R"U5nUR XC5 gN90)r#rr,get_object_tracebackrjrkobj_sizeobj obj_tracebackrUs rtest_get_object_traceback0TestTracemallocEnabled.test_get_object_tracebacks>  "+H544S9  2r cj[R"5 [R"5 /nSn/n[R"5n[ US5n[R "U[[U5U55n[R"U5nURU5 URXT5 g)N) r#rr gc_collectr$r r&r'r(rassertIsNotNonerj)rkrrrrrUs rtest_new_reference)TestTracemallocEnabled.test_new_references  "002FB'#--fc#f+v6NO 44S9  Y' 2r cdSn[R"5 UR[[RS5 [R"5 [R"S5 [ U5up#[R "U5nUR[U5S5 URXC5 [R"5 [R"S5 [ U5upV[R "U5nUR[U5S5 URXF5 g)Nr0r r) r#r assertRaises ValueErrorr{r,rrjr()rkrobj2obj2_tracebackrUrrs rtest_set_traceback_limit/TestTracemallocEnabled.test_set_traceback_limits *k&7&7<"-h744T:  Y, 3!+H544S9  Y+ 2r c|UH%nUSUR:XdMUSU:XdM#Us $ URS5 g)Nr.rztrace not found)_framesfail)rktracesrUr)traces r find_trace!TestTracemallocEnabled.find_traces?EQx9,,,qT1A  #$r cz[R"5 Sn[U5up#[R"5nUR XCU5nUR U[ 5 UupgpURXR5 [R"5 UR[R"5/5 gr) r#rr, _get_tracesrassertIsInstancerrjrr) rkrrrrrdomainr)rUlengths rtest_get_traces&TestTracemallocEnabled.test_get_tracess  "+H5((*x@ eU+*/'i $9$9: 002B7r c^^SmU4SjmU4Sjn[R"5 [R"S5 SnSnU"U5upEU"U5upg[R"5n[ [ UR 55Ul[ [ UR 55UlURXU5n URXU5n U uppU unnnnURUU 5 g)Nc[U5$rP)r,r)s rallocate_bytes2PTestTracemallocEnabled.test_get_traces_intern_traceback..allocate_bytes2s !$' 'r c>T"U5$rPre)r)rs rallocate_bytes3PTestTracemallocEnabled.test_get_traces_intern_traceback..allocate_bytes3"4( (r c>T"U5$rPre)r)rs rallocate_bytes4PTestTracemallocEnabled.test_get_traces_intern_traceback..allocate_bytes4rr r5r}) r#rr{rrreversedrrassertIs)rkr obj1_size obj2_sizeobj1obj1_tracebackrrrtrace1trace2domain1size1 traceback1length1domain2r traceback2length2rrs @@r test_get_traces_intern_traceback7TestTracemallocEnabled.test_get_traces_intern_tracebacks ( ) ) !  .y9.y9((*!&x0F0F'G!H!&x0F0F'G!HCC.4+ .4+ G j*-r cSnSn[R"5 [U5up4[R"5upVUR XR5 UR Xe5 UR XR- U5 UR Xe- U5 Sn[R"5upxUR Xu5 UR XW- X!- 5 UR X5 [R"5 UR[R"5S5 [U5up4[R"5upVUR XR5 [R"5 UR[R"5S5 g)N)rr) r#rr,get_traced_memoryrr assertLessrjr) rk max_errorrrrr) peak_sizer peak_size2s rtest_get_traced_memory-TestTracemallocEnabled.test_get_traced_memorys<   "+H5%779 /  0 T_i8 Y-y9'99; $  h.BC  6   " 668&A,H5%779 /  668&Ar c[S5up[R"U5nURU5 [R"5 [R"U5nUR U5 g)Nr)r,r#rrr assertIsNone)rkrrrUrs rtest_clear_traces(TestTracemallocEnabled.test_clear_traces sW+C044S9  Y'  " 55c:  *%r c[R"5 [[[ S555n[R "5up#[R "5 [R "5upEURXT5 URXS5 Sn[U5upx[R "5upURX5 URX5 URX- U5 g)Nir) r#rsumlistrr reset_peakrrr, assertGreater) rk large_sumrpeak1rpeak2rrrsize3peak3s rtest_reset_peak&TestTracemallocEnabled.test_reset_peaks   "U6]+, "446   "446  - %+H5"446  - 5(  x8r c[R"5 UR[R"55 [R"5 UR [R"55 grP)r#r assertFalseryr{ assertTruer|s rtest_is_tracing&TestTracemallocEnabled.test_is_tracing-sF //12  ..01r c[S5up[R"5nURURSR R S5 UR[R5 UR[R[R5 [RR[R5nURURUR5 [R"5 UR!["5n[R"5 SSS5 UR[%WR&5S5 g!,(df  N4=f)Nrrr0zLthe tracemalloc module must be tracing memory allocations to take a snapshot)r,r# take_snapshotrrrU total_nframedumpr TESTFN addCleanupunlinkrHloadrjrr RuntimeErrorri exception)rkrsourcerKrMcms r test_snapshot$TestTracemallocEnabled.test_snapshot4s$S) ,,. 8??1-77DDbI  i&&'  (()*:*:; ((--i.>.>?  ))8??;    | ,  % % '- R\\*: ;- ,s E$$ E2ch[R"5nSUlUR[R 5 UR [R[R 5 [RR[R 5nURURS5 g)Nnew) r#r test_attrrr rrrrHrrj)rkrKrMs rtest_snapshot_save_attr.TestTracemallocEnabled.test_snapshot_save_attrMsx,,." i&&'  (()*:*:; ((--i.>.>?  ,,e4r c[R"5(dgSn[U5up#[R"U5nUcgg)Nr.rr6r)r#ryr,rrs r fork_child!TestTracemallocEnabled.fork_childXsD%%''+H544S9  r c[R"5nU(d*SnUR5n[R"U5 g[R "USS9 g![R"U5 f=f)Nrr)exitcode)osforkr_exitr wait_process)rkpidr s r test_fork TestTracemallocEnabled.test_forkesTggiH #??,"  q 1"s AA5c2[R"5 [R"S5 SnU"S5RSn[R"U5nUR SUSR 5 URSUSR 5 g)Nc^U4SjnU$)Nc>T$rPre)xsrgFTestTracemallocEnabled.test_no_incomplete_frames..f..gxsr re)rrs` rf;TestTracemallocEnabled.test_no_incomplete_frames..fws  Hr rtest_tracemallocr )r#rr{ __closure__rassertInrS assertNotIn)rkrrrUs rtest_no_incomplete_frames0TestTracemallocEnabled.test_no_incomplete_framesss{!  dq!44S9  ()B-*@*@A +Yr]-C-CDr reN)rorprqrrr}rrrrrrrrrrrrrrrr requires_forkrrrsrer rruruqsw *33(3(% 8.8"BH&902;2 5   2 2 Er rucf\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrg) TestSnapshotiic S/n[R"5nUR[R"[ SSS95 UR[R"[ SSS95 UR[R"[ SUS95 [ R "5nURURS5 UR[UR5S5 URS nURURS5 URURRS 5 UR[UR5S5 URURS RS 5 URURS RS 5 SSS5 g!,(df  g=f) N)rr:)r1r0ryT) return_valuer$r:rrrr0r2r.) contextlib ExitStack enter_contextrobjectr#rrjrIr(rr)rUrrSr)rkrJstackrKrs rtest_create_snapshot!TestSnapshot.test_create_snapshots[01  ! ! #u    [,:>!@ A    [:O:;!= >    [-:D!F G#002H   X55q 9   S11 5OOA&E   UZZ +   U__992 >   S11 5   U__Q/88& A   U__Q/66 :!$ # #s FF<< G c:[5up[R"SS5n[R"SSS5n[R"SSS5n[URR 5nUR U45nURURR /SQ5 URURR U5 UR XE45nURURR /SQ5 UR S 5n URX5 URU RUR5 URU RUR5 UR[UR U5 g) NFr4Tr2r.r:)r/r/r/r7r>)r/r/r/r7re) rNr#Filterrr_traces filter_tracesrj assertIsNotr TypeError) rkrKrMfilter1filter2filter3original_traces snapshot3 snapshot4 snapshot5s rtest_filter_tracesTestSnapshot.test_filter_tracessN.0$$UF3$$T615$$T615x667**G:6  ))114   00/B++W,>?  ))114  **2.  - ))8??; ))8??; )X%;%;WEr c[5up[R"SSSS9n[R"SSSS9n[URR 5nUR U45nURURR /SQ5 UR U45nURURR /SQ5 g)NFr2rrT)r/r/r/r;r>)rNr#r.rrr/r0rj)rkrKrMr3r4r6r7s rtest_filter_traces_domain&TestSnapshot.test_filter_traces_domains.0$$UF1=$$T6!<x667**G:6  ))114  **G:6  ))114  r cV[5up[R"SSS9n[R"SSS9nURU45nUR UR R /SQ5 URU45nUR UR R S/5 g)NFr6r=T)r/r/r/r7r;r>)rNr# DomainFilterr0rjrr/)rkrKrMr3r4r7s r test_filter_traces_domain_filter-TestSnapshot.test_filter_traces_domain_filters.0**5;**4:**G:6  ))114  **G:6  ))11 *4  r c[5up[SS5n[SS5n[SS5n[SS5n[SS 5nURS 5nURU[R "US S5[R "US S 5[R "USS5[R "USS5/5 URS 5n URU [R "USS5[R "USS5[R "US S 5/5 UR US 5n URU [R"USSSS5[R"USSSS5[R"USSSS5[R"USSSS5[R"US SS S5/5 g)NrBrr2r.r:r4rrFrGrr<r6r?rDrCr )rNrW statisticsrjr# Statistic compare_to StatisticDiff) rkrKrMtb_0tb_a_2tb_a_5tb_b_1tb_c_578stats1stats2rIs rtest_snapshot_group_by_line(TestSnapshot.test_snapshot_group_by_lines.0 Q/!&!,!&!,!&!,#FC0$$X.   ! !&"a 0  ! !&"a 0  ! !$1 -  ! !&!Q / "  %%h/   ! !&$ 2  ! !(C 3  ! !&"a 0"  ))(H=    % %fdD!Q ?  % %hS!Q ?  % %faa <  % %dAr1b 9  % %fb!Q : &  r c [5up[S5n[S5n[S5n[S5nURS5nURU[R "USS5[R "USS 5[R "US S5/5 URS5nURU[R "US S 5[R "US S5/5 UR US5n URU [R"US SS S5[R"US S SS5[R"USSSS5[R"USSSS5/5 g)NrBr2r4rFrSr<r r5r?ir:rDrCrrGr rH)rNrZrIrjr#rJrKrL) rkrKrMrMtb_atb_btb_crRrSdiffs rtest_snapshot_group_by_file(TestSnapshot.test_snapshot_group_by_files^.0!+.!&)!&)!&)$$Z0   ! !$A .  ! !$A .  ! !$1 -"  %%j1   ! !$a 0  ! !$Q /"  ##Hj9   % %dD$1 =  % %dCa ;  % %dAsAr :  % %dAr1b 9   r c[5up[SS5n[SS5n[S5n[S5nURS5nURU[R "USS5[R "US S 5[R "US S5[R "US S5/5 [S 5nURS5n URU [R "USS 5[R "USS5[R "US S 5/5 UR US5n URU [R"USSS S5[R"USSSS5[R"USSSS5[R"USSSS5[R"US SS S5/5 UR[URSSS9 g)Nr1r3r9r=rArUr<rrEr6r?r.rErFrDrCrrGr rHT) cumulative) rNrUrIrjr#rJrKrLrr) rkrKrMtb1tb2tb3tb4rRtb5rSr[s r test_snapshot_group_by_traceback-TestSnapshot.test_snapshot_group_by_traceback2s.0 [1 [1 $()$$[1   ! !#r1 -  ! !#r1 -  ! !#q! ,  ! !#q! , "   &%%k2   ! !#tQ /  ! !#sA .  ! !#r1 -"  ##Hk:   % %c4q! <  % %c3Q :  % %c1c1b 9  % %c1b!R 8  % %c2q!Q 7    *"--{t  Mr c [5up[S5n[S5n[S5n[SS5n[SS5n[SS5n[SS5n URSS 5n UR U [ R "US S5[ R "US S5[ R "US S5/5 URS S 5n UR U [ R "USS5[ R "U S S5[ R "USS5[ R "US S5[ R "USS5/5 g)NrBr2r4r.r:rr5rSTbrWr?rr<rEr6)rNrZrWrIrjr#rJ) rkrKrMrMrXrYrNrOrPtb_b_4statss r!test_snapshot_group_by_cumulative.TestSnapshot.test_snapshot_group_by_cumulativeXs=.0!+.!&)!&)!&!,!&!,!&!,!&!,##J5   ! !$A .  ! !$A .  ! !$1 -!  ##Hd3   ! !&"a 0  ! !&"a 0  ! !&"a 0  ! !$1 -  ! !&!Q / !  r c[5upURSnUR[U5S5 URnUR[U5S5 USnUR[U5S5 g)Nrz b.py:4: 10 Bzb.py:4)rNrrjrirU)rkrKrMrrUrs rtest_trace_formatTestSnapshot.test_trace_formattsi.0" U^4OO  Y2!  UX.r c~[5upURS5nUSnUR[U5S5 g)Nrrz(b.py:1: size=66 B, count=1, average=66 B)rNrIrjrirkrKrMrjstats rtest_statistic_format"TestSnapshot.test_statistic_format}s>.0##H-Qx TC Er c[5upURUS5nUSnUR[U5S5 g)Nrrz;a.py:5: size=5002 B (+5000 B), count=2 (+1), average=2501 B)rNrKrjrirqs rtest_statistic_diff_format'TestSnapshot.test_statistic_diff_formats@.0$$Xx8Qx TV Xr c[5upURURSSURSURS45 URSRnURUSSUSUS45 g)Nr.rr)rNrjrrU)rkrKrMrUs r test_slicesTestSnapshot.test_slicess.0 !,"//!,hooa.@A COOA&00  2A#A, ! 5 7r cV[5upSn[RRSUS9 URSR nUR UR5/SQ5 UR URSS9SS /5 UR URS S9S S /5 UR URS S9/SQ5 UR URSS S9SS /5 UR URS S S9S S /5 SSS5 g!,(df  g=f)NcSU<SU<S3$)Nz .getlines #+V4 4r ztracemalloc.linecache.getline) side_effectr) File "b.py", line 4  File "a.py", line 2 r)limitrrr rrT)most_recent_first)rrrr)rr)rNunittestmockrrrUrjformat)rkrKrMr}tbs rtest_format_traceback"TestSnapshot.test_format_tracebacks4.0 5 ]] !@-4!6#--B   RYY[/ 0   RYYQY/5-/ 0   RYYRY05-/ 0   RYYY>/ 0   RYYQ$YG5-/ 0   RYYR4YH5-/ 07666s C#D D(reN)rorprqrrmaxDiffr+r:r>rBrTr\rerkrnrsrvryrrsrer rr#r#sOG;*$FL 6 *! F >$ML 8/EX7!0r r#c6\rSrSrSrSrSrSrSrSr Sr g ) TestFiltersircj[R"SS5nURURS5 URURS5 UR UR 5 URURS5 [R"SSSS5nURURS5 URURS5 URUR S5 URURS5 [R"SSSSS9nURURS5 URURS5 URUR S5 URURS5 UR[[USS5 g)NTabcFztest.pyr) inclusivefilename_patternr all_framesr) r#r.rjrrrrrrAttributeErrorsetattrrkrs rtest_filter_attributes"TestFilters.test_filter_attributessS   tU + d+ ++U3 !((# u-   uid ; e, ++Y7 3' t,   SVcg h e, ++Y7 3' t, .'16H%Pr ch [R"SS5nURURSS55 URURSS55 URURSS55 UR URSS55 UR URSS55 UR URSS55 [R"SS5nUR URSS55 UR URSS55 UR URSS55 URURSS55 URURSS55 URURSS55 [R"SSS5nUR URSS55 URURSS55 UR URSS55 UR URSS55 UR URSS55 UR URSS55 [R"SSS5nURURSS55 UR URSS55 URURSS55 URURSS55 URURSS55 URURSS55 [R"SSS5nURURSS55 UR URSS55 UR URSS55 UR URSS55 UR URSS55 UR URSS55 [R"SSS5nUR URSS55 URURSS55 URURSS55 URURSS55 URURSS55 URURSS55 g)NTrrr:r012356F)r#r.r _match_framerrs rtest_filter_matchTestFilters.test_filter_matchs   tU + ua01 ua01 ub12 34 34 45   ue , q12 q12 r23 w23 w23 w34   tUA . q12 ua01 r23 34 34 45   ueQ / ua01 q12 ub12 w23 w23 w34   tUA . ua01 q12 r23 34 34 45   ueQ / q12 ua01 ub12 w23 w23 w34r c6SnURU"SSS55 URU"SSS55 URU"SSS55 URU"SSS55 URU"SSS55 URU"SSS55 g)NcR[R"X5nURUS5$rYr#r.r)rrSpatternrs rfnmatch7TestFilters.test_filter_match_filename..fnmatch s#""96A>>(A. .r TrrrBF)rrrkrs rtest_filter_match_filename&TestFilters.test_filter_match_filenames / eU34 w67 {E:; u56 w67 {E:;r c~SnURU"SS55 URU"SS55 URU"SS55 URU"SS55 URU"SS55 URU"SS55 URU"SS55 URU"SS55 URU"SS55 URU"SS 55 URU"SS 55 URU"SS 55 URU"S S 55 URU"SS 55 URU"SS 55 URU"SS55 URU"SS55 URU"SS55 URU"SS55 URU"SS55 URU"SS55 [RS:XaaURU"SS55 URU"SS55 URU"SS55 URU"SS55 O`URU"SS55 URU"SS55 URU"SS55 URU"SS55 [RS:XaaURU"SS 55 URU"S S55 URU"S!S"55 URU"S#S$55 O`URU"SS 55 URU"S S55 URU"S!S"55 URU"S#S$55 URU"S%S55 g)&NcT[R"SU5nURUS5$)NTrr)rSrfilters rr=TestFilters.test_filter_match_filename_joker..fnmatchs' ''g6F&&x3 3r r*abcddefza*zabc*zb*zabcd*za*cabcdcxza*cxabbabcdceabcdeza*c*e abcbdefegza*bd*egabcdd abcbdefefza.pycr2ntaBCABcaBcDezAb*dEza.PYza.PYCza/bza\bza/b\cza\b/cza/b/cza\b\cza.pyo)rrr namers r test_filter_match_filename_joker,TestFilters.test_filter_match_filename_jokers& 4 +, U+, B( C() u-. /0 ./ t,- v./ -. 01 u-. &12 ./ 623 12  Y78 '23 i89 01 01 77d? OOGE51 2 OOGGW5 6 OOGGV4 5 OOGFG4 5   WUE2 3   WWg6 7   WWf5 6   WVW5 6 77d? OOGFF3 4 OOGFF3 4 OOGHh7 8 OOGHh7 8   WVV4 5   WVV4 5   WXx8 9   WXx8 9 &12r cHSnSnSnSn[R"SSSS9nURURU55 URURU55 UR URU55 UR URU55 [R"SSSS9nUR URU55 URURU55 UR URU55 UR URU55 [R"SSSS9nUR URU55 UR URU55 URURU55 URURU55 [R"SSSS9nURURU55 UR URU55 URURU55 URURU55 [R"SS SS9nURURU55 URURU55 URURU55 UR URU55 [R"SS SS9nUR URU55 UR URU55 URURU55 URURU55 [R"SS SS9nURURU55 URURU55 UR URU55 UR URU55 g) N)r1)r4r6)r3)r4r:))rFr:rAr@Tr4)rFrB)r#r.r_match_tracebackr)rkt1t2t3unknownrs rtest_filter_match_trace#TestFilters.test_filter_match_traceZs@ ' ' ,%   tV = **2./ **2./ ++B/0 ++G45   tV > ++B/0 **2./ ++B/0 ++G45   uf > ++B/0 ++B/0 **2./ **734   uf ? **2./ ++B/0 **2./ **734   uke D **2./ **2./ **2./ ++G45   t[T B ++B/0 ++B/0 **2./ **734   ukd C **2./ **2./ ++B/0 ++G45r reN) rorprqrrrrrrrrrsrer rrrs$GQ225h <C3J.6r rc\rSrSrSr\R "\"5S5S5rSr Sr Sr \ S5r S rS rS r\ S 5r\R "\S LS5S5rSrg )TestCommandLineicjSn[SU5up#nUR5nURUS5 g)N3import tracemalloc; print(tracemalloc.is_tracing())-cFalserrstriprjrkrokstdoutstderrs r test_env_var_disabled_by_default0TestCommandLine.test_env_var_disabled_by_defaults3D-dD9F *r z6Cannot run -E tests when PYTHON env vars are required.cjSn[SSUSS9up#nUR5nURUS5 g)zAPYTHON* environment variables must be ignored when -E is present.rz-Er1PYTHONTRACEMALLOCrNrrs rtest_env_var_ignored_with_E+TestCommandLine.test_env_var_ignored_with_Es;E-dD$RUVF *r chSn[SUSS9up#nUR5nURUS5 g)Nrr0rrrrs rtest_env_var_disabled%TestCommandLine.test_env_var_disableds5D-dDCPF *r chSn[SUSS9up#nUR5nURUS5 g)NrrrrsTruerrs rtest_env_var_enabled_at_startup/TestCommandLine.test_env_var_enabled_at_startups5D-dDCPF )r chSn[SUSS9up#nUR5nURUS5 g)N  ( ( *!6!= B+ @6 I  = G  'z23+ *s A A%c[H,nURUS9 URU5 SSS5 M. g!,(df  M@=fr)rrrrs rtest_sys_xoptions_invalid)TestCommandLine.test_sys_xoptions_invalids7$FV,//7-,%,,rNneed _testcapic$Sn[SSSU5 g)Nz2import _testcapi; _testcapi.test_pymem_alloc0(); 1rr#r)rrkrs rtest_pymem_alloc0!TestCommandLine.test_pymem_alloc0sD}dD9r re)rorprqrrrrskipIfrrrrrrrrrrr _testcapirrsrer rrrs+__57MO+O++*( 4 43 F 488 __Y$&(89:::r rrc\rSrSrSrSrSrSrSSjrSSjr Sr S r S r S r S rS rSrSrSrSr\R*"\SLS5\R0"5\R*"\R4S5S555rSrSrg)TestCAPIri@c[R"5(aURS5 SUlSUl[ UR5SUl[UR 5Ulg)Nrxr:rr) r#ryrzrr)r,ridptrr|s rr}TestCAPI.setUpsR  ! ! # # MMG H  !$)),Q/dhh<r c.[R"5 grPrr|s rrTestCAPI.tearDownrr c[R"URUR5nUb[R "U5$grP)_testinternalcapi_PyTraceMalloc_GetTracebackrrr#r&)rkrs r get_tracebackTestCAPI.get_tracebacks6">>t{{DHHU  ((0 0r c[US5n[R"URURUR U5 U$)Nr)r r tracemalloc_trackrrr))rk release_gilrrs rtrackTestCAPI.tracks6FA&##DKK499$/ 1 r c\[R"URURU5 grP)r tracemalloc_untrackrrrkrs runtrackTestCAPI.untracks%%dkk488[Ir c[R"5n[R"SUR5nUR U/5n[ SUR 55$)NTc38# UHoRv M g7frPr).0rs r -TestCAPI.get_traced_memory..s;?%::?s)r#rrArr0rr)rkrK domain_filters rrTestCAPI.get_traced_memory sM,,.#00t{{C ))=/:;8??;;;r cBSn[R"U5 [R"5SnURX5nUR UR 5[R "U55 UR UR5UR5 g)Nr:r)r#r{rrrjrr&r))rkrrr)rs r check_trackTestCAPI.check_tracks|&!,,.q1K0 ++-$..v6 8 //1499=r c&URS5 gNFr)r|s r test_trackTestCAPI.test_tracks r c&URS5 gNTr-r|s rtest_track_without_gilTestCAPI.test_track_without_gil!s r cSn[R"U5 UR5 URUS9nURUR 5[R "U55 g)Nr:r)r#r{rrjrr&)rkrrs rtest_track_already_tracked#TestCAPI.test_track_already_tracked&sY&! 6* ++-$..v6 8r c[R"5 UR5 URUR 55 UR UR 5UR5 URU5 URUR 55 UR UR 5S5 URU5 URU5 grY) r#r{rrrrjrr)rrrs r check_untrackTestCAPI.check_untrack3s  T//12 //1499= [! $,,./ //115 [! [!r c&URS5 gr,r8r|s r test_untrackTestCAPI.test_untrackCs 5!r c&URS5 gr1r;r|s rtest_untrack_without_gil!TestCAPI.test_untrack_without_gilFs 4 r c[R"5 [R"5 UR[5 UR 5 SSS5 UR UR55 g!,(df  N.=frP)r#r{rrrrrrr|s rtest_stop_trackTestCAPI.test_stop_trackIsV   | , JJL- $,,./- ,s A99 Bc[R"5 UR5 [R"5 UR [ 5 UR 5 SSS5 g!,(df  g=frP)r#r{rrrrrr|s rtest_stop_untrackTestCAPI.test_stop_untrackQsF    | , LLN- , ,s A** A8Nrzneed release buildc.[R"5 grP)r tracemalloc_track_racer|s rtest_tracemalloc_track_race$TestCAPI.test_tracemalloc_track_raceYs ((*r cX[R"S[S35n[SU5 g)Na from test import support import tracemalloc import _testcapi class Tracked: def __init__(self, domain, size): self.domain = domain self.ptr = id(self) self.size = size _testcapi.tracemalloc_track(self.domain, self.ptr, self.size) def __del__(self, untrack=_testcapi.tracemalloc_untrack): untrack(self.domain, self.ptr, 1) domain = z tracemalloc.start() obj = Tracked(domain, 1024 * 1024) support.late_deletion(obj) r)textwrapdedentDEFAULT_DOMAINrrs rtest_late_untrackTestCAPI.test_late_untrackas3$%%&   ( t$r )rrrr))Fr)F)rorprqrrrr}rrrrrr)r.r2r5r8r<r?rBrErrr r requires_working_threadingrPy_DEBUGrIrOrsrer rr r sG   J< >  8" "!0__Y$&(89002 __W%%';<+=3:+%r r __main__)*r&r rrLr#r unittest.mockrtest.support.script_helperrrrtestr test.supportrr r r r ImportErrorrN getsizeofr%rr r,rNrrUrWrZTestCaser\rur#rrrr romainrer rr\sR JJ,") MM#& I!B2)))JH%%J&NEX..NEbs08$$s0l P6(##P6fZ:h''Z:z d"$45M%x  M%6M%` z MMOO#IsD$$ D10D1