
    sh
                         S SK r S SKrS SKrS SKrS SKJr  S SKJrJrJ	r	J
r
  S SKJr   " S S\5      r\
" S5       " S S	\5      5       r\S
:X  a  \R                   " 5         gg)    N)cuda)unittestCUDATestCaseskip_on_cudasimskip_under_cuda_memcheck)captured_stdoutc                       \ rS rSrS rSrg)TestCudaDetect   c                     [        5        n[        R                  " 5         S S S 5        WR                  5       nU R	                  SU5        U R	                  SU5        g ! , (       d  f       NC= f)NFoundzCUDA devices)r   r   detectgetvalueassertIn)selfoutoutputs      x/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudadrv/test_detect.pytest_cuda_detectTestCudaDetect.test_cuda_detect   sH    #KKM gv&nf-	 s   A
A, N)__name__
__module____qualname____firstlineno__r   __static_attributes__r       r   r
   r
      s    .r   r
   zHangs cuda-memcheckc                       \ rS rSrS rS r\" S5      \R                  " \	R                  R                  S5      (       + S5      S 5       5       rSrg	)
TestCUDAFindLibs   c                 z   [         R                  " U[         R                  [         R                  US9n[        R                  " SUR
                  5      n UR                  5         UR                  5       u  pVUR                  5       UR                  5       4UR                  5         $ ! UR                  5         f = f)N)stdoutstderrenvg     r@)

subprocessPopenPIPE	threadingTimerkillstartcommunicatedecodecancel)r   cmdliner$   popentimeoutr   errs          r   run_cmdTestCUDAFindLibs.run_cmd   s      (2(2%(* //'5::6	MMO((*HC::<-NNGNNs   AB( (B:c                     [         R                  R                  5       n[        U5      X1'   Sn[        R
                  SU/nU R                  XS5      $ )Nzif 1:
            from numba import cuda
            @cuda.jit('(int64,)')
            def kernel(x):
                pass
            kernel(1,)
            z-c)osenvironcopystrsys
executabler3   )r   envvarenvvar_valueenv_copycoder/   s         r   run_test_in_separate_process-TestCUDAFindLibs.run_test_in_separate_process)   sG    ::??$|, >>4.||G..r   z6Simulator does not hit device library search code pathlinuxz
linux onlyc                 Z   SS/nSnU Ha  n[         R                  R                  [         R                  R                  U5      n[         R                  R	                  U5      (       d  Ma    O   Ub;  U R                  SU5      u  pEU R                  USL5        U R                  USL5        gg)zt
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)r6   pathjoinsepexistsr@   
assertTrue)r   locslooking_forlr   r2   s         r   test_cuda_find_lib_errors*TestCUDAFindLibs.test_cuda_find_lib_errors6   s     wA'',,rww{{A6Kww~~k**  "889L9DFHCOOCtO,OOCtO,	 #r   r   N)r   r   r   r   r3   r@   r   r   skipIfr:   platform
startswithrO   r   r   r   r   r   r      sM    "/ MN__0099<H- I O-r   r   __main__)r6   r:   r%   r(   numbar   numba.cuda.testingr   r   r   r   numba.tests.supportr   r
   r   r   mainr   r   r   <module>rY      sg    	 
   : : /.\ . /07-| 7- 17-t zMMO r   