HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/lib/python3.7/__pycache__/trace.cpython-37.pyc
B

{a~o@sdZddgZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
ZddlZdZGdddZd	d
ZddZGd
ddZddZddZdddZddZGdddZddZedkredS)aprogram/module to trace Python program or function execution

Sample use, command line:
  trace.py -c -f counts --ignore-dir '$prefix' spam.py eggs
  trace.py -t --ignore-dir '$prefix' spam.py eggs
  trace.py --trackcalls spam.py eggs

Sample use, programmatically
  import sys

  # create a Trace object, telling it what to ignore, and whether to
  # do tracing or line-counting or both.
  tracer = trace.Trace(ignoredirs=[sys.base_prefix, sys.base_exec_prefix,],
                       trace=0, count=1)
  # run the new command using the given tracer
  tracer.run('main()')
  # make a report, placing output in /tmp
  r = tracer.results()
  r.write_results(show_missing=True, coverdir="/tmp")
TraceCoverageResultsN)	monotonicz#pragma NO COVERc@seZdZdddZddZdS)_IgnoreNcCs:|s
tnt||_|sgndd|D|_ddi|_dS)NcSsg|]}tj|qS)ospathnormpath).0drr/usr/lib/python3.7/trace.py
<listcomp>Gsz$_Ignore.__init__.<locals>.<listcomp>z<string>)set_mods_dirs_ignore)selfmodulesdirsrrr__init__Es
z_Ignore.__init__cCs||jkr|j|S||jkr,d|j|<dSx*|jD] }||dr4d|j|<dSq4W|dkrnd|j|<dSx,|jD]"}||tjrvd|j|<dSqvWd|j|<dS)Nr.r)rr
startswithrrsep)rfilename
modulenamemodrrrrnamesKs$







z
_Ignore.names)NN)__name__
__module____qualname__rrrrrrrDs
rcCs tj|}tj|\}}|S)z-Return a plausible module name for the patch.)rrbasenamesplitext)rbaserextrrr_modnamevsr%cCstj|}d}xJtjD]@}tj|}||r|t|tjkrt|t|kr|}qW|rv|t|dd}n|}tj|\}}|tjd}tj	r|tj	d}tj
|\}}|dS)z,Return a plausible module name for the path.rNr)rrnormcasesysrlenr
splitdrivereplacealtsepr"lstrip)rZcomparepathZlongestdirr#Zdriverr$rrr_fullmodname}s r/c@s:eZdZdddZddZddZdd
dZddd
ZdS)rNc
Cs||_|jdkri|_|j|_||_|jdkr8i|_|j|_||_|jdkrZi|_|j|_||_||_|jry@t|jd}t	|\}}}WdQRX|
||||Wn@tt
tfk
r}ztd|j|ftjdWdd}~XYnXdS)NrbzSkipping counts file %r: %s)file)countscopyZcountercalledfuncscallersinfileoutfileopenpickleloadupdate	__class__OSErrorEOFError
ValueErrorprintr(stderr)rr2r4r6r5r7ferrrrrrs,


zCoverageResults.__init__cCs|do|dS)z_Return True if the filename does not refer to a file
        we want to have reported.
        <>)rendswith)rrrrris_ignored_filenamesz#CoverageResults.is_ignored_filenamec	Csz|j}|j}|j}|j}|j}|j}x$|D]}||d||||<q*Wx|D]}d||<qPWx|D]}d||<qfWdS)z.Merge in the data from another CoverageResultsrrN)r2r4r5get)	rotherr2r4r5Zother_countsZother_calledfuncsZ
other_callerskeyrrrr;s


zCoverageResults.updateTFc!
Cs|jrDttd|j}x(t|D]\}}}td|||fq$W|jrttdd}}	xvt|jD]h\\}
}}\}
}}|
|krttd|
d|
}d}	|
|
kr|	|
krtd|
|
}	td||||fqlWi}x8|jD].\}}||i}||<|j||f||<qWi}x$|D]\}}||r@q&|drX|d	d
}|d	krt	j
t	j
|}t
|}n$|}t	j
|st	|t|}|rt|}ni}t|}t	j
||d}t|d}t|j\}}Wd	QRX||||||\}}|r&|r&td
||}||||f||<q&W|r|rtdx2t|D]&}||\}}}}td||q`W|jry&t|j|j|jft|jddWn6tk
r} ztd| tj dWd	d	} ~ XYnXd	S)af
        Write the coverage results.

        :param show_missing: Show lines that had no hits.
        :param summary: Include coverage summary per module.
        :param coverdir: If None, the results of each module are placed in its
                         directory, otherwise it is included in the directory
                         specified.
        zfunctions called:z*filename: %s, modulename: %s, funcname: %szcalling relationships:r&z***z  -->z    %s.%s -> %s.%sz.pycNz.coverr0dzlines   cov%   module   (path)z%5d   %3d%%   %s   (%s)wbrz"Can't save counts files because %s)r1)!r4r@sortedr5r2rHitemsrGrFrrdirnameabspathr%existsmakedirsr/_find_executable_linenos	linecachegetlinesjoinr8tokenizedetect_encodingreadlinewrite_results_fileintr7r9dumpr=r(rA)!rZshow_missingsummarycoverdirZcallsrrfuncnameZlastfileZ	lastcfileZpfileZpmodZpfunccfileZcmodZcfuncZper_filelineno	lines_hitZsumscountr.lnotabsourceZ	coverpathfpencoding_n_hitsn_linesZpercentmrCrrr
write_resultss|






zCoverageResults.write_resultsc
Csyt|d|d}Wn8tk
rJ}ztd||ftjddSd}~XYnXd}d}	|xt|dD]r\}
}|
|kr|d	||
|	d7}	|d7}n.|
|krt|kr|d
|d7}n
|d||dqfWWdQRX|	|fS)
z'Return a coverage results file in path.w)rhz3trace: Could not open %r for writing: %s - skipping)r1)rrNrrz%5d: z>>>>>> z       )	r8r=r@r(rA	enumeratewritePRAGMA_NOCOVER
expandtabs)rrlinesrercrhr7rCrkrjrblinerrrr['s(



z"CoverageResults.write_results_file)NNNNN)TFN)N)rrr rrGr;rmr[rrrrrs

[cCs0i}x&t|D]\}}||krd||<qW|S)z:Return dict where keys are lines in the line number table.r)disZfindlinestarts)codestrslinenosrirbrrr_find_lines_from_codeGs
rzcCs8t||}x(|jD]}t|r|t||qW|S)z<Return lineno dict for all code objects reachable from code.)rz	co_constsinspectZiscoder;_find_lines)rwrxrycrrrr}Qs


r}c	Csi}tj}t||dr}t|j}x^|D]V\}}}}	}
|tjkr||tjkr||\}}|	\}
}xt||
dD]}d||<qlW|}q*WWdQRX|S)zReturn a dict of possible docstring positions.

    The dict maps line numbers to strings.  There is an entry for
    line that contains only a string or a part of a triple-quoted
    string.
    )rhrN)tokenINDENTr8rXgenerate_tokensrZSTRINGrange)rrhrZ
prev_ttyperBtokZttypeZtstrstartendruZslineZscolZelineZecolirrr
_find_strings]s

rc
Csy(t|}|}|j}WdQRXWn8tk
r`}ztd||ftjdiSd}~XYnXt||d}t	||}t
||S)zAReturn dict where keys are line numbers in the line number table.Nz%Not printing coverage data for %r: %s)r1exec)rXr8readrhr=r@r(rAcompilerr})rrBprogrhrCrwrxrrrrTts
rTc	@speZdZdddZdd	Zdd
dZdd
ZddZddZddZ	ddZ
ddZddZddZ
ddZdS) rrrrNFc

Cs||_||_t|||_i|_i|_d|_||_i|_i|_	i|_
d|_|	rTt|_|rb|j
|_nZ|rp|j|_nL|r|r|j|_|j|_n2|r|j|_|j|_n|r|j|_|j|_nd|_dS)ax
        @param count true iff it should count number of times each
                     line is executed
        @param trace true iff it should print out each line that is
                     being counted
        @param countfuncs true iff it should just output a list of
                     (filename, modulename, funcname,) for functions
                     that were called at least once;  This overrides
                     `count' and `trace'
        @param ignoremods a list of the names of modules to ignore
        @param ignoredirs a list of the names of directories to ignore
                     all of the (recursive) contents of
        @param infile file from which to read stored counts to be
                     added into the results
        @param outfile file in which to write the results
        @param timing true iff timing information be displayed
        rNr)r6r7rignorer2Zpathtobasename	donothingtrace_calledfuncs_callers
_caller_cache
start_time_timeglobaltrace_trackcallersglobaltraceglobaltrace_countfuncsglobaltrace_ltlocaltrace_trace_and_count
localtracelocaltrace_tracelocaltrace_count)
rrdr
countfuncscountcallers
ignoremods
ignoredirsr6r7timingrrrrs6




zTrace.__init__cCs ddl}|j}||||dS)Nr)__main____dict__runctx)rcmdrdictrrrrunsz	Trace.runc	Csh|dkri}|dkri}|js6t|jt|jzt|||Wd|jsbtdtdXdS)N)r	threadingsettracerr(r)rrglobalslocalsrrrrs
zTrace.runctxc	Os<d}|jst|jz|||}Wd|js6tdX|S)N)rr(rr)rfuncargskwresultrrrrunfuncsz
Trace.runfuncc
Cs|j}|j}|rt|}nd}|j}d}||jkrL|j|dk	r|j|}nd|j|<ddt|D}t|dkrddt|dD}t|dkrddt|dD}	t|	dkr|	dj}||j|<|dk	rd||f}|||fS)NcSsg|]}t|r|qSr)r|Z
isfunction)r
rBrrrr
sz1Trace.file_module_function_of.<locals>.<listcomp>rcSsg|]}t|tr|qSr)
isinstancer)r
rrrrr
srcSsg|]}t|dr|qS)	__bases__)hasattr)r
r~rrrr
sz%s.%s)	f_codeco_filenamer%co_namergcZ
get_referrersr)r)
rframerwrrr`ZclsnameZfuncsZdictsclassesrrrfile_module_function_ofs,




zTrace.file_module_function_ofcCs0|dkr,||}||j}d|j||f<dS)zkHandler for call events.

        Adds information about who called who to the self._callers dict.
        callrN)rf_backr)rrwhyarg	this_funcZparent_funcrrrrs
zTrace.globaltrace_trackcallerscCs |dkr||}d|j|<dS)zoHandler for call events.

        Adds (filename, modulename, funcname) to the self._calledfuncs dict.
        rrN)rr)rrrrrrrrrs
zTrace.globaltrace_countfuncscCsj|dkrf|j}|jdd}|rbt|}|dk	rf|j||}|sf|jrZtd||jf|j	SndSdS)zHandler for call events.

        If the code block being entered is to be ignored, returns `None',
        else returns self.localtrace.
        r__file__Nz! --- modulename: %s, funcname: %s)
r	f_globalsrHr%rrrr@rr)rrrrrwrrZ	ignore_itrrrrszTrace.globaltrace_ltcCs|dkr~|jj}|j}||f}|j|dd|j|<|jrTtdt|jddtj	
|}td||t||fdd|j
S)	Nrurrz%.2f )rz
%s(%d): %sr&)rrf_linenor2rHrr@rrrr!rUgetliner)rrrrrrbrJbnamerrrr&sz Trace.localtrace_trace_and_countcCsd|dkr^|jj}|j}|jr4tdt|jddtj|}td||t	
||fdd|jS)Nruz%.2fr)rz
%s(%d): %sr&)rrrrr@rrrr!rUrr)rrrrrrbrrrrr5szTrace.localtrace_tracecCs<|dkr6|jj}|j}||f}|j|dd|j|<|jS)Nrurr)rrrr2rHr)rrrrrrbrJrrrrBszTrace.localtrace_countcCst|j|j|j|j|jdS)N)r6r7r4r5)rr2r6r7rr)rrrrresultsJs
z
Trace.results)	rrrrrrNNF)NN)rrr rrrrrrrrrrrrrrrrrs
0

)	
csddl}|}|jdddd|dd}|jdd	d
dd|jd
dd
dd|jddd
dd|jddd
dd|d}|}|jddd
dd|jddd
dd|jdddd |jd!d"d#d |jd$d%d
d&d|jd'd(d
d)d|jd*d+d
d,d|d-d.}|jd/d0gd1d2|jd3d0gd4d2|jd5d6d7d8|jd9|jd:d8|}|jrd;d<t	j
f}tjj
t	jf|tjj
t	jf|fd=d>d?d@|jD|_fdAd@|jD|_|jr|js|dBt|j|jdC}||j|j|jSt|j|j|j|jgs2|dD|jrT|jsJ|jrT|dE|jrn|jsn|dF|jdkr|dG|jf|jt	_ tj!|jt	jd<t"|j|j|j|j|j|j|j|j|j#dH	}yJt$|j}t%|&|jdI}	WdQRX|jdJdddK}
|'|	|
|
WnPt(k
rZ}zt	)dLt	j d|fWdd}~XYnt*k
rnYnX|+}|j,s||j|j|jdS)MNrz	--versionversionz	trace 2.0)actionrzMain optionsz(One of these (or --report) must be givenz-cz--count
store_truezCount the number of times each line is executed and write the counts to <module>.cover for each module executed, in the module's directory. See also --coverdir, --file, --no-report below.)rhelpz-tz--tracez3Print each line to sys.stdout before it is executedz-lz--listfuncszKeep track of which functions are executed at least once and write the results to sys.stdout after the program exits. Cannot be specified alongside --trace or --count.z-Tz--trackcallsz^Keep track of caller/called pairs and write the results to sys.stdout after the program exits.Z	Modifiersz-rz--reportzGenerate a report from a counts file; does not execute any code. --file must specify the results file to read, which must have been created in a previous run with --count --file=FILEz-Rz--no-reportz^Do not generate the coverage report files. Useful if you want to accumulate over several runs.z-fz--filez+File to accumulate counts over several runs)rz-Cz
--coverdirzDirectory where the report files go. The coverage report for <package>.<module> will be written to file <dir>/<package>/<module>.coverz-mz	--missingz?Annotate executable lines that were not executed with ">>>>>> "z-sz	--summaryz\Write a brief summary for each file to sys.stdout. Can only be used with --count or --reportz-gz--timingzQPrefix each line with the time since the program started. Only used while tracingZFilterszCan be specified multiple timesz--ignore-moduleappendzqIgnore the given module(s) and its submodules (if it is a package). Accepts comma separated list of module names.)rdefaultrz--ignore-dirzWIgnore files in the given directory (multiple directories can be joined by os.pathsep).r?zfile to run as main program)nargsr	argumentszarguments to the programZlibzpython{0.major}.{0.minor}cs4tjtj|}|dd}tj|S)Nz$prefixz$exec_prefix)rr
expanduser
expandvarsr+r	)s)_exec_prefix_prefixrrparse_ignore_dirszmain.<locals>.parse_ignore_dircSs$g|]}|dD]}|qqS),)splitstrip)r
rrrrrr
szmain.<locals>.<listcomp>cs&g|]}|tjD]}|qqSr)rrpathsep)r
rr)rrrr
sz-r/--report requires -f/--file)r6r7zLmust specify one of --trace, --count, --report, --listfuncs, or --trackcallsz8cannot specify both --listfuncs and (--trace or --count)z3--summary can only be used with --count or --reportz3filename is missing: required with the main options)rrrrr6r7rrr)rr__package__
__cached__zCannot run file %r because: %s)-argparseArgumentParseradd_argumentZadd_argument_groupZadd_mutually_exclusive_groupZ	REMAINDER
parse_argsZ
ignore_dirformatr(version_inforrrWbase_prefixbase_exec_prefixZ
ignore_moduleZreportr1errorrrmZmissingr^r_anyrrdZ	listfuncsZ
trackcallsrrargvrPrrr8rrrr=exit
SystemExitrZ	no_report)rparserZgrpZ_grpZoptsZrel_pathrtrgrwZglobsrCr)rrrrmainPs


















(rr)N)__doc____all__rUrrer(rrXr|rrvr9Ztimerrrrrrr%r/rrzr}rrTrrrrrrr<module>1s:2/

O