Your IP : 216.73.216.213


Current Path : /opt/alt/python311/lib64/python3.11/idlelib/idle_test/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/idlelib/idle_test/__pycache__/test_debugger.cpython-311.pyc

�

�0�i�%���dZddlmZddlmZddlmZddlmZddl	m
Z
ddlZddlmZdd	l
mZmZ	ed
��ZGd�d��ZGd
�dej��ZGd�dej��ZGd�dej��ZGd�dej��ZGd�dej��ZGd�dej��Zedkrejd���dSdS)zeTest debugger, coverage 66%

Try to make tests pass with draft bdbx, which may replace bdb in 3.13+.
�)�debugger)�
namedtuple)�dedent)�Tk)�requiresN)�mock)�Mock�patchz9
    i = 1
    i += 2
    if i == 3:
       print(i)
    c��eZdZdZd�ZdS)�	MockFramezMinimal mock frame.c�"�||_||_dS�N)�f_code�f_lineno)�self�code�linenos   �F/opt/alt/python311/lib64/python3.11/idlelib/idle_test/test_debugger.py�__init__zMockFrame.__init__s�������
�
�
�N)�__name__�
__module__�__qualname__�__doc__r�rrrrs)������������rrc�6�eZdZed���Zd�Zd�Zd�ZdS)�IdbTestc��t��|_tj|j��|_ttdd���}t|d��}d|_t|d��}||_||_	d|_
dS)Nzidlelib/file.py�exec��mode��zfile.py:2: <module>())r	�guir�Idb�idb�compile�	TEST_CODEr�f_back�frame�msg)�cls�code_obj�frame1�frame2s    r�
setUpClasszIdbTest.setUpClass#su���&�&����,�s�w�'�'����9�&7�f�E�E�E���8�Q�'�'����
��8�Q�'�'����
���	�)����rc�P�|�|jj|j��dSr)�assertIsr&r$�rs r�	test_initzIdbTest.test_init1s"���
�
�d�h�l�D�H�-�-�-�-�-rc���t��|j_|j�|j��|jj�|j|j��dSr)r	r$�interactionr&�	user_liner*�assert_called_once_withr+r3s r�test_user_linezIdbTest.test_user_line5sM��#�v�v��������4�:�&�&�&����4�4�T�X�t�z�J�J�J�J�Jrc��tt��t��df}t��|j_|j�|j|��|jj�|j	|j|��dSr)
�type�
ValueErrorr	r$r6r&�user_exceptionr*r8r+)r�exc_infos  r�test_user_exceptionzIdbTest.test_user_exception;st����$�$�j�l�l�D�9��#�v�v���������
�H�5�5�5����4�4���$�*�h�	0�	0�	0�	0�	0rN)rrr�classmethodr0r4r9r?rrrrr!s]�������*�*��[�*�.�.�.�K�K�K�0�0�0�0�0rrc��eZdZd�ZdS)�FunctionTestc��ttdd���}t|d��}||_|�tj|����|�tj|��d��ttdd���}t|d��}d|_|�	tj|����|�tj|��d��||_|�	tj|����||_|�tj|����dS)	Nzrpc.pyrr r#zrpc.py:2: <module>()zidlelib/debugger.pyr"zdebugger.py:1: <module>())
r'r(rr)�
assertTruer�_in_rpc_code�assertEqual�_frame2message�assertFalse)r�rpc_obj�	rpc_framer-�
code_frames     r�test_functionszFunctionTest.test_functionsGs;���)�H�6�:�:�:���g�q�)�)�	�$�	������-�i�8�8�9�9�9�����0��;�;�/�	1�	1�	1��9�&;�&�I�I�I���x��+�+�
� �
������.�z�:�:�;�;�;�����0��<�<�4�	6�	6�	6�'�
������.�z�:�:�;�;�;�%�
������-�j�9�9�:�:�:�:�:rN)rrrrLrrrrBrBDs#������;�;�;�;�;rrBc�^�eZdZdZed���Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�ZdS)
�DebuggerTestz0Tests for Debugger that do not need a real root.c�h�t��|_t��|j_t��|_t	jtjd��5t
j|j|j��|_ddd��n#1swxYwYt��|j_dS)N�make_gui)r	�pyshell�rootr&r
�objectr�Debugger�r,s rr0zDebuggerTest.setUpClass_s����f�f����6�6�����&�&���
�\�(�+�Z�
8�
8�	C�	C�#�,�S�[�#�'�B�B�C�L�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C� �F�F�����s�%B�B�Bc�t�|j���|jj���dSr)r�contr&�set_continue�assert_called_oncer3s r�	test_contzDebuggerTest.test_conths3���
���������0�0�2�2�2�2�2rc�t�|j���|jj���dSr)r�stepr&�set_steprYr3s r�	test_stepzDebuggerTest.test_stepl�3���
���������,�,�.�.�.�.�.rc�t�|j���|jj���dSr)r�quitr&�set_quitrYr3s r�	test_quitzDebuggerTest.test_quitpr_rc���tj|jd��5}|j���|jj�|��ddd��dS#1swxYwYdS�Nr*)r
rSr�nextr&�set_nextr8�rr*s  r�	test_nextzDebuggerTest.test_nextts���
�\�$�-��
1�
1�	=�U��M��� � � ��H��5�5�e�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=��9A!�!A%�(A%c���tj|jd��5}|j���|jj�|��ddd��dS#1swxYwYdSre)r
rSr�retr&�
set_returnr8rhs  r�test_retzDebuggerTest.test_retys���
�\�$�-��
1�
1�	?�U��M�������H��7�7��>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?rjc�|�|j�dd��|jj�dd��dS)N�test.py�)r�clear_breakpointr&�clear_breakr8r3s r�test_clear_breakpointz"DebuggerTest.test_clear_breakpoint~s;���
�&�&�y�!�4�4�4����4�4�Y��B�B�B�B�Brc�x�|j�d��|jj�d��dS)Nrp)r�clear_file_breaksr&�clear_all_file_breaksr8r3s r�test_clear_file_breaksz#DebuggerTest.test_clear_file_breaks�s7���
�'�'�	�2�2�2���&�>�>�y�I�I�I�I�Irc���tdd���G�fd�dt��}t��|j_|dddg��|dgd���f|jj_|j�d	d
��|jj	�
d	d
��|j���|jj	�tjd	d
��tjdd��tjdd��tjdd��tjdd��tjdd
��g��dS)N�FileIO�filenamec���eZdZ�fd�ZdS)�>DebuggerTest.test_set_load_breakpoints.<locals>.MockEditWindowc�6���|��|_||_dSr)�io�breakpoints)r�fnr�rzs   �rrzGDebuggerTest.test_set_load_breakpoints.<locals>.MockEditWindow.__init__�s ��� �&��*�*���#.�� � � rN)rrrr)rzs�r�MockEditWindowr}�s.�������
/�
/�
/�
/�
/�
/�
/rr�ztest1.pyrqztest2.py)�
�,�-ztest0.pyr"r�r�r�)rrSr	rQ�flist�inversedictr�set_breakpointr&�	set_breakr8�load_breakpoints�assert_has_callsr�call)rr�rzs  @r�test_set_load_breakpointsz&DebuggerTest.test_set_load_breakpoints�sZ����H�j�1�1��	/�	/�	/�	/�	/�	/�	/�V�	/�	/�	/�
"�V�V�����N�:��1�v�.�.��N�:�|�|�|�4�4�*
����&�	
�
�$�$�Z��3�3�3����2�2�:�q�A�A�A��
�&�&�(�(�(����+�+�
�Y�z�1�
%�
%�
�Y�z�1�
%�
%�
�Y�z�1�
%�
%�
�Y�z�2�
&�
&�
�Y�z�2�
&�
&�
�Y�z�2�
&�
&�
(�	)�	)�	)�	)�	)rc�h�ttdd��}t|d��}||j_t��|j_tdd���5|j���ddd��n#1swxYwY|jjj	�
dd��dS)Nztest_sync.pyrr"zidlelib.debugger.os.path.existsT��return_value)r'r(rrr*r	r�r
�sync_source_line�gotofileliner8)r�	test_code�
test_frames   r�test_sync_source_linez"DebuggerTest.test_sync_source_line�s����I�~�v�>�>�	��y�!�,�,�
�(��
��"�f�f��
��
�4�4�
H�
H�
H�	-�	-��M�*�*�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-��
��(�@�@��QR�S�S�S�S�Ss�B�B�	BN)rrrrr@r0rZr^rcrirnrtrxr�r�rrrrNrN\s�������6�6��#�#��[�#�3�3�3�/�/�/�/�/�/�=�=�=�
?�?�?�
C�C�C�J�J�J�)�)�)�2	T�	T�	T�	T�	TrrNc�\�eZdZdZed���Zed���Zd�Zd�Zd�Z	d�Z
d�Zd	S)
�DebuggerGuiTestzbTests for debugger.Debugger that need tk root.

    close needs debugger.top set in make_gui.
    c���td��t��x|_}|���t	��|_||j_t	��|_dS�Nr$)rrrR�withdrawr	rQr&)r,rRs  rr0zDebuggerGuiTest.setUpClass�sN��������$�$����4��
�
�����f�f��������&�&����rc�<�|j���|`dSr�rR�destroyrUs r�
tearDownClasszDebuggerGuiTest.tearDownClass������������H�H�Hrc�p�tj|j|j��|_|j|j_dSr)rrTrQr&rRr3s r�setUpzDebuggerGuiTest.setUp�s,�� �)�$�,���A�A��
�!�Y��
���rc��|j�dd��|jj�dd��|�|jjd��dS)Nr"�twor)r�runr&r8rF�interactingr3s r�test_run_debuggerz!DebuggerGuiTest.test_run_debugger�sU���
���!�U�#�#�#����,�,�Q��6�6�6������2�A�6�6�6�6�6rc�t�|j���|jj���dSr)r�closerQ�close_debuggerrYr3s r�
test_closezDebuggerGuiTest.test_close�s3���
��������#�6�6�8�8�8�8�8rc��|j���|�|jjj|j��dSr)r�
show_stackrF�stackviewerr$r3s r�test_show_stackzDebuggerGuiTest.test_show_stack�s<���
� � �"�"�"������2�6��
�F�F�F�F�Frc�B�tdd��}||j_d|j_gdf|jj_|j���|�|jjj	|j��|jj�
|d��dS)Nr)rrr*r�r&�	get_stackr�r�rFr$r8)rr�s  r�test_show_stack_with_framez*DebuggerGuiTest.test_show_stack_with_frame�s����t�T�*�*�
�(��
��%)��
�!�+-�q�'����'��
� � �"�"�"�	
�����2�6��
�F�F�F����2�2�:�t�D�D�D�D�DrN)rrrrr@r0r�r�r�r�r�r�rrrr�r��s���������
����[������[��'�'�'�7�7�7�
9�9�9�
G�G�G�E�E�E�E�Err�c�R�eZdZed���Zed���Zd�Zd�Zd�Zd�Z	dS)�StackViewerTestc�|�td��t��|_|j���dSr��rrrRr�rUs rr0zStackViewerTest.setUpClass��2��������4�4�����������rc�<�|j���|`dSrr�rUs rr�zStackViewerTest.tearDownClass�r�rc� �ttdd��|_t|jd��dft|jd��dfg|_tj|jdd��|_|j�	|j��dS)N�test_stackviewer.pyrr"r#)
r'r(rr�stackr�StackViewerrR�sv�
load_stackr3s rr�zStackViewerTest.setUp�s���I�'<�f�E�E��	�
�t�y�!�
$�
$�a�(�
�t�y�!�
$�
$�a�(�
��
�
�&�t�y�$��=�=�������4�:�&�&�&�&�&rc��d}d}|j}tj|||��}|�t	|d����dS)Nr�)rRrr�rD�hasattr)rr$r��
master_windowr�s     rr4zStackViewerTest.test_init�sI�������	�
�
�
!�-���
<�
<�������G�,�,�-�-�-�-�-rc�
�|�|jj|j��|�d|j�d��v��|�|j�d��d��dS)Nz?.<module>(), line 1:rr"z?.<module>(), line 2: )rFr�r�rD�getr3s r�test_load_stackzStackViewerTest.test_load_stacksm��	
�������
�3�3�3����/�4�7�;�;�q�>�>�A�B�B�B��������Q���)A�B�B�B�B�Brc�0�t��|j_tdd���5}|j�d��|�d��|jjj�d��ddd��dS#1swxYwYdS)Nzidlelib.debugger.os.path.isfileTr�r"r�)r	r�r�r
�show_sourcer8�open)r�isfiles  r�test_show_sourcez StackViewerTest.test_show_sources��������
�
�4�4�
H�
H�
H�	N�F��G����"�"�"��*�*�+@�A�A�A��G�M��6�6�7L�M�M�M�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N����	N�	N�	N�	N�	N�	Ns�AB�B�BN)
rrrr@r0r�r�r4r�r�rrrr�r��s�����������[��
����[��'�'�'�.�.�.�C�C�C�N�N�N�N�Nrr�c�@�eZdZed���Zed���Zd�ZdS)�
NameSpaceTestc�|�td��t��|_|j���dSr�r�rUs rr0zNameSpaceTest.setUpClassr�rc�<�|j���|`dSrr�rUs rr�zNameSpaceTest.tearDownClassr�rc�:�tj|jd��dS)N�Test)r�NamespaceViewerrRr3s rr4zNameSpaceTest.test_init$s��� ���F�3�3�3�3�3rN)rrrr@r0r�r4rrrr�r�sW����������[��
����[��4�4�4�4�4rr��__main__r#)�	verbosity)r�idlelibr�collectionsr�textwrapr�tkinterr�test.supportr�unittestr�
unittest.mockr	r
r(r�TestCaserrBrNr�r�r�r�mainrrr�<module>r�sA����
������"�"�"�"�"�"�������������!�!�!�!�!�!�����������%�%�%�%�%�%�%�%�/��F��
	�
	�	��������� 0� 0� 0� 0� 0�h�� 0� 0� 0�F;�;�;�;�;�8�$�;�;�;�0LT�LT�LT�LT�LT�8�$�LT�LT�LT�^8E�8E�8E�8E�8E�h�'�8E�8E�8E�v.N�.N�.N�.N�.N�h�'�.N�.N�.N�b4�4�4�4�4�H�%�4�4�4�"�z����H�M�A��������r