U
    -e                     @   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re  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   b/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/numba/cuda/tests/cudadrv/test_mvc.pyf   s    zchild_test.<locals>.f)r
   r
   )Znumbar   r	   Z'CUDA_ENABLE_MINOR_VERSION_COMPATIBILITYZjit)r   r	   r   r   r   r   
child_test	   s
    
r   c                 C   s:   zt  }d}W n   t }d}Y nX | ||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   sP   t d}| }|jt|fd}|  |  | \}}|sL| | d S )Nspawn)targetargs)	mpZget_contextQueueProcessr   startjoingetZ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   Znumba.cuda.testingr   r   r   r   r   Znumba.tests.supportr   r   r   r   r$   mainr   r   r   r   <module>   s   