File: //proc/self/root/opt/alt/python311/lib64/python3.11/__pycache__/trace.cpython-311.opt-1.pyc
�
    !A?hr  �                   �   � d Z ddgZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZ ddlZdZ G d� d�  �        Zd	� Zd
� Z G d� d�  �        Zd� Zd
� Zdd�Zd� Z G d� d�  �        Zd� Zedk    r e�   �          dS 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                   �   � e Zd Zdd�Zd� ZdS )�_IgnoreNc                 �   � |st          �   �         nt          |�  �        | _        |sg nd� |D �   �         | _        ddi| _        d S )Nc                 �L   � g | ]!}t           j        �                    |�  �        ��"S � )�os�path�normpath��.0�ds     �,/opt/alt/python311/lib64/python3.11/trace.py�
<listcomp>z$_Ignore.__init__.<locals>.<listcomp>H   s8   � � *9� *9� *9�./� +-�'�*:�*:�1�*=�*=� *9� *9� *9�    z<string>�   )�set�_mods�_dirs�_ignore)�self�modules�dirss      r   �__init__z_Ignore.__init__F   sX   � �")�;�S�U�U�U�s�7�|�|��
�#� 9�R�R� *9� *9�37�*9� *9� *9��
�#�Q�(����r   c                 �\  � || j         v r
| j         |         S || j        v rd| j         |<