Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib64/python3.7/site-packages/coverage/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/site-packages/coverage/__pycache__/xmlreport.cpython-37.pyc

B

E�W��@s�dZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZddlm
Z
ddlmZddlmZee�ZdZd	d
�ZGdd�de�ZdS)
zXML reporting for coverage.py�N)�env)�__url__�__version__�files)�iitems)�isolate_module)�Reporterzshttps://raw.githubusercontent.com/cobertura/web/f0366e5e2cf18f111cbd61fc34ef720a6584ba02/htdocs/xml/coverage-03.dtdcCs |dkrdSdt|�|SdS)z0Return the fraction of `hit`/`num`, as a string.r�1z%.4gN)�float)Zhit�num�r�E/opt/alt/python37/lib64/python3.7/site-packages/coverage/xmlreport.py�ratesrcs2eZdZdZ�fdd�Zd	dd�Zdd�Z�ZS)
�XmlReporterz<A reporter for writing Cobertura-style XML coverage results.csjtt|��||�t�|_|jrNx,|jD]"}tj�|�r(|j�	t
�|��q(Wi|_d|_
|j��|_dS)N)�superr�__init__�set�source_paths�source�os�path�exists�addrZcanonical_filename�packages�xml_out�data�has_arcs)�self�coverage�config�src)�	__class__rr
r'szXmlReporter.__init__NcCs�|ptj}tjj��}|�ddd�|_|jj}|�	dt
�|�	dttt
�
�d���|�|j�dt��|�|j�dt��|�|j|�|j�d�}|�|�x>t|j�D]0}|j�d	�}|�|�|j�|�}|�|�q�Wd
\}	}
d
\}}|j�d�}
|�|
�x�tt|j��D]�\}}|\}}}}}|j�d�}|
�|�|j�d
�}|�|�x$tt|��D]\}}|�|��qlW|�	d|�tjd��|�	dt||��|j�r�t||�}nd}|�	d|�|�	dd�|	|7}	|
|7}
||7}||7}�qW|�	dt|
|	��|j�r(t||�}nd}|�	d|�|j��}t j!�rT|�"d�}|�#|�|	|}|dk�rvd}nd|
||}|S)z�Generate a Cobertura-compatible XML report for `morfs`.

        `morfs` is a list of modules or file names.

        `outfile` is a file object to write the XML to.

        Nr�version�	timestampi�z Generated by coverage.py: %s z
 Based on %s �sourcesr)rrr�package�classes�name�.z	line-rate�0zbranch-rate�
complexity�utf8rggY@)$�sys�stdout�xml�domZminidomZgetDOMImplementationZcreateDocumentrZdocumentElement�setAttributer�str�int�time�appendChildZ
createCommentr�DTD_URLZreport_files�xml_file�
createElement�sortedrZcreateTextNoderr�replacer�seprrZtoprettyxmlr�PY2�encode�write)rZmorfs�outfile�implZ	xcoverageZxsourcesrZxsourceZtxtZlnum_totZ	lhits_totZbnum_totZ	bhits_totZ	xpackages�pkg_nameZpkg_dataZ
class_eltsZlhits�lnumZbhitsZbnumZxpackageZxclasses�_Z	class_elt�branch_rate�outZdenomZpctrrr
�report3sl	










zXmlReporter.reportcCs�|j�dd�}xB|jD]0}|�|�dd�d�r|t|�dd�}PqW|��}tj�|�p`d}d�	|�
d�d|jj��}|�dd�}||jkr�|j�
|jdt|���d��|j�|iddddg�}|j�d�}	|	�|j�d	��|j�d
�}
|	�|
�|	�dtj�||��|	�d|���dd��|	�d
d�|��}|��}x�t|j�D]�}
|j�d�}|�dt|
��|�dtt|
|jk���|j�r|
|k�r�||
\}}|�dd�|�ddd||||f�|
|k�rdd�||
D�}|�dd�	|��|
�|��qXWt|j�}|t|j�}|j�rntdd�|��D��}tdd�|��D��}||}nd}d}|	�dt ||��|j�r�t ||�}nd}|	�d |�|	|d|<|d|7<|d!|7<|d"|7<|d#|7<dS)$z(Add to the XML report for a single file.�\�/�Nr(z\/r�class�methods�linesr'�filenamer*r)�line�number�hits�branch�truezcondition-coveragez%d%% (%d/%d)�dcSs g|]}|dkrdnt|��qS)r�exit)r1)�.0�brrr
�
<listcomp>�sz(XmlReporter.xml_file.<locals>.<listcomp>zmissing-branches�,css|]\}}|VqdS)Nr)rT�t�krrr
�	<genexpr>�sz'XmlReporter.xml_file.<locals>.<genexpr>css|]\}}||VqdS)Nr)rTrXrYrrr
rZ�sgz	line-ratezbranch-rate���)!rLr9r�
startswith�lenZrelative_filenamerr�dirname�join�splitrZxml_package_depthr�rstripr�
setdefaultrr7r4r0�relpath�branch_stats�missing_branch_arcsr8Z
statementsr1r2�missingr�sum�valuesr)r�frZanalysisrL�source_pathZrel_namer`�package_namer%ZxclassZxlinesrfrgrMZxline�totalZtakenZannlinesZclass_linesZ
class_hitsZclass_branchesZmissing_branchesZ
class_br_hitsrCrrr
r6�sl
"




zXmlReporter.xml_file)N)�__name__�
__module__�__qualname__�__doc__rrEr6�
__classcell__rr)r!r
r$s
Wr)rrr�os.pathr,r3Zxml.dom.minidomr.rrrrrZcoverage.backwardrZ
coverage.miscrZcoverage.reportrr5rrrrrr
�<module>s