o
    ۾i                     @   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   zXt  }g }t|D ]%}t||}t|r"t|dr"|| qtt|dr1|| 	| q|D ]!}t
t||| j}tt|tjjdd }|| | q4|W S  tyn   tjtjd td Y dS w )zFind tests in 'dir'.z	test_*.pyz__init__.py.r   )fileN)unittest	TestSuiteoslistdirr   r   r   appendaddTestsdiscoverr   _top_level_dirr   r   replacepathseploadTestsFromName	Exception	traceback	print_excsysstderrexit)loaderdirsuitefilesfr    r'   J/home/ubuntu/.local/lib/python3.10/site-packages/numba/testing/__init__.pyload_testsuite   s&   
r)   Fc           	   
   C   s@   |du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topleveldir
testRunnerr!   	verbositynomultiproc)	xmlrunnerXMLTestRunnerr	   result)	r+   r-   r.   	xmloutputr0   r1   r2   runnerprogr'   r'   r(   	run_tests$   s   r8   )NNNNr   F)r   r   	functoolsr   r   r   os.pathr   r   r   r   r   mainr	   r
   r   
numba.corer   r)   r8   r'   r'   r'   r(   <module>   s    