2FN d Z ddlmZ ddlZddlZddlmZmZmZ ddl m
Z
ddlmZm
Z
ddlmZ ddlmZ dd lmZ dd
lmZ erddlmZ e
e Z G d d
ZdS )z'Source file annotation for coverage.py. )annotationsN)IterableOptional
TYPE_CHECKING)
flat_rootname)
ensure_dirisolate_module)FileReporter)get_analysis_to_report)Analysis)TMorf)Coveragec l e Zd ZdZddZ ej d Z ej d ZdddZ ddZ
d S )AnnotateReportera Generate annotated source files showing line coverage.
This reporter creates annotated copies of the measured source files. Each
.py file is copied as a .py,cover file, with a left-hand margin annotating
each line::
> def h(x):
- if 0: #pragma: no cover
- pass
> if x == 1:
! a = 1
> else:
> a = 2
> h(2)
Executed lines use ">", lines not executed use "!", lines excluded from
consideration use "-".
coverager returnNonec D || _ | j j | _ d | _ d S N)r config directory)selfr s e/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/coverage/annotate.py__init__zAnnotateReporter.__init__0 s
m*(, z\s*(#|$)z\s*else\s*:\s*(#|$)NmorfsOptional[Iterable[TMorf]]r
Optional[str]c || _ | j t | j | D ]\ }}| || dS )zIRun the report.
See `coverage.report()` for arguments.
N)r r get_datar
annotate_file)r r r franalysiss r reportzAnnotateReporter.report8 sa #
24=%HH - -LBr8,,,, - -r r" r
r# r c & t |j }t |j }t |j }| j rt | j t j | j t |
}| d r
|dd dz }|dz
}n
|j dz }t |dd 5 }d x}} d
}
| }t | d
d D ]\ }}
|t# | k r0|| |k r$|dz
}|t# | k r|| |k $| t# | k r0|| |k r$| dz
} | t# | k r|| |k $|t# | k r+|| |k r| t# | k p|| |k }
| j |
r| d
n| j |
rg| t# | k r| d n|| || k r| d n]| d nG||v r| d n-|
r| d n| d | |
ddd dS # 1 swxY w Y dS )z]Annotate a single file.
`fr` is the FileReporter for the file to annotate.
_pyNz.pyz,coverwzutf-8)encodingr T )startz z> z! z- )sorted
statementsmissingexcludedr r ospathjoinr relative_filenameendswithfilenameopensource enumerate
splitlineslenblank_rematchwriteelse_re)r r" r# r- r. r/ dest_filedestijcoveredr7 linenolines r r! zAnnotateReporter.annotate_fileC sX H/00
)**(+,,> /t~&&&T^]2CWCWCYCY5Z5Z[[I!!%((
3%crcNU2 !IIh.I
)S7
3
3
3 !tIAGYY[[F )&*;*;D*A*A K K K
!
!#j//))jmf.D.DFA #j//))jmf.D.D#g,,&&71:+>+>FA #g,,&&71:+>+>s:&&:a=F+B+B3w<</F71:3FG=&&t,, %JJt$$$$\''--
%CLL((
4((((#A'!*44
4((((
4((((x''JJt$$$$ %JJt$$$$JJt$$$
4 1
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s HLL
L
)r r r r r )r r r r r r )r" r
r# r r r )__name__
__module____qualname____doc__r recompiler; r> r$ r! r r r r s *- - - -
rz+&&Hbj/00G - - - - -/! /! /! /! /! /!r r )rI
__future__r r0 rJ typingr r r coverage.filesr
coverage.miscr r coverage.pluginr
coverage.report_corer coverage.resultsr coverage.typesr
r r r rL r r