U
    ,dp	                     @   s|   d dl mZ d dlZd dlmZmZ d dlmZm	Z	 d dl
mZ d dlZd dlZee	G dd deZedkrxe  dS )	    )njitN)GdbMIDriverneeds_gdb_py3)TestCaseneeds_subprocess)collect_gdbinfoc                   @   s   e Zd Zdd ZdS )Testc                    sJ  t jdt jfdt jfgdd tdd fdd}|  t j}ttd|gd	d
}|j	dd |
  |d |d |jjd}| d }d}t|| d d}dd dd |D D }t }	d|	d< d|	d< d|	d< d|	d< d|	d< d |	d!< d"|	d#< d$|	d%< d&|	d'< |	 D ]\}
}| ||
 | q"|  d S )(NxyT)Zalign)debugc            	   	      s   d} d}d|df}t d}t ddgdd	gg}d
d  }d}t ddd d dd d df }t jd d}| ||||||||f	S )NgX9v?)         a   g      @r   y              @r   y              @zSome stringz           L-Padded stringy      &@      6@   )r      r   )dtype)npZarangearraylstripZreshapezeros)	r   bcdefghiZrdt_a E/tmp/pip-unpacked-wheel-eu7e0c37/numba/tests/gdb/test_pretty_print.pyfoo   s    

$zTest.test.<locals>.fooz-xF)Z	init_cmdsr      )liner   zUTF-8r   z^\^done,variables=\[\{(.*)\}\]$z},{c                 S   s   i | ]\}}||qS r!   r!   ).0kvr!   r!   r"   
<dictcomp>1   s      zTest.test.<locals>.<dictcomp>c                 S   s   g | ]}t d | qS )zname="(.*)",value="(.*)")rematchgroups)r&   r	   r!   r!   r"   
<listcomp>1   s   zTest.test.<locals>.<listcomp>z1\.234r   z\(1, 2, 3\)r   z\(0x0, \(1, 2, 3\), 4\)r   z\\n\[0. 1. 2. 3. 4.\]r   z1\\n\[\[1.\+0.j 0.\+3.j\]\\n \[2.\+0.j 0.\+4.j\]\]r   z'Some stringL-Padded string'r   z11\+22jr   z\\n\[\[ 0  3\]\\n \[12 15\]\]r   z\\n\[\(0, 0.\) \(0, 0.\)\]r   )r   r   Zint16Zfloat64r   r   Zextension_locr   __file__Zset_breakpointrunZcheck_hit_breakpointZstack_list_variablesZ	_capturedafterdecode
splitlinesr*   r+   r,   splitdictitemsassertRegexquit)selfr#   	extensionZdriveroutputZdone_strpatZ	lcls_strsZlclsexpectedr'   r(   r!   r    r"   test   s<    


z	Test.testN)__name__
__module____qualname__r=   r!   r!   r!   r"   r      s   r   __main__)Znumbar   Znumpyr   Znumba.tests.gdb_supportr   r   Znumba.tests.supportr   r   Znumba.misc.numba_gdbinfor   Zunittestr*   r   r>   mainr!   r!   r!   r"   <module>   s   7