U
    iâËdÈ  ã                   @   sX   d dl mZ d dlmZ d dlmZmZ d dlZeG dd„ deƒƒZe	dkrTe 
¡  dS )é    )Únjit)ÚGdbMIDriver)ÚTestCaseÚneeds_subprocessNc                   @   s   e Zd Zdd„ ZdS )ÚTestc                    s°   t dd�dd„ ƒ‰ t dd�‡ fdd„ƒ}|dƒ ttƒ}|jdd	d
� | ¡  | d¡ | d¡ d}| |¡ |jddd
� | ¡  | d¡ | 	d¡ | d¡ | 
¡  d S )NT)Údebugc                 S   s   | | }|S )N© )ÚxÚyÚcr   r   úd/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/tests/gdb/test_conditional_breakpoint.pyÚfoo   s    zTest.test.<locals>.fooc                    s$   d}t dƒD ]}|ˆ || ƒ7 }q|S )Nr   é
   )Úrange)ÚaÚaccÚi©r   r   r   Úcall_foo   s    zTest.test.<locals>.call_foor   é   zx == 4)ÚlineÚ	conditioné   zE[frame={level="0",args=[{name="x",value="4"},{name="y",value="10"}]}]é   zi == 8é   z{name="i",value="8"})r   r   Ú__file__Zset_breakpointÚrunZcheck_hit_breakpointZstack_list_argumentsZassert_outputÚcontZstack_list_variablesÚquit)Úselfr   ZdriverÚexpectr   r   r   Útest   s$    






z	Test.testN)Ú__name__Ú
__module__Ú__qualname__r!   r   r   r   r   r      s   r   Ú__main__)Znumbar   Znumba.tests.gdb_supportr   Znumba.tests.supportr   r   Zunittestr   r"   Úmainr   r   r   r   Ú<module>   s   #