File: //lib64/python3.9/__pycache__/trace.cpython-39.opt-1.pyc
a
    �DOgr  �                   @   s�   d Z ddgZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZ ddlZdZG dd� d�Zd	d
� Zdd� ZG d
d� d�Zdd� Zdd� Zddd�Zdd� ZG dd� d�Zdd� Zedkr�e�  dS )a�  program/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")
�Trace�CoverageResults�    N)�	monotonicz#pragma NO COVERc                   @   s   e Zd Zddd�Zdd� ZdS )�_IgnoreNc                 C   s:   |s
t � nt |�| _|sg ndd� |D �| _ddi| _d S )Nc                 S   s   g | ]}t j�|��qS � )�os�path�normpath��.0�dr   r   �/usr/lib64/python3.9/trace.py�
<listcomp>H   s   �z$_Ignore.__init__.<locals>.<listcomp>z<string>�   )�set�_mods�_dirs�_ignore)�self�modules�dirsr   r   r
   �__init__F   s
    �z_Ignore.__init__c                 C   s�   || j v r| j | S || jv r,d| j |<