o
    i                     @   s<   d dl Z d dlZd dlZdd Zdd ZG dd deZdS )    Nc                 K   s   ddl m} d| v rtjtjd | d d| v r&| d t | |S d| v r8| d tdd| |S || fd	d
i| S )Nr   	run_testsz--log)levelz--failed-firstz--last-failedTlast_failedZdefaultTestznumba.tests)	numba.testingr   loggingbasicConfigDEBUGremove_FailedFirstRunnermainwasSuccessful)argvkwdsr    r   f/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/numba/testing/_runtests.py_main   s   


r   c                  O   s   t dgt|  fi |S )z~keyword arguments are accepted for backward compatibility only.
    See `numba.testing.run_tests()` documentation for details.z<main>)r   list)r   r   r   r   r   r      s   r   c                   @   s6   e Zd ZdZdZdddZdd Zdd	 Zd
d ZdS )r   zI
    Test Runner to handle the failed-first (--failed-first) option.
    z.runtests_lastfailedFc                 C   s
   || _ d S Nr   )selfr   r   r   r   __init__)   s   
z_FailedFirstRunner.__init__c                    s   ddl m} |d }|dd  }dd |D }| |\}  rAd}t|t   fdd|D }| jr<t }	n | }	n
| jrGg }	nt|}	|	sStd d	S td
t|	 td| ||g| |	 fi |}
t|	|
jkr{| 	|
| |

 S )Nr   r      c                 S   s   g | ]	}| d r|qS -
startswith.0ar   r   r   
<listcomp>0       z+_FailedFirstRunner.main.<locals>.<listcomp>z%There were {} previously failed testsc                    s   g | ]}| vr|qS r   r   )r   tfailed_testsr   r   r    7   s    zNo tests to runTzRunning {} testsFlags)r   r   find_last_failedprintformatlenr   r   ZtestsRunsave_failed_testsr   )r   r   r   r   progflags	all_testsftZremaing_teststestsresultr   r#   r   r   ,   s0   


z_FailedFirstRunner.mainc                 C   s   t d| j g }t }|j|j D ]}||d   q|D ]}||v r,|| q!t	| jd}t
|| W d    d S 1 sEw   Y  d S )NzSaving failed tests to {}r   w)r'   r(   cache_filenameseterrorsZfailuresaddidappendopenjsondump)r   r0   r-   cachefailedcaser"   Zfoutr   r   r   r*   P   s   
"z$_FailedFirstRunner.save_failed_testsc           
         s   ddl m} dgdd |D  }|d}t|  td |  }W d    n1 s.w   Y   fdd|D }zt| j}W n t	yQ   g }Y ||fS w |}	t
|	}W d    ||fS 1 sgw   Y  ||fS )	Nr   )captured_outputz-lc                 S   s   g | ]	}| d s|qS r   r   r   r   r   r   r    c   r!   z7_FailedFirstRunner.find_last_failed.<locals>.<listcomp>stdoutz^(\w+\.)+\w+$c                    s   g | ]}  |d ur|qS r   )match)r   xpatr   r   r    i   s    )Znumba.tests.supportr>   r   recompilegetvalue
splitlinesr8   r2   OSErrorr9   load)
r   r   r>   Zlistargvstreamlinesr-   Zfobjr$   Zfinr   rB   r   r&   _   s(   


z#_FailedFirstRunner.find_last_failedN)F)	__name__
__module____qualname____doc__r2   r   r   r*   r&   r   r   r   r   r   #   s    
$r   )r9   rD   r   r   r   objectr   r   r   r   r   <module>   s    