
    bi                         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             dS dS )    N)Counter)Pathnodeidreturnc                 d    |                      d          d         }t          j        dd|          S )N::z\[.*\]$ )splitresub)r   names     \/root/projects/butler/venv/lib/python3.11/site-packages/transformers/utils/pytest_helpers.py_base_test_namer      s,    <<b!D6*b$'''    c                 f    |                      d          }t          |          dk    r|d         S d S )Nr      )r   len)r   partss     r   _class_namer      s1    LLE
5zzQRy4r   c                 8    |                      d          d         S )Nr   r   )r   )r   s    r   
_file_pathr      s    <<a  r   	file_pathc                 ^    t          j        d|           }|r|                    d          S d S )Nz"test_modeling_([A-Za-z0-9_]+)\.py$   )r   searchgroup)r   ms     r   _modeling_keyr       s1    
	7CCA wwqzz4r   report_pathc           	         t          |           }|                                s$t          d|                                           t	          j        |                                          }|                    dg           }t          d |D                       }d |D             }t          d |D                       }t          d |D                       }t          d |D                       }t                      }	|D ]D}
t          t          |
                    dd	                              }|r|	|xx         d
z  cc<   E|||||	dS )NzReport file not found: testsc              3   B   K   | ]}|                     d d          V  dS )outcomeunknownNget.0ts     r   	<genexpr>zsummarize.<locals>.<genexpr>+   s0      BBqquuY	22BBBBBBr   c                 @    g | ]}|                     d           dv |S )r%   )failederrorr'   r)   s     r   
<listcomp>zsummarize.<locals>.<listcomp>.   s/    JJJA!%%	"2"26I"I"Ia"I"I"Ir   c              3   \   K   | ]'}t          |                    d d                    V  (dS r   r
   N)r   r(   r)   s     r   r,   zsummarize.<locals>.<genexpr>1   s8      PPA
1552+>+> ? ?PPPPPPr   c              3   `   K   | ])}t          |                    d d                    pdV  *dS )r   r
   NO_CLASSN)r   r(   r)   s     r   r,   zsummarize.<locals>.<genexpr>4   s>       b bVW+aeeHb.A.A"B"B"Pj b b b b b br   c              3   \   K   | ]'}t          |                    d d                    V  (dS r2   )r   r(   r)   s     r   r,   zsummarize.<locals>.<genexpr>7   s8      #Y#YQOAEE(B4G4G$H$H#Y#Y#Y#Y#Y#Yr   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#   r6   r.   r7   r8   r9   r:   r+   keys               r   	summarizerD   "   s   [A88:: I G!))++ G GHHH:akkmm$$DHHWb!!E BBEBBBBBH KJJJJF  PPPPPPP ! b b[a b b bbb $#Y#YRX#Y#Y#YYY !(		 0 0JquuXr':':;;<< 	0%c***a/*** .0!6%>  r   c                     t          j        d          } |                     ddd           |                                 }	 t	          |j                  }n4# t          $ r'}t          t          |                     Y d }~d S d }~ww xY w|d         }t          d           t          |
                                          }t          d	|            t          |          D ]}t          |d
d||                     ddt          fd} |d|d         d            |d|d         d            |d|d                     |d|d                    d S )Nz%Summarize pytest JSON report failures)descriptionz--reportzreport.jsonz6Path to pytest JSON report file (default: report.json))defaulthelpr6   z=== Overall ===zTotal tests: z>10z: r
   counterc                    t          d|  d           |st          d           d S t          |                                d           D ]4\  }}|rt          |dd| |            t          |dd|            5d S )Nz
=== z ===Nonec                 "    | d         | d         fS )Nr   r    )xs    r   <lambda>z.main.<locals>._print_counter.<locals>.<lambda>b   s    qtQqTl r   )rC   4dz  )printsorteditems)titlerI   labelrC   cnts        r   _print_counterzmain.<locals>._print_counter]   s    "u"""### 	&MMMFw}}4J4JKKK 	* 	*HC *///5/#//0000(((3(())))		* 	*r   zFailures per test classr8   zclass )rU   zFailures per test_modeling_xxxr:   zmodel zFailures per test filer7   zFailures per test name (base)r9   )r
   )argparseArgumentParseradd_argument
parse_argsrD   reportr<   rQ   strsumvaluesrR   r   )parserargssummaryer6   totalkrW   s           r   mainrf   I   s   $1XYYYF
M0h     DDK((   c!ff z"H	
!!""E	
!%
!
!"""H ) )'''(1+''((((	* 	*w 	* 	* 	* 	* N,g6J.KS[\\\\N3W=X5YaijjjjN+W5H-IJJJN2G<S4TUUUUUs   A 
B	"BB	__main__)rX   r>   r   collectionsr   pathlibr   r]   r   r   r   r    rD   rf   __name__rM   r   r   <module>rk      s'     				            (C (C ( ( ( ( d
    !s !s ! ! ! !S S4Z    $3 $ $ $ $N"V "V "VJ zDFFFFF r   