
    J/Ph
                         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
 d dlmZ  G d de          Z e
d           G d d	e                      Zed
k    r ej                     dS dS )    N)cuda)unittestCUDATestCaseskip_on_cudasimskip_under_cuda_memcheck)captured_stdoutc                       e Zd Zd ZdS )TestCudaDetectc                     t                      5 }t          j                     d d d            n# 1 swxY w Y   |                                }|                     d|           |                     d|           d S )NFoundzCUDA devices)r   r   detectgetvalueassertIn)selfoutoutputs      d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/cuda/tests/cudadrv/test_detect.pytest_cuda_detectzTestCudaDetect.test_cuda_detect   s     	#KMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	gv&&&nf-----s   /33N)__name__
__module____qualname__r        r   r
   r
      s#        . . . . .r   r
   zHangs cuda-memcheckc                       e Zd Zd Zd Z ed           ej        ej	        
                    d           d          d                         ZdS )TestCUDAFindLibsc                    t          j        |t           j        t           j        |          }t          j        d|j                  }	 |                                 |                                \  }}|                                |                                f|	                                 S # |	                                 w xY w)N)stdoutstderrenvg     r@)

subprocessPopenPIPE	threadingTimerkillstartcommunicatedecodecancel)r   cmdliner   popentimeoutr   errs          r   run_cmdzTestCUDAFindLibs.run_cmd   s     (2(2%(* * * /'5:66	MMOOO((**HC::<<-NNGNNs   AB/ /Cc                     t           j                                        }t          |          ||<   d}t          j        d|g}|                     ||          S )Nzif 1:
            from numba import cuda
            @cuda.jit('(int64,)')
            def kernel(x):
                pass
            kernel(1,)
            z-c)osenvironcopystrsys
executabler.   )r   envvarenvvar_valueenv_copycoder*   s         r   run_test_in_separate_processz-TestCUDAFindLibs.run_test_in_separate_process)   sP    :??$$|,, >4.||GX...r   z6Simulator does not hit device library search code pathlinuxz
linux onlyc                 R   ddg}d}|D ]R}t           j                            t           j        j        |          }t           j                            |          r nS|I|                     d|          \  }}|                     |du           |                     |du           dS dS )z
        This tests that the find_libs works as expected in the case of an
        environment variable being used to set the path.
        liblib64NNUMBA_CUDA_DRIVER)r0   pathjoinsepexistsr:   
assertTrue)r   locslooking_forlr   r-   s         r   test_cuda_find_lib_errorsz*TestCUDAFindLibs.test_cuda_find_lib_errors6   s     w 	 	A',,rw{A66Kw~~k** 
 "889L9DF FHCOOCtO,,,OOCtO,,,,,	 #"r   N)r   r   r   r.   r:   r   r   skipIfr4   platform
startswithrH   r   r   r   r   r      s          "/ / / _MNNX_00999<HH- - IH ON- - -r   r   __main__)r0   r4   r    r#   numbar   numba.cuda.testingr   r   r   r   numba.tests.supportr   r
   r   r   mainr   r   r   <module>rQ      s#   				 



              : : : : : : : : : : : : / / / / / /. . . . .\ . . . /007- 7- 7- 7- 7-| 7- 7- 107-t zHMOOOOO r   