Sindbad~EG File Manager
a
��g&� � @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl
mZmZ dd� Z
e
� \ZZZedk r�e�deeef ��e�� s�e�d��d e�� v r�ejd
kr�e�d��e�d�p�d
e�d�p�dv r�e�d��e j�e j�ej�d�ZdZdd� Ze� Zdd� Zed�\ZZe�s2e�d��edej�\ZZ de v �rbdZ!e�e!e �"� ��dd� Z#e#� Z$dZ%e�&e j'd�G d d!� d!ej(��Z)G d"d#� d#e)�Z*e�&e� d$�G d%d&� d&e)��Z+G d'd(� d(e)�Z,G d)d*� d*e)�Z-G d+d,� d,e)�Z.G d-d.� d.e)�Z/d/d0� Z0e1d1k�re�2� dS )2� N)�support)�findfile�python_is_optimizedc C s� z�g d�} t j| t jt jdd�}|� |�� \}}W d � n1 sF0 Y |jr~tdd�| ��d|j� d|�d|����W n ty� t� d ��Y n0 t
�d
|�}|d u r�td| ��|t|�
d��t|�
d
��fS )N)�gdb�-nxz --versionT)�stdout�stderr�universal_newlineszCommand � z failed with exit code z : stdout=z stderr=zCouldn't find gdb on the pathz ^(?:GNU|HP) gdb.*?\b(\d+)\.(\d+)zunable to parse GDB version: %r� � )�
subprocess�Popen�PIPE�communicate�
returncode� Exception�join�OSError�unittest�SkipTest�re�search�int�group)�cmd�proc�versionr �match� r �)/usr/local/lib/python3.9/test/test_gdb.py�get_gdb_version s. �*���r! � zFgdb versions before 7.0 didn't support python embedding. Saw %s.%s:
%sz3test_gdb only works on source builds at the moment.ZClang�darwinzDtest_gdb doesn't work correctly when python is built with LLVM clangZPGO_PROF_USE_FLAGZxxxZPY_CORE_CFLAGS� z&test_gdb is not reliable on PGO buildsz
python-gdb.pyZ123c C s4 t �d�} | sdS | �� }d|v o2tdd� |D ��S )NZCFLAGSFz-mcetc s s$ | ]}|� d �o|�d� V qdS )z-fcf-protection)z=nonez=returnN)�
startswith�endswith)�.0�flagr r r � <genexpr>Q s �
z!cet_protection.<locals>.<genexpr>)� sysconfig�get_config_var�split�any)Zcflags�flagsr r r �cet_protectionI s
��r/ c O s� |rt j�� }|�|� nd }d}ttfdkr>|ddt f7 }tj|| tj tj tj |d�}|� |�
� \}}W d � n1 s�0 Y |�dd�|�dd�fS )N)r z--batchr �r"