
    qi                         d dl Z d dlZd dlZd dlmZ d dlmZ dedefdZdededz  fdZ	dedefdZ
d	ededz  fd
ZdefdZd Zedk(  r e        yy)    N)Counter)Pathnodeidreturnc                 X    | j                  d      d   }t        j                  dd|      S )N::z\[.*\]$ )splitresub)r   names     S/opt/pipecat/venv/lib/python3.12/site-packages/transformers/utils/pytest_helpers.py_base_test_namer      s(    <<b!D66*b$''    c                 L    | j                  d      }t        |      dk\  r|d   S y )Nr      )r   len)r   partss     r   _class_namer      s(    LLE
5zQRyr   c                 *    | j                  d      d   S )Nr   r   )r   )r   s    r   
_file_pathr      s    <<a  r   	file_pathc                 V    t        j                  d|       }|r|j                  d      S y )Nz"test_modeling_([A-Za-z0-9_]+)\.py$   )r   searchgroup)r   ms     r   _modeling_keyr       s'    
		7CAwwqzr   report_pathc           	      T   t        |       }|j                         st        d|j                                t	        j
                  |j                               }|j                  dg       }t        d |D              }|D cg c]  }|j                  d      dv s| }}t        d |D              }t        d |D              }t        d |D              }	t               }
|D ]6  }t        t        |j                  d	d
                  }|s*|
|xx   dz  cc<   8 ||||	|
dS c c}w )NzReport file not found: testsc              3   @   K   | ]  }|j                  d d        yw)outcomeunknownN)get.0ts     r   	<genexpr>zsummarize.<locals>.<genexpr>+   s     BqquuY	2Bs   r%   )failederrorc              3   R   K   | ]  }t        |j                  d d             ! ywr   r
   N)r   r'   r(   s     r   r+   zsummarize.<locals>.<genexpr>1   s      PA
1552+> ?P   %'c              3   Z   K   | ]#  }t        |j                  d d            xs d % yw)r   r
   NO_CLASSN)r   r'   r(   s     r   r+   zsummarize.<locals>.<genexpr>4   s)      bVW+aeeHb.A"B"Pj"P bs   )+c              3   R   K   | ]  }t        |j                  d d             ! ywr/   )r   r'   r(   s     r   r+   zsummarize.<locals>.<genexpr>7   s      #YQOAEE(B4G$H#Yr0   r   r
   r   )outcomesfailures_per_filefailures_per_classfailures_per_testnamefailures_per_modeling_key)r   existsFileNotFoundErrorresolvejsonloads	read_textr'   r   r    r   )r!   pdatar#   r4   r*   r,   r5   r6   r7   r8   keys               r   	summarizerB   "   s,   [A88:"9!))+ GHH::akkm$DHHWb!E BEBBH JA!%%	"26I"IaJFJ  PPP ! b[a bb $#YRX#YY !(	 0JquuXr':;<%c*a/*0 .0!6%> % Ks   D%D%c                  ,   t        j                  d      } | j                  ddd       | j                         }	 t	        |j
                        }|d   }t        d       t        |j                               }t        d	|        t        |      D ]  }t        |d
d||            ddt        fd} |d|d   d        |d|d   d        |d|d           |d|d          y # t        $ r}t        t        |             Y d }~y d }~ww xY w)Nz%Summarize pytest JSON report failures)descriptionz--reportzreport.jsonz6Path to pytest JSON report file (default: report.json))defaulthelpr4   z=== Overall ===zTotal tests: z>10z: counterc                     t        d|  d       |st        d       y t        |j                         d       D ],  \  }}|rt        |dd| |        t        |dd|        . y )Nz
=== z ===Nonec                     | d   | d   fS )Nr   r    )xs    r   <lambda>z.main.<locals>._print_counter.<locals>.<lambda>b   s    qtQqTl r   )rA   4dz  )printsorteditems)titlerG   labelrA   cnts        r   _print_counterzmain.<locals>._print_counter]   sr    ugT"#&Mw}}4JK 	*HCR5'#/0R3%()		*r   zFailures per test classr6   zclass )rS   zFailures per test_modeling_xxxr8   zmodel zFailures per test filer5   zFailures per test name (base)r7   )r
   )argparseArgumentParseradd_argument
parse_argsrB   reportr:   rO   strsumvaluesrP   r   )parserargssummaryer4   totalkrU   s           r   mainrd   I   s+   $$1XYF
M0h   DDKK(
 z"H	
!"E	M%
!"H )3r(1+'()	*w 	* ,g6J.KS[\3W=X5Yaij+W5H-IJ2G<S4TU3  c!fs   C, ,	D5DD__main__)rV   r<   r   collectionsr   pathlibr   r[   r   r   r   r    rB   rd   __name__rK   r   r   <module>ri      s      	  (C (C ( d
 !s !s !S S4Z $3 $N"VJ zF r   