o
    8ήc                     @   sp   d dl mZ d dlmZ d dlmZ d dl mZ d dlZd dlZedG dd deZ	e
d	kr6e  dS dS )
    )skip_on_cudasim)cuda)types)CUDATestCaseNz#Simulator does not produce lineinfoc                   @   s0   e Zd ZdZdd Zdd Zdd Zdd	 Zd
S )TestCudaLineInfozC
    These tests only check the compiled PTX for line mappings
    c                 C   s   | | ||S )N)compileinspect_asm)selffnsig r   L/tmp/pip-target-vg8gfxp4/lib/python/numba/cuda/tests/cudapy/test_lineinfo.py_getasm   s   

zTestCudaLineInfo._getasmc                 C   sB   | j ||d}td}||}|r| jn| j}|||d d S )N)r   ztest_lineinfo.py)msg)r   rer   searchassertIsNotNoneassertIsNone)r	   r
   r   expectasmre_section_lineinfomatchassertfnr   r   r   _check   s
   

zTestCudaLineInfo._checkc                 C   4   t jdddd }| j|tjd d  fdd d S )NFlineinfoc                 S      d| d< d S N   r   r   xr   r   r   foo      z5TestCudaLineInfo.test_no_lineinfo_in_asm.<locals>.foor   r   r   jitr   r   int32r	   r"   r   r   r   test_no_lineinfo_in_asm      

 z(TestCudaLineInfo.test_no_lineinfo_in_asmc                 C   r   )NTr   c                 S   r   r   r   r    r   r   r   r"   #   r#   z2TestCudaLineInfo.test_lineinfo_in_asm.<locals>.foor$   r%   r(   r   r   r   test_lineinfo_in_asm"   r*   z%TestCudaLineInfo.test_lineinfo_in_asmN)__name__
__module____qualname____doc__r   r   r)   r+   r   r   r   r   r   	   s    	r   __main__)numba.cuda.testingr   numbar   
numba.corer   r   r   unittestr   r,   mainr   r   r   r   <module>   s     