^`IapSSKrSSKJr SSKrSSKJrJrJr SSKJ r J r J r SSK J r Jr SSKrSSKrSSKJr SSKrSSKJr SSKJr S rS rS rS rS rSrSrSrSrSr Sr!Sr"Sr#Sr$"SS\%5r&"SS\RN5r("SS\RN5r)"SS\RN5r*"SS \RN5r+"S!S"\RN5r,"S#S$\RN5r-"S%S&\RN5r."S'S(\RN5r/"S)S*\RN5r0\1S+:Xa\Rd"5 gg),N)dump)captured_stdoutrequires_resourcerequires_gil_enabled)TESTFNrmtreeunlinkassert_python_okassert_python_failure) FunctionType)Trace)testmodc<URS5(aUSSnU$)z8Given a .pyc filename converts it to the appropriate .pyz.pycN)endswith)filenames 6/opt/alt/python313/lib64/python3.13/test/test_trace.py fix_ext_pyrs#  CR= Oc[RR[RR[55Sn[ [5U4$)z4The .py file and module name of this file (__file__)r)ospathsplitextbasename__file__r)modnames rmy_file_and_modnamers:ggrww//9:1=G h  ((rc.URR$N)__code__co_firstlinenofuncs rget_firstlinenor%"s == ' ''rcUnUnX#-nU$r )xyabcs rtraced_func_linearr-,s A A A Hrc6Un[S5HnX!- nM U$Nrange)r(r)r,is rtraced_func_loopr42s! A 1X  Hrc8X-[R"S5-$)N)rr$)r(r)s rtraced_func_importingr78s 57<<? ""rc [X5nX-$r r-)r(r,s rtraced_func_simple_callerr:;s1 A 5Lrc8[U5nU[X5- nU$r )r:r7)r(ks rtraced_func_importing_callerr=?s!!!$A q $$A Hrc#@# Sn[U5H nX!-v M g7fr/r1)numr,r3s rtraced_func_generatorr@Ds A 3Ze sc4Sn[S5HnX- nM g)Nr )r@)r<r3s rtraced_func_calling_generatorrCIs A "2 & 'rc US-$Nr')r?s rtraced_doublerrGNs 7NrcX4$r r')argskwargss rtraced_capturerrKQs <rc\Sn[U5Vs/sHn[U5PM nnU$s snf)NrB)r2rG)r<r3mylists r traced_caller_list_comprehensionrNTs. A).q 2AnQF 2 M3s)cBSnSnUU"5S55nU"5 g)NcU$r r'fs r decorator1-traced_decorated_function..decorator1Zsrc SnU$)NcU$r r'rQs r decorator2Gtraced_decorated_function..decorator_fabric..decorator2]sHrr'rWs rdecorator_fabric3traced_decorated_function..decorator_fabric\s  rcgr r'r'rrr$'traced_decorated_function..func`s rr')rSrZr$s rtraced_decorated_functionr^Ys0  FrcF\rSrSrSrSrSr\S5r\ S5r Sr g) TracedClassgcXlgr r*)selfr(s r__init__TracedClass.__init__hsrc URU-$r rc)rdr)s rinst_method_linearTracedClass.inst_method_linearksvvzrc@URU5nU[X5-$r )rhr-)rdr(r,s rinst_method_callingTracedClass.inst_method_callingns#  # #A &%a+++rc US-$rEr')clsr)s rclass_method_linearTracedClass.class_method_linearr 1u rc US-$rEr')r)s rstatic_method_linear TracedClass.static_method_linearvrqrrcN) __name__ __module__ __qualname____firstlineno__rerhrk classmethodro staticmethodrs__static_attributes__r'rrr`r`gs9,rr`cH\rSrSrSrSrSrSrSrSr Sr S r S r S r g ) TestLineCounts~z/White-box testing of line-counting, via runfunccUR[R[R"55 [ SSSSS9Ul[ [5Ulg)Nr6rcounttrace countfuncs countcallers) addCleanupsyssettracegettracertracerrrmy_py_filenamerds rsetUpTestLineCounts.setUps9  clln5!1K (2rc>URR[SS5nURUS5 0n[ [5n[ SS5HnSX R X4-4'M URURR5RU5 g)NrFr0r6) rrunfuncr- assertEqualr%r2rresultscounts)rdresultexpected firstlinenor3s rtest_traced_func_linear&TestLineCounts.test_traced_func_linears$$%7A> #%&89 q!A@AH));+;< = ,,.55x@rc XURR[SS5 [[5nURUS-4SURUS-4SURUS-4SURUS-4S0nUR URR 5RU5 g)NrFr6r0)rrr4r%rrrrrdrrs rtest_traced_func_loop$TestLineCounts.test_traced_func_loops ,a3%&67  +/ 2A  +/ 2A  +/ 2A  +/ 2A   ,,.55x@rc^URR[SS5 [[5nURUS-4S[ [ R5S4S[ [ R5S4S0nURURR5RU5 g)NrFr0r6r) rrr7r%rrrrrrrrs rtest_traced_func_importing)TestLineCounts.test_traced_func_importings 11a8%&;<  +/ 2A (( )1 -q (( )1 -q  ,,.55x@rc URR[5 [[5n[[5nUR US-4SUR US-4SUR US-4SUR US-4SUR US-4SUR US-4S0nUR URR5RU5 gNr6rF rrB) rrrCr%r@rrrr)rdfirstlineno_callingfirstlineno_genrs rtest_trace_func_generator(TestLineCounts.test_trace_func_generators 9:-.KL)*?@  "5"9 :A  "5"9 :B  "5"9 :B  /A"5 6  /A"5 6  /A"5 6   ,,.55x@rc rURR[5 [[5n[[5nUR US-4SUR US-4SUR US-4SUR US-4S0nUR URR5RU5 gr) rrrNr%rGrrrr)rdrfirstlineno_calledrs rtest_trace_list_comprehension,TestLineCounts.test_trace_list_comprehensions <=-.NO,^<  "5"9 :A  "5"9 :B  "5"9 :A  "4q"8 92   ,,.55x@rcBURR[5 [[5nURUS-4SURUS-4SURUS-4SURUS-4SURUS-4SURUS-4SURUS-4SURUS-4SURUS -4SURUS -4SURUS -4S0 nUR URR 5RU5 g) Nr6rFrrr0rr rBr)rrr^r%rrrrrs rtest_traced_decorated_function-TestLineCounts.test_traced_decorated_functions* 56%&?@  +/ 2A  +/ 2A  +/ 2A  +/ 2A  +/ 2A  +/ 2A  +/ 2A  +/ 2A  +/ 2A  +"2 3Q  +"2 3Q   ,,.55x@rcSHn[SSSSS9n[S5n[X15nURUS5 [ U5nUR US-4S0nUR UR5RU5 M g)N)rhr6rr) rr`getattrrr%rrrr)rdmethnamer traced_objmethodrrs rtest_linear_methods"TestLineCounts.test_linear_methodss0H!JF$RJZ2F NN62 &)&1K$$kAo6H   V^^-44h ?0rrrN)rurvrwrx__doc__rrrrrrrrr{r'rrr}r}~s493 A A A A AA&@rr}c$\rSrSrSrSrSrSrg)TestRunExecCountsz8A simple sanity test of line-counting, via runctx (exec)c[[5UlUR[R [R "55 gr )rrrrrrrrs rrTestRunExecCounts.setUps'(2  clln5rc [SSSSS9UlSn[U[S5nURR U[ 5[ 55 [[5nURUS-4SURUS-4SURUS-4S URUS -4S0nUR5H<nURURR5RUX45 M> g) Nr6rrztraced_func_loop(2, 5)execrFrrr0r)rrcompilerrunctxglobalsvarsr%r4rkeysrrr)rdcoderrr<s rtest_exec_counts"TestRunExecCounts.test_exec_countss!1K ,tXv. 4DF3%&67  +/ 2A  +/ 2A  +/ 2A  +/ 2A  A   T[[00299!?   y ) KK  _!  <*   y ) KK   !* )* ) ) )sB. B?. B<? C c `URR[S5 URS-SURS-SURS-SURS-S[ [ R 5SS4S0nURURR5RU5 g)Nr6rr9r=r7rr$) rrr=rrrrrrrrs rtest_loop_caller_importing$TestFuncs.test_loop_caller_importing"s 8!< LL9 91 LL2 2A LL< > LL2 2A  ,,.::HErc DURR[5 URS-SURS-SURS-SURS-SURS-S0nUR URR 5R U5 g)N)r^r6)rZrY)rSr#)rrr^rrrrrs rr(TestFuncs.test_traced_decorated_function<s 56 LL9 91 LL0 0! LL? *A LL? *A LL9 $a   ,,.::HEr)rrrN)rurvrwrxrrrrrrunittestskipIfhasattrrrrrrr{r'rrrrsm,/ 0F" F__WS*-@#,,.JL[\ F]L F Frrc\rSrSrSrSr\R"\"\ S5=(a \ R"5S5\ "S5S55r Sr g ) TestCallersiIz$White-box testing of callers tracingcUR[R[R"55 [ SSSS9Ul[ 5Ulg)Nrr6)rrrrrrrrrrrrs rrTestCallers.setUpKs4  clln5!11= *, rrrrc DURR[S5 [RR [ R5SS-SS4URS-4SURS-URS-4SURS-URS-4SURS-URS -4SURS -[[R5S S 44S0nURURR5RU5 g) Nr6r.pyrz Trace.runfuncrrr9rrr$)rrr=rrrrrrrrrrcallersrs rr&TestCallers.test_loop_caller_importingPs 8!<ggu~~.q1E97O T AA DEFll;; 77 :;<ll>> >> ABCll>> :: =>?ll77G,,-y&A CDE   ,,.66ArrrN)rurvrwrxrrrrrrrrrr{r'rrrrIsQ.- __WS*-@#,,.JL[\B]LBrrc^\rSrSrSrSrSr\4Sjr\"S5S5r Sr S r S r S r g ) TestCoverageifcjUR[R[R"55 gr )rrrrrs rrTestCoverage.setUpgs  clln5rc@[[5 [[5 gr )rrr rs rrTestCoverage.tearDownjsvvrzif True: import unittest from test.test_pprint import QueryTestCase loader = unittest.TestLoader() tests = loader.loadTestsFromTestCase(QueryTestCase) tests(unittest.TestResult()) cpURU5 UR5nURSS[S9 g)NT) show_missingsummarycoverdir)runr write_resultsr)rdrcmdrs r _coverageTestCoverage._coverageus+ 3 NN  T4&Ircpuc|[R"SSS9n[5nURU5 SSS5 WR 5nUR SU5 UR SU5 [ R"[5nUR SU5 UR SU5 g!,(df  N=f)Nrr6rrz pprint.pyzcase.pyz pprint.coverzunittest.case.cover) rrrr getvalueassertInrlistdirr)rdrstdoutfiless r test_coverageTestCoverage.test_coveragezs1A.  & NN6 "" k6* i( 6" ne, +U3 s B-- B;c`[RR[RR[RR[555n[ R "[R[RU/[R-SSS9n[5nURU5 SSS5 [RR[5(a.[R"[5nURUS/5 gg!,(df  Ne=f)Nrr6) ignoredirsrrz_importlib.cover)rrnormpathdirnamerrrr base_prefixbase_exec_prefixrr existsrrr)rdlibpathrrrs rtest_coverage_ignore!TestCoverage.test_coverage_ignores''""277??277??83L#MN#:N:N$)&(+)189D  & NN6 " 77>>& ! !JJv&E   U%7$8 9 " s .D D-cP[R"SSS9nSnU[R;a[RU Sn[ 5nUR X5 SSS5 WR S5 UR5 0nUH4nUR5SSupxn [U5[USS54XY'M6 [R"[RUR5nURX%5 URXRS5 g!,(df  N=f) Nrr6rztest.tracedmodules.testmodz-?@  VS12 gt45 fc23  Ruh%?GH b&7=>  Rx%8%@Arr'N)rurvrwrxrIr{r'rrr;r;s Brr;c4\rSrSrSrSrSrSrSrSr Sr g ) TestCoverageCommandLineOutputiztmp.pyz tmp.coverc[URSSS9nUR[R"S55 SSS5 g!,(df  g=f)Nw iso-8859-15encodingu # coding: iso-8859-15 x = 'spœm' if []: print('unreachable') )r4codefilewritetextwrapdedent)rdrRs rr#TestCoverageCommandLineOutput.setUps< $--} = GGHOO% > = =s &A AcX[UR5 [UR5 gr )r rR coverfilers rr&TestCoverageCommandLineOutput.tearDownst}}t~~rc[RR[RR[R 55n[RR US5n[U5 SR5UR/-n[U6upEnURUS5 UR[RRU55 UR[RRUR55 [!URSS9nURUR#5S5 SSS5 g!,(df  g=f)Nz trace.coverz-m trace --countrrOrPu^ # coding: iso-8859-15 1: x = 'spœm' 1: if []: print('unreachable') )rrrabspathrrrBr r&rRr rrFrrDrXr4read)rdtracedirtracecoverpathargvstatusrstderrrRs r%test_cover_files_written_no_highlightCTestCoverageCommandLineOutput.test_cover_files_written_no_highlights77??277??5>>#BCh >~!'')T]]O;!14!8 % 78 t~~67 $..= 9Q   QVVX4 : 9 9s +!E E#cSR5UR/-n[U6up#nUR[R R UR55 [URSS9nURUR5[R"S55 SSS5 g!,(df  g=f)Nz-m trace --count --missingrOrPu # coding: iso-8859-15 1: x = 'spœm' 1: if []: >>>>>> print('unreachable') ) r&rRr rDrrrrXr4rr\rTrU)rdr_r`rrarRs r'test_cover_files_written_with_highlightETestCoverageCommandLineOutput.test_cover_files_written_with_highlights+113t}}oE!14!8 t~~67 $..= 9Q   QVVXx8( : 9 9s 65B44 Cr'N) rurvrwrxrRrXrrrbrer{r'rrrLrLs HI( rrLc2\rSrSrSrSrSrSrSrSr g) TestCommandLineic\SnUH$tp#[SS/UQ76GtpEURX%5 M& g)N))s3progname is missing: required with the main options-lz-T)s8cannot specify both --listfuncs and (--trace or --count)z-lc)s>argument -R/--no-report: not allowed with argument -r/--reportz-rR)sLmust specify one of --trace, --count, --report, --listfuncs, or --trackcallsz-g)s-r/--report requires -f/--filez-r)s3--summary can only be used with --count or --reportz-sT)sunrecognized arguments: -yz-y-mr)r r)rd_errorsmessagerI_ras r test_failuresTestCommandLine.test_failuress63&NG.tWDtDJQ MM' *&rc [S-n[RR[5n[ USSS9nUR [ U5 URS5 [SSSUSS 9upEnURS U5 S US US 3nURUR5U5 SSS5 g!,(df  g=f)NrrNutf-8rPza = 1 rkrrjPYTHONIOENCODINGsfunctions called:z filename: z, modulename: z, funcname: ) rrrrr4rr rSr rencode)rdr modulenamefdr`rrars rtest_listfuncs_flag_success+TestCommandLine.test_listfuncs_flag_successsE>WW%%f- (C' 2b OOFH - HHY %5dGT8GN&P "FF MM. 7#H:^J!(&) WW%%f- (C' 2b OOFH - OOFM 2 HHX__ &  3-T7E8>EG # 6? J) co_filenamerFrz --- modulename: r6z , funcname: r(rr)r-r!replacer rrrrr splitlinesr%rrco_name)rdrcorRoutrs rtest_no_source_fileTestTrace.test_no_source_file;sC  ( ( ZZHZ - WY '  # KK  1a (lln'')%a(  )$,,q/):,qzzGYGYFZ[]`ab]cd  !K!O#4A6A?  !K!O#4A6A?  !K!O#4A6A?  !K!O#4A6A? s E ErN)rurvrwrxrrr{r'rrrr5s - @rr__main__)3rpicklerr test.supportrrrtest.support.os_helperrrr test.support.script_helperr r rTrtypesr rrtest.tracedmodulesrrrr%r-r4r7r:r=r@rCrGrKrNr^objectr`TestCaser}rrrrr;rLrhrrumainr'rrrsV  QQ;;N & ) (  #     &.h@X&&h@VK))K8AF!!AFHB(##B:H98$$H9Z B(## B0H$5$50d@Sh''@SF@!!@0 z MMOr