o
    ۾i<
                     @   s\   d dl mZ d dlmZ d dlmZmZmZ dd ZG dd deZ	e
dkr,e  d	S d	S )
    )cuda)TypingError)unittestCUDATestCaseskip_on_cudasimc                 C   s   d S N xr   r   W/home/ubuntu/.local/lib/python3.10/site-packages/numba/cuda/tests/cudapy/test_errors.pynoop   s   r   c                   @   sH   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Ze	ddd Z
dS )TestJitErrorsz-
    Test compile-time errors with @jit.
    c                 C      t t}| t}|d  W d    n1 sw   Y  | dt|j | t}|d  W d    n1 s;w   Y  | dt|j d S )N))            )      zBgriddim must be a sequence of 1, 2 or 3 integers, got [1, 2, 3, 4]))r   r   )r   r   r   r   zCblockdim must be a sequence of 1, 2 or 3 integers, got [3, 4, 5, 6])r   jitr   assertRaises
ValueErrorassertInstr	exceptionselfkernfuncraisesr   r   r   test_too_many_dims   s   


z TestJitErrors.test_too_many_dimsc                 C   r   )N)g       @r   z1griddim must be a sequence of integers, got [2.0])r   g      @z2blockdim must be a sequence of integers, got [3.0])r   r   r   r   	TypeErrorr   r   r   r   r   r   r   test_non_integral_dims   s   


z$TestJitErrors.test_non_integral_dimsc                 C   sH   |  t}|d W d    n1 sw   Y  | dt|j d S )Nr   z&launch configuration was not specified)r   r   r   r   r   r   r   r   r   _test_unconfigured+   s   
z TestJitErrors._test_unconfiguredc                 C   s   t dt}| | d S )Nzvoid(int32)r   r   r   r"   r   r   r   r   r   "test_unconfigured_typed_cudakernel1   s   z0TestJitErrors.test_unconfigured_typed_cudakernelc                 C   s   t t}| | d S r   r#   r$   r   r   r   $test_unconfigured_untyped_cudakernel5   s   
z2TestJitErrors.test_unconfigured_untyped_cudakernelz'TypingError does not occur on simulatorc                    s   t jdddd  t j fdd}| t}|d   W d    n1 s(w   Y  t|j}| d| | d	| d S )
NT)devicec                 S   s   t | S r   )floorr	   r   r   r   dev_func>   s   z1TestJitErrors.test_typing_error.<locals>.dev_funcc                      s    d d S )Ng      ?r   r   r)   r   r   kernel_funcC   s   z4TestJitErrors.test_typing_error.<locals>.kernel_func)r   r   z*resolving callee type: type(CUDADispatcherz&NameError: name 'floor' is not defined)r   r   r   r   r   r   r   )r   r+   r   excstrr   r*   r   test_typing_error9   s   


zTestJitErrors.test_typing_errorN)__name__
__module____qualname____doc__r   r!   r"   r%   r&   r   r-   r   r   r   r   r   
   s    r   __main__N)numbar   numba.core.errorsr   numba.cuda.testingr   r   r   r   r   r.   mainr   r   r   r   <module>   s    D