Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.11/test/test_gdb/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.11/test/test_gdb/__pycache__/util.cpython-311.pyc

�

SԚg�)��B�ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ej
d��pdZej�
ej�ej��d��Zej�
ej�e��d��ZdZdZd�Zd	Zdd
d�d�Zd
�Ze��\ZZedkr%ejded�ded�de�����d�Ze��d�Ze��Zd�ZGd�dej��Z dS)�N)�support�gdbz
python-gdb.pyz
gdb_sample.py�
builtin_id�123c�R�d�tj���D��S)Nc�D�i|]\}}|�d���||��S)�PYTHON)�
startswith)�.0�name�values   �//usr/local/lib/python3.11/test/test_gdb/util.py�
<dictcomp>z%clean_environment.<locals>.<dictcomp>s>��.�.�.�K�D�%��?�?�8�,�,�.�D�%�.�.�.�)�os�environ�items�rr�clean_environmentrs0��.�.�2�:�+;�+;�+=�+=�.�.�.�.r)rrT)�exitcode�checkc��t��}|r|�|��tddg}tdkr|�ddt
��f��|�|��t
j|tjtjtjdd|���}|j	}|j
}|rA|j|kr6tj
|��}	t|	�d	|j�d
|�d|�d|��	���||fS)
z�Runs gdb in --batch mode with the additional arguments given by *args.

    Returns its (stdout, stderr) decoded from utf-8 using the replace handler.
    z--batchz-nx���z--init-eval-commandzadd-auto-load-safe-path �utf8�backslashreplace)�stdin�stdout�stderr�encoding�errors�envz failed with exit code z, expected exit code z	:
stdout=z
stderr=)r�update�GDB_PROGRAM�GDB_VERSION�extend�CHECKOUT_HOOK_PATH�
subprocess�run�PIPErr �
returncode�shlex�join�	Exception)
rr�args�env_varsr#�cmd�procrr �cmd_texts
          r�run_gdbr5!sN��
�
�
�C����
�
�8�������
�C��f����
�
�)�C�/A�C�C�E�	F�	F�	F��J�J�t�����>���o������ 2�����D��[�F�
�[�F��.���H�,�,��:�c�?�?���8�-�-�D�O�-�-�.6�-�-�"(�-�-�#)�-�-�.�.�	.�

�F��rc�j�	td��\}}n)#t$r}tjd|�����d}~wwxYwt	jd|��}|�t
d|z���|}t|�d����}t|�d����}||f}||fS)Nz	--versionz'Couldn't find gdb program on the path: z ^(?:GNU|HP) gdb.*?\b(\d+)\.(\d+)zunable to parse gdb version: %r��)	r5�OSError�unittest�SkipTest�re�searchr/�int�group)rr �exc�match�version_text�major�minor�versions        r�get_gdb_versionrFKs���Q� ��-�-�������Q�Q�Q��� O�#� O� O�P�P�P�����Q����
�I�9�6�B�B�E��}��9�F�B�C�C�C��L�����A�����E�����A�����E��e�n�G��'�"�"s��
;�6�;)rrzIgdb versions before 7.0 didn't support python embedding. Saw gdb version �.r7z:
c���tddtjd���\}}d|vrtjd|�����|stjd|�����d|vrtjd	���dS)
Nz9--eval-command=python import sys; print(sys.version_info)�--argsF)rzauto-loading has been declinedz;gdb security settings prevent use of custom hooks; stderr: z4gdb not built with embedded python support; stderr: zmajor=2zgdb built with Python 2)r5�sys�
executabler:r;)rr s  r�check_usable_gdbrLjs����C��#�.�����N�F�F�
(�6�1�1���
"��
"�
"�#�#�	#��#���
"��
"�
"�#�#�	#��F����� 9�:�:�:��rc��tjd��}|sdS|���}d|votd�|D����S)N�CFLAGSFz-mcetc3�lK�|]/}|�d��o|�d��V��0dS)z-fcf-protection)z=nonez=returnN)r
�endswith)r�flags  r�	<genexpr>z!cet_protection.<locals>.<genexpr>�s\����'�'���_�_�%6�7�7�A�!�]�]�+?�@�@�@�'�'�'�'�'�'r)�	sysconfig�get_config_var�split�any)�cflags�flagss  r�cet_protectionrY�si��
�
%�h�
/�
/�F����u��L�L�N�N�E���
�
'��'�'� %�'�'�'�'�'�(rc� �tjr�tdtd�dtd�d���t���D]}td|z���tdt����t��dSdS)Nzgdb version rrGr7�:z    z
    path: )r�verbose�printr&�GDB_VERSION_TEXT�
splitlinesr%)�lines r�setup_modulera�s������
�?�[��^�?�?�k�!�n�?�?�?�@�@�@�$�/�/�1�1�	"�	"�D��'�D�.�!�!�!�!�
�(�;�(�(�)�)�)�
�������rc�2�eZdZdZddedddfd�Zd�Zd�ZdS)�
DebuggerTestsz(Test that the debugger can debug Python.NFc�*�dd|zddg}tdkr|dgz
}|rtr|dgz
}||z
}n|dgz
}d	�|D��}|d
tjgz
}|�tj����|s|dgz
}|r|d|gz
}n|r||gz
}t|d
ti�\}	}
|s2|
�	��D]}t|tj����d|
vrtj
d���dD]}||	vrtj
|�d�����|	S)z�
        Run 'python -c SOURCE' under gdb with a breakpoint.

        Support injecting commands after the breakpoint is reached

        Returns the stdout from gdb

        cmds_after_breakpoint: if provided, a list of strings: gdb commands
        zset breakpoint pending yeszbreak %szset print address offr*rzset print entry-values no�next�	backtracec��g|]}d|z��S)z--eval-command=%sr)rr2s  r�
<listcomp>z1DebuggerTests.get_stack_trace.<locals>.<listcomp>�s��>�>�>�c�#�c�)�>�>�>rrIz-Sz-c�PYTHONHASHSEED)�filezPC not savedzKgdb cannot walk the frame object because the Program Counter is not present)z!(frame information optimized out)z*Unable to read information on python framez)(unable to read python frame information)z,Backtrace stopped: frame did not save the PCz ?? ()z found in gdb output)r&�CET_PROTECTIONrJrKr'r)�_args_from_interpreter_flagsr5rir_r]r r:r;)
�self�source�script�
breakpoint�cmds_after_breakpoint�import_site�
ignore_stderr�commandsr0�out�errr`�patterns
             r�get_stack_tracezDebuggerTests.get_stack_trace�s���:
)���#�
$��
��.�&� � ��4�5�5�H� �		&��
%�
�V�H�$���-�-�H�H���
�%�H�
?�>�X�>�>�>������!�	!�����J�;�=�=�>�>�>��	��T�F�N�D��	��T�6�N�"�D�D�
�	��V�H��D��D�@��@�@���S��	-����(�(�
-�
-���d���,�,�,�,�,��S� � ��#�%3�4�4�
4�
�	L�	L�G�$�#�~�~��'�7�(J�(J�(J�K�K�K���
rc�d�|�|�|��|�d|�����dS)z9Ensure that the given "actual" string ends with "exp_end"z did not end with ��msgN)�
assertTruerP)rm�actual�exp_ends   r�assertEndsWithzDebuggerTests.assertEndsWithsH���������0�0�8>�����H�	�	J�	J�	J�	J�	Jrc��tj||tj��}|s|�|�d|�����dSdS)Nz did not match rz)r<rA�DOTALL�fail)rmr}rw�ms    r�assertMultilineMatchesz$DebuggerTests.assertMultilineMatches sQ���H�W�f�b�i�0�0���	E��I�I�6�6�6�7�7�C�I�D�D�D�D�D�	E�	Er)�__name__�
__module__�__qualname__�__doc__�
BREAKPOINT_FNrxrr�rrrrcrc�sj������2�2�%)�$�#0�.2�$)�&+�	z�z�z�z�xJ�J�J�
E�E�E�E�Errc)!rr<r-�shutilr)rJrSr:�testr�whichr%�pathr.�dirnamerKr(�__file__�
SAMPLE_SCRIPTr�rirr&r5rFr^r;rLrYrkra�TestCasercrrr�<module>r�s ��	�	�	�	�	�	�	�	�����
�
�
�
�����
�
�
�
����������������f�l�5�!�!�*�U���W�\�\�"�'�/�/�#�.�"A�"A�"1�3�3������R�W�_�_�X�6�6��H�H�
��
���.�.�.����T�'�'�'�'�'�T#�#�#�.!0�� 1� 1���+�����
�(�
�	�&�q�>�	�	�,7��N�	�	��	�	����;�;�;�,�����
(�
(�
(� ��!�!�����HE�HE�HE�HE�HE�H�%�HE�HE�HE�HE�HEr

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists