U
    hâËd¸  ã                   @   s†   d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
mZ ddlmZmZmZ d dlmZ dd„ Zdd
d„ZdS )é    N)Úfnmatch)ÚjoinÚisfileÚrelpathÚnormpathÚsplitexté   )ÚNumbaTestProgramÚSerialSuiteÚmake_tag_decorator)Úconfigc                 C   sâ   z°t  ¡ }g }t |¡D ]J}t||ƒ}t|ƒrDt|dƒrD| |¡ qtt|dƒƒr| |  	|¡¡ q|D ]B}t
t||ƒ| jƒ}tt| tjjd¡ƒƒd }| |  |¡¡ qh|W S  tk
rÜ   tjtjd� t d¡ Y nX dS )zFind tests in 'dir'.z	test_*.pyz__init__.pyÚ.r   )ÚfileéÿÿÿÿN)ÚunittestZ	TestSuiteÚosÚlistdirr   r   r   ÚappendZaddTestsZdiscoverr   Z_top_level_dirr   r   ÚreplaceÚpathÚsepZloadTestsFromNameÚ	ExceptionÚ	tracebackÚ	print_excÚsysÚstderrÚexit)ÚloaderÚdirZsuiteÚfilesÚfr   © r!   úO/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/testing/__init__.pyÚload_testsuite   s"    
r#   Fc           	   
   C   s@   |dk	rddl }|j|d�}nd}t| d|||d||d�}|jS )zæ
    args
    ----
    - xmloutput [str or None]
        Path of XML output directory (optional)
    - verbosity [int]
        Verbosity level of tests output

    Returns the TestResult object after running the test *suite*.
    Nr   )ÚoutputF)ÚargvÚmoduleÚdefaultTestÚtopleveldirZ
testRunnerr   Ú	verbosityÚnomultiproc)Ú	xmlrunnerZXMLTestRunnerr	   Úresult)	r%   r'   r(   Z	xmloutputr)   r*   r+   ÚrunnerÚprogr!   r!   r"   Ú	run_tests$   s     úr/   )NNNNr   F)r   r   Ú	functoolsr   r   r   Úos.pathr   r   r   r   r   Úmainr	   r
   r   Z
numba.corer   r#   r/   r!   r!   r!   r"   Ú<module>   s         ÿ