
    sh                         S SK rS SKrS SKJr  S SKJrJr  S SKJ	r	  S SK
JrJrJr  S rS rS rS	 rS
 r\" S5       " S S\5      5       r\S:X  a  \R*                  " 5         gg)    N)cuda)CudaAPIErrordriver)CudaSupportError)skip_on_cudasimunittestCUDATestCasec                     [        SS5      e)Ni  CUDA_ERROR_UNKNOWN)r   )args    v/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudadrv/test_init.pycuInit_raisingr      s    
s0
11    c                     [         [        l        SnS n [        R                  " S5        U R                  X45        g ! [
         a  nSnUR                  n S nAN0S nAff = fNF   T)r   r   cuInitr   device_arrayr   msgputresult_queuesuccessr   es       r   cuInit_raising_testr      sX    "FMG
C!
 g^$	  ees   > 
A AA c                     [         [        l        SnS n [        R                  " S5        [        R                  " 5       nU R                  X45        g ! [
         a    Sn N6f = fr   )r   r   r   r   r   r   
cuda_errorr   r   r   r   s      r   initialization_error_testr   &   sZ    "FMG
C! //
Cg^$	  s   A A"!A"c                     SnS n [         R                  " S5        U R	                  X45        g ! [         a  nSnUR                  n S nAN0S nAff = fr   )r   r   r   r   r   r   s       r   cuda_disabled_testr!   7   sQ    G
C!
 g^$	  ees   / 
AAAc                     SnS n [         R                  " S5        [         R                  " 5       nU R	                  X45        g ! [         a    Sn N6f = fr   )r   r   r   r   r   r   s      r   cuda_disabled_error_testr#   G   sS    G
C! //
Cg^$	  s   A AAz)CUDA Simulator does not initialize driverc                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestInitU   c                 (   [         R                  " S5      nUR                  5       nUR                  X4S9nUR	                  5         UR                  S5        UR                  5       u  pgU(       d  U R                  S5        U R                  X'5        g )Nspawn)targetargs   zCudaSupportError not raised)	mpget_contextQueueProcessstartjoingetfailassertIn)selfr)   expectedctxr   procr   r   s           r   _test_init_failureTestInit._test_init_failureW   so    nnW%yy{{{&{?

		"#'') II34h$r   c                 4    SnU R                  [        U5        g )Nz.Error at driver init: CUDA_ERROR_UNKNOWN (999))r9   r   r5   r6   s     r   test_init_failure_raising"TestInit.test_init_failure_raisingg   s    C 3X>r   c                 4    SnU R                  [        U5        g )NzCUDA_ERROR_UNKNOWN (999))r9   r   r<   s     r   test_init_failure_error TestInit.test_init_failure_errork   s    - 98Dr   c                 |   [         R                  R                  S5      nS[         R                  S'    SnU R                  [        U5        Ub  U[         R                  S'   g [         R                  R                  S5        g ! Ub  U[         R                  S'   f [         R                  R                  S5        f = f)NNUMBA_DISABLE_CUDA1z4CUDA is disabled due to setting NUMBA_DISABLE_CUDA=1)osenvironr2   r9   r!   pop)r5   r)   cuda_disabledr6   s       r   _test_cuda_disabledTestInit._test_cuda_disabledo   s     

';<+.

'(	5MH##$6A(3@

/0

34 (3@

/0

34s   B 8B;c                 .    U R                  [        5        g N)rI   r!   r5   s    r   test_cuda_disabled_raising#TestInit.test_cuda_disabled_raising}   s      !34r   c                 .    U R                  [        5        g rL   )rI   r#   rM   s    r   test_cuda_disabled_error!TestInit.test_cuda_disabled_error   s      !9:r   c                 L    U R                  [        R                  " 5       5        g rL   )assertIsNoner   r   rM   s    r   test_init_successTestInit.test_init_success   s     	$//+,r    N)__name__
__module____qualname____firstlineno__r9   r=   r@   rI   rN   rQ   rU   __static_attributes__rW   r   r   r%   r%   U   s&    % ?E55;-r   r%   __main__)multiprocessingr,   rE   numbar   numba.cuda.cudadrv.driverr   r   numba.cuda.cudadrv.errorr   numba.cuda.testingr   r   r	   r   r   r   r!   r#   r%   rX   mainrW   r   r   <module>rd      sm     	  : 5 F F2%$%"% % <=1-| 1- >1-h zMMO r   