o
    ۾i1                     @   sd   d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 G dd deZ
edkr0e  dS dS )	    N)cuda)driver)unittestContextResettingTestCase)Queuec                   @   s   e Zd Zdd ZdS )TestResetDevicec                 C   s`   dd }t  }tj||fd}|  |  g }| s(||  | r| |g  d S )Nc              
   S   sn   zt t }t dD ]}|D ]}t| t  qqW d S  ty6 } z| | W Y d }~d S d }~ww )N   )ranger   get_device_countr   select_deviceclose	Exceptionput)exception_queuedevices_de r   ^/home/ubuntu/.local/lib/python3.10/site-packages/numba/cuda/tests/cudadrv/test_reset_device.py	newthread   s   

z4TestResetDevice.test_reset_device.<locals>.newthread)targetargs)	r   	threadingThreadstartjoinemptyappendgetassertEqual)selfr   r   t
exceptionsr   r   r   test_reset_device	   s   z!TestResetDevice.test_reset_deviceN)__name__
__module____qualname__r$   r   r   r   r   r      s    r   __main__)r   numbar   numba.cuda.cudadrv.driverr   numba.cuda.testingr   r   queuer   r   r%   mainr   r   r   r   <module>   s    