o
    8ήc                     @   s   d dl mZ d dlmZ d dlmZmZ d dlZdd Zdd e	d	D \Z
ZZed
ddd ZeG dd deZedkrEe  dS dS )    njit)GdbMIDriver)TestCaseneeds_subprocessNc                    s   t dd fdd}|S )NTdebugc                    s   d  }| |fS )N    )xznr
   S/tmp/pip-target-vg8gfxp4/lib/python/numba/tests/gdb/test_break_on_symbol_version.pyfoo	   s   zfoo_factory.<locals>.foor   )r   r   r
   r   r   foo_factory   s   r   c                 C   s   g | ]}t |qS r
   )r   ).0r   r
   r
   r   
<listcomp>   s    r      Tr   c                  C   s"   t d} td}td}| ||fS )N
         )foo1foo2foo3)abcr
   r
   r   call_foo   s   
r   c                   @   s   e Zd Zdd ZdS )Testc                 C   s   t   tt}d}|j|d |  |jdd |d |d d}|| |jdd |	  |jdd |d	 |d d
}|| |	  |jdd |d |d d}|| |
  d S )Nz0__main__::foo_factory::_3clocals_3e::foo[abi:v2])symbol   )numberz^.*foo\[abi:v2\].*line="11"   zH[frame={level="0",args=[{name="x",type="Literal[int](10)",value="10"}]}]r   z^.*foo\[abi:v3\].*line="11"zH[frame={level="0",args=[{name="x",type="Literal[int](20)",value="20"}]}]z^.*foo\[abi:v4\].*line="11"zH[frame={level="0",args=[{name="x",type="Literal[int](30)",value="30"}]}])r   r   __file__set_breakpointruncheck_hit_breakpointassert_regex_outputstack_list_argumentsassert_outputcontquit)selfdrivervsymexpectr
   r
   r   test   s0   








z	Test.testN)__name__
__module____qualname__r1   r
   r
   r
   r   r      s    r   __main__)numbar   numba.tests.gdb_supportr   numba.tests.supportr   r   unittestr   ranger   r   r   r   r   r2   mainr
   r
   r
   r   <module>   s   	
#