|0 dZddlmZddlZddlZddlZddlZddlmZm Z ddl m Z m Z m Z mZmZmZmZmZddlmZddlmZmZmZmZmZmZmZmZejdZ ejd Z!e %ejd Z"ejd Z#ej$rdnd Z%e&'d Z(GddeZ)dS)z#Raw data collector for coverage.py.) annotationsN) FrameType ModuleType)AnyCallableDictListOptionalSetTuplecast)env)TArcTFileDispositionTLineNo TTraceDataTTraceFileDataTTraceFnTTracerTWarnFnRESUME RETURN_VALUE YIELD_VALUE YIELD_FROMcoc^eZdZdZddZddZdd Z dd dZd!dZddZ d"dZ ddZ d#dZ d S)$PyTracerz-Python implementation of the raw data tracer.returnNonec*|d|_||d|_d|_|d|_d|_d|_d|_d|_d|_g|_ d|_ d|_ d|_ d|_ tjt |dd|j|_dS)NFr in_atexitT) trace_arcsshould_start_contextswitch_context threading cur_file_data last_line cur_file_namecontextstarted_context data_stackthreadstopped _activityr"atexitregistersetattr_trace_cached_bound_method_traceselfs /srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/coverage/pytracer.py__init__zPyTracer.__init__6s  G FTX!IM 047;"#,0&* $_a26  {D99959K'''strct|}td|jD}t |j}d|dd|d|dS)Nc34K|]}t|VdSN)len).0vs r7 z$PyTracer.__repr__..Ys(88SVV888888r9z)idsumdatavaluesr>)r6mepointsfiless r7__repr__zPyTracer.__repr__Wsh XX88TY%5%5%7%788888DIOOOOOOOOOOr9markerargsrc tdd5}|d|t|t |j |dd tt| |d d d d d S#1swxYwYd S) z3For hard-core logging of what this tracer is doing.z/tmp/debug_trace.txtaz {} {}[{}]rz .{:x}.{:x}z {} z | z / c3ZK|]&\}}}}|pdddV'dS)z???/N) rpartition)r?_fnames r7rAzPyTracer.log..msU##&5!Q^e//44R8######r9 N) openwriteformatrCr>r,r-identr&current_threadjoinmapr:)r6rKrLfstacks r7logz PyTracer.log]s (# . . ! GGK&&4DO$$      GGELL#c4..!9!9:: ; ; ;  GGDMMM'                  sB/C  CCNframereventarglinenoOptional[TLineNo]Optional[TTraceFn]c t|jjvrdS|jrt j|jkr t j d |j \|_|_|_|_nA#t&$r4|d|jj|j|jj YnwxYwdS|dkr|jrN|jG||}|-||_d}|jJ||jnd}nd}||_d|_|j |j|j|j|f|jj}||jks|r||_|j|} | |||} | |j|<d|_| jr=| j} | J| |jvrt?|j| <|j| |_nd|_ n|jsd|_ tB!|jj"|j#d z} | dk} ntI|d d dk} | r|jj% |_n|j|_n |d kr|j|j} |j&r@tOtPtR|j*|j| fn8tOtPtV|j*| | |_nn|d krg|j&r|jr|jj"}|j#}tB.tY||dzkrd}ny||dztBk}nd||tZkrd}nP||t\krd}nz Empty stack!callTFf_lastirRlinerr)1 THIS_FILEf_code co_filenamer.sysgettracer4r`f_linenoco_namef_tracef_backsettracer,popr'r)r(r+ IndexErrorr$r*r%r/appendshould_trace_cacheget should_tracetracesource_filenamerEset f_trace_linesrco_coderkgetattrco_firstlinenor#r r raddrr>rrYIELD_FROM_OFFSETr)r6rarbrcrdr^ context_mayber+filenamedisp tracenameoparg real_callflinenocodelasti real_returnfirsts r7r3zPyTracer._tracets  0 0 04 L S\^^t/NNN ! L    O''))]"D$6H\H\   "L,NL(  4 F??( (T\-A $ 9 9% @ @  ,#0DL&*O.:::'' 5555&+OO"'#2D "DN O " "&&N#    |/H4----%-".228<<<,,Xu==D8?"aZ $UIr::Q>  0"',"=!=!& f__!-#(>?HTD$677;;T^W>wGGG!( h   V4#5 V|+ %4yyEAI--&* (,EAI&'@ E{l22&* e 33&+ Te.?&???&* e&778JFF&+ &* V!L7ETD$677;;T^eV ;{""n;;== ;$(E(E(G(G(MMM  :: T4555..r9ctj}d|_|jr7|jJ|jj|jjkrdS|jrZtj otj dko |j o|du}|s3||j kr*|d|d|j zddSdSdSdS)zStop this Tracer.TN)z.Trace function changed, data is likely wrong: z != z trace-changed)slug) rprqr.r&r-rZr[warnrPYPY PYPYVERSIONr"r4)r6tf dont_warns r7stopz PyTracer.stop's\^^  > ;***{ DN$A$A$C$C$III  9 aco&?aDNaWY]aWaI 2)H#H#H DDD!@DDE(     #H#Hr9boolc|jS)zHas there been any activity?r/r5s r7activityzPyTracer.activityGs ~r9cd|_dS)zReset the activity() flag.FNrr5s r7reset_activityzPyTracer.reset_activityKs r9Optional[Dict[str, int]]cdS)z+Return a dictionary of statistics, or None.Nr5s r7 get_statszPyTracer.get_statsOstr9)rr )rr:)rKr:rLrrr r=) rarrbr:rcrrdrerrf)rr)rr)rr) __name__ __module__ __qualname____doc__r8rJr`r3rrrrrrr9r7rr#s77$@@@@BPPPP 8%) \/\/\/\/\/|////*@r9r)*r __future__rr0disrpr&typesrrtypingrrrr r r r r coveragercoverage.typesrrrrrrrropmapr{rrrrrr__file__rstriprmrrr9r7rs*)"""""" ''''''''HHHHHHHHHHHHHHHHHHHH x y(  >)M*K<(J X,1 OOD ! ! nnnnnwnnnnnr9