o
    i                     @   s   d dl Zd dlZd dlmZmZ d dlmZmZmZ d dl	m
Z
 dd Zdd Ze
ed	ed
eG dd deZedkrFe  dS dS )    N)unittestCUDATestCase)skip_on_cudasimskip_under_cuda_memcheck!skip_if_mvc_libraries_unavailable)
linux_onlyc                  C   s2   ddl m} m} d| _|jdd }|d   d S )Nr   )configcuda   c                   S   s   d S )N r   r   r   _/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/numba/cuda/tests/cudadrv/test_mvc.pyf   s   zchild_test.<locals>.f)r
   r
   )numbar   r	   'CUDA_ENABLE_MINOR_VERSION_COMPATIBILITYjit)r   r	   r   r   r   r   
child_test	   s
   
r   c                 C   s6   zt  }d}W n
   t }d}Y | ||f d S )NTF)r   	traceback
format_excput)result_queueoutputsuccessr   r   r   child_test_wrapper   s   r   zMay hang CUDA memcheckz+Simulator does not require or implement MVCc                   @   s   e Zd Zdd ZdS )TestMinorVersionCompatibilityc                 C   sT   t d}| }|jt|fd}|  |  | \}}|s(| | d S d S )Nspawn)targetargs)	mpget_contextQueueProcessr   startjoingetfail)selfctxr   procr   r   r   r   r   test_mvc'   s   
z&TestMinorVersionCompatibility.test_mvcN)__name__
__module____qualname__r(   r   r   r   r   r   "   s    r   __main__)multiprocessingr   r   numba.cuda.testingr   r   r   r   r   numba.tests.supportr   r   r   r   r)   mainr   r   r   r   <module>   s    