U
    /e                     @   s&   d Z dd Zdd Zedkr"e  dS )z*
Entry point module to run code-coverage.
c              	   C   sl   ddl }d}|j| rh|j| d dkshz.t| d}t| | d d}W 5 Q R X W n   Y nX |S )	z
    Checks whether the file can be read by the coverage module. This is especially
    needed for .pyx files and .py files with syntax errors.
        NF   z.pyxrbexecT)ospathisfilesplitextopencompileread)r   r   Zis_validf r   K/tmp/pip-unpacked-wheel-dg3irmqq/debugpy/_vendored/pydevd/pydev_coverage.pyis_valid_py_file   s     r   c            
      C   s  dd l } dd l}d }d|jkrd|jkr|jd t }|dd}|dd}g }g }|dD ]"}t|r||| qd|| qd|r|j	
dd	|  n|jd
 | jd< |jd
= zdd l}W nJ   |j	
d |j	
d |j	
d|jf  dd l}|  Y d S X t|drzttt|jdd d }|dk r|j	
dddd |D |jf  |d
 n|j	
d ddlm}	 |d k	r|jd | j|7  _|	  d S )Nr   combinez--pydev-analyze 
|z)Invalid files not passed to coverage: %s
z, r   ZCOVERAGE_FILEz-Error: coverage module could not be imported
zTPlease make sure that the coverage module (http://nedbatchelder.com/code/coverage/)
z.is properly installed in your interpreter: %s
__version__.   )      zIError: minimum supported coverage version is 4.3.
Found: %s
Location: %s
c                 s   s   | ]}t |V  qd S )N)str).0xr   r   r   	<genexpr>N   s     zexecute.<locals>.<genexpr>zbWarning: Could not determine version of python module coverage.
Ensure coverage version is >= 4.3
)mainxml)r   sysargvremoveinputreplacesplitr   appendstderrwritejoinenvironcoverage
executable	traceback	print_exchasattrtuplemapintr   __file__exitZcoverage.cmdliner   )
r   r    filessZinvalid_filesvr+   r-   versionr   r   r   r   execute   sV    

	 

r9   __main__N)__doc__r   r9   __name__r   r   r   r   <module>   s   E