Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_pdb.cpython-38.opt-2.pyc
U

>��gp��@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZddl
mZddlmZddlmZddlmZdd	�ZGd
d�de�Zdd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Z e�!d�Z"e#de"j$�d d!�Z%d"d#�Z&d$d%�Z'd&d'�Z(d(d)�Z)d*d+�Z*d,d-�Z+d.d/�Z,d0d1�Z-d2d3�Z.d4d5�Z/d6d7�Z0d8d9�Z1d:d;�Z2d<d=�Z3d>d?�Z4Gd@dA�dAej5�Z6dBdC�Z7e8dDk�r�e�9�dS)E�N)�	ExitStack)�StringIO)�support)�
_FakeInput)�patch)�
BreakpointcCsdt_it_dgt_dS)N�)r�nextZbplistZ
bpbynumber�r
r
�,/opt/cppython/lib/python3.8/test/test_pdb.py�reset_Breakpointsrc@s$eZdZdd�Zdd�Zdd�ZdS)�PdbTestInputcCs
||_dS�N)�input)�selfrr
r
r�__init__szPdbTestInput.__init__cCs0tj|_t|j�t_ttd�r&t��nd|_dS)N�gettrace)�sys�stdin�
real_stdinrr�hasattrr�
orig_trace�rr
r
r�	__enter__"szPdbTestInput.__enter__cGs|jt_|jrt�|j�dSr)rrrr�settrace)r�excr
r
r�__exit__'szPdbTestInput.__exit__N)�__name__�
__module__�__qualname__rrrr
r
r
rr
sr
cCsdSrr
r
r
r
r�test_pdb_displayhook-sr cCsdSrr
r
r
r
r�test_pdb_basic_commandsJsr!cCsdSrr
r
r
r
r�test_pdb_breakpoint_commands�sr"cCsdSrr
r
r
r
r�
do_nothingKsr#cCstd�dS)N�*)�printr
r
r
r�do_somethingNsr&cCsdSrr
r
r
r
r�test_list_commandsQsr'cCsdSrr
r
r
r
r�test_pdb_whatis_command�sr(cCsdSrr
r
r
r
r�test_post_mortem�sr)cCsdSrr
r
r
r
r�test_pdb_skip_modulessr*Zmodule_to_skipz6def foo_pony(callback): x = 1; callback(); return NonecCsdSrr
r
r
r
r�#test_pdb_skip_modules_with_callback4sr+cCsdSrr
r
r
r
r� test_pdb_continue_in_bottomframe_sr,cCsttjddd�|�|�dS)NTF)ZnosigintZreadrc)�getattr�pdb�Pdb)�method�argr
r
r�
pdb_invoke�sr2cCsdSrr
r
r
r
r�$test_pdb_run_with_incorrect_argument�sr3cCsdSrr
r
r
r
r�test_pdb_run_with_code_object�sr4cCsdSrr
r
r
r
r�&test_next_until_return_at_return_event�sr5cCsdSrr
r
r
r
r�#test_pdb_next_command_for_generator�sr6cCsdSrr
r
r
r
r�#test_pdb_next_command_for_coroutine/sr7cCsdSrr
r
r
r
r�"test_pdb_next_command_for_asyncgengsr8cCsdSrr
r
r
r
r�%test_pdb_return_command_for_generator�sr9cCsdSrr
r
r
r
r�%test_pdb_return_command_for_coroutine�sr:cCsdSrr
r
r
r
r�$test_pdb_until_command_for_generatorsr;cCsdSrr
r
r
r
r�$test_pdb_until_command_for_coroutine1sr<cCsdSrr
r
r
r
r�+test_pdb_next_command_in_generator_for_loop`sr=cCsdSrr
r
r
r
r�!test_pdb_next_command_subiterator�sr>cCsdSrr
r
r
r
r�test_pdb_issue_20766�sr?c@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zej d9d:��Z!d;d<�Z"d=S)>�PdbTestCasecCst�tj�dSr)r�unlink�TESTFNrr
r
r�tearDown�szPdbTestCase.tearDownc	Csz|�tjd�tjddg|}tj|tjtjtjd��}|�	t
�|��\}}W5QRX|obt�
|�}|opt�
|�}||fS)N�__pycache__�-mr.��stdoutr�stderr)�
addCleanupr�rmtreer�
executable�
subprocess�Popen�PIPE�STDOUT�communicate�str�encode�bytes�decode)rZpdb_args�commands�cmd�procrGrHr
r
r�_run_pdb�s�zPdbTestCase._run_pdbc	CsFd}t|d��}|�t�|��W5QRX|�tj|�|�|g|�S)N�main.py�w)�open�write�textwrap�dedentrIrrArX)r�scriptrU�filename�fr
r
r�run_pdb_script�s
zPdbTestCase.run_pdb_scriptc	Cs�d|_t�|j�|jd}|jd}t�|j�t|d��}W5QRXt|d��}|�t�|��W5QRX|�	tj|j�|�
d|jg|�S)N�t_main�/__main__.py�/__init__.pyrZrE)�module_namerrJ�os�mkdirr[r\r]r^rIrX)rr_rU�	main_file�	init_filerar
r
r�run_pdb_module�s


zPdbTestCase.run_pdb_modulec	CsXttjd��}|�|�W5QRX|s*dn|dtj|df}|�|t�|tj��dS)N�wbrr)r[rrBr\�assertEqualr.Z
find_function)rZfile_content�	func_name�expectedrar
r
r�_assert_find_function�s��z!PdbTestCase._assert_find_functioncCs|�ddd�dS)N�Zfoo)rprr
r
r�test_find_function_empty_filesz)PdbTestCase.test_find_function_empty_filecCs|�d��dd�dS)Nu@def foo():
    pass

def bœr():
    pass

def quux():
    pass
�bœr)rs��rprRrr
r
r�test_find_function_founds

�z$PdbTestCase.test_find_function_foundcCs|�d�d�dd�dS)NuV# coding: iso-8859-15
def foo():
    pass

def bœr():
    pass

def quux():
    pass
ziso-8859-15rs)rs�rurr
r
r�-test_find_function_found_with_encoding_cookies
��z9PdbTestCase.test_find_function_found_with_encoding_cookiecCs|�tjd��dd�dS)Nudef bœr():
    pass
rs)rsr)rp�codecs�BOM_UTF8rRrr
r
r�!test_find_function_found_with_bom's
�z-PdbTestCase.test_find_function_found_with_bomc	Csxttjd��}|�d�W5QRXtjddtjg}tj|tjtjtj	d�}|�
|jj�|�
d�\}}|�d|d�dS)	Nrlsprint("testing my pdb")
rEr.rFsquit
sSyntaxErrorz0Got a syntax error running test script under PDB)r[rrBr\rrKrLrMrNrOrIrG�closerP�assertNotIn�rrarVrWrGrHr
r
r�test_issue79641s��zPdbTestCase.test_issue7964c	Csrd}d}d}tdd��}|�t�|��W5QRX|�tjd�|�||�\}}|�t	dd�|�
�D��d�dS)	Nz�
            from bar import bar

            def foo():
                bar()

            def nope():
                pass

            def foobar():
                foo()
                nope()

            foobar()
        z�
            from bar import bar
            break bar
            continue
            step
            step
            quit
        z5
            def bar():
                pass
        zbar.pyrZcss|]}d|kVqdS)zmain.py(5)foo()->NoneNr
��.0�lr
r
r�	<genexpr>asz.PdbTestCase.test_issue13183.<locals>.<genexpr>z+Fail to step into the caller after a return)r[r\r]r^rIrrArb�
assertTrue�any�
splitlines)rr_rUZbarrarGrHr
r
r�test_issue13183@s�zPdbTestCase.test_issue13183c	Cs�ttjd��}|�t�d��d��W5QRXtjdtjg}t	j
|t	jt	jt	jd�}|�
|jj�|�d�\}}|�d|��d�dS)	Nrla
                import threading
                import pdb

                def start_pdb():
                    pdb.Pdb(readrc=False).set_trace()
                    x = 1
                    y = 1

                t = threading.Thread(target=start_pdb)
                t.start()�ascii�-urFscont
�Error�*Got an error running test script under PDB�r[rrBr\r]r^rRrrKrLrMrNrOrIrGr|rPr}rTr~r
r
r�test_issue13120ds
���zPdbTestCase.test_issue13120c	Cs�ttjd��}|�t�d��d��W5QRXtjdtjg}t	j
|t	jt	jt	jd�}|�
|jj�|�d�\}}|�d|��d�dS)	Nrla�
                import threading
                import pdb

                evt = threading.Event()

                def start_pdb():
                    evt.wait()
                    pdb.Pdb(readrc=False).set_trace()

                t = threading.Thread(target=start_pdb)
                t.start()
                pdb.Pdb(readrc=False).set_trace()
                evt.set()
                t.join()r�r�rFs
cont
cont
r�r�r�r~r
r
r�test_issue36250s���zPdbTestCase.test_issue36250cCs6d}d}d}|�||�\}}|�||d�||��dS)Nzdef f: pass
�zSyntaxError:zE

Expected:
{}
Got:
{}
Fail to handle a syntax error in the debuggee.)rb�assertIn�format)rr_rUrorGrHr
r
r�test_issue16180�s��zPdbTestCase.test_issue16180cCsLd}d}|�||�\}}d�dd�|��D��}|�|d�|�|d�dS)Nzprint('hello')z[
            continue
            run a b c
            run d e f
            quit
        �
cSsg|]}|���qSr
)�strip)r��xr
r
r�
<listcomp>�sz/PdbTestCase.test_issue26053.<locals>.<listcomp>z#Restarting .* with arguments:
a b cz#Restarting .* with arguments:
d e f)rb�joinr�ZassertRegex)rr_rUrGrH�resr
r
r�test_issue26053�szPdbTestCase.test_issue26053c
Cs�t�d�}tj�dd�}z�t����tdd��}|�d�W5QRXtdd��}|�|�W5QRXt	j
dg}tj|tj
tj
tj
d�}|�$|�d�\}}|�d	|���W5QRXW5QRXW5|dk	r�|tjd<XdS)
Nz_
            import pdb; pdb.Pdb(readrc=False).set_trace()

            print('hello')
        �HOME�.pdbrcrZzinvalid
rYrFsq
z(NameError: name 'invalid' is not defined)r]r^rg�environ�popr�temp_cwdr[r\rrKrLrMrNrPr}rT)rr_�	save_homerarVrWrGrHr
r
r�test_readrc_kwarg�s,


��zPdbTestCase.test_readrc_kwargcCs�tj�dd�}t����}td��ntj�|d�}|tjj_	z:t
|d��}|�d�W5QRX|�t
��jdd�W5|dk	r�|tjd<XW5QRXW5QRXdS)Nr�zos.path.expanduserr�rZ�invalidr)rgr�r�r�temp_dirr�pathr��
expanduserZreturn_valuer[r\rmr.r/ZrcLines)rr�r�Zrc_pathrar
r
r�test_readrc_homedir�s
zPdbTestCase.test_readrc_homedirc	Csdt�}d}t��6}|�td|��|�t�tjd��tj|d�W5QRX|�|�	�|d�dS)Nz"Nobody expects... blah, blah, blahz
sys.stdout�	set_trace)�headerr�)
rr�
enter_contextr�objectr.r/r�rm�getvalue)rrGr�Z	resourcesr
r
r�test_header�szPdbTestCase.test_headercCs:d}d}|�||�\}}|�tdd�|��D��|�dS)Nzprint("SUCCESS")�/
            continue
            quit
        css|]}d|kVqdS��SUCCESSNr
r�r
r
rr��sz.PdbTestCase.test_run_module.<locals>.<genexpr>�rkr�r�r��rr_rUrGrHr
r
r�test_run_module�szPdbTestCase.test_run_modulecCs:d}d}|�||�\}}|�tdd�|��D��|�dS)NzQ
            if __name__ == '__main__':
                print("SUCCESS")
        r�css|]}d|kVqdSr�r
r�r
r
rr��sz9PdbTestCase.test_module_is_run_as_main.<locals>.<genexpr>r�r�r
r
r�test_module_is_run_as_main�sz&PdbTestCase.test_module_is_run_as_maincCsXd}d}|�||�\}}|�tdd�|��D��|�|�tdd�|��D��|�dS)Nz{
            if __name__ == '__main__':
                pass
                print("SUCCESS")
                pass
        z*
            b 3
            quit
        css|]}d|kVqdS)zBreakpoint 1 atNr
r�r
r
rr�sz.PdbTestCase.test_breakpoint.<locals>.<genexpr>css|]}d|kVqdSr�r
r�r
r
rr�
s)rkr�r�r��allr�r
r
r�test_breakpoints
zPdbTestCase.test_breakpointcCs2d}|�ddg|�\}}|�tj|�dd��dS)Nz(
            c
            quit
        rEr.�
r�)rXr�r.Z_usage�replace)rrUrGrHr
r
r�test_run_pdb_with_pdbs
�z!PdbTestCase.test_run_pdb_with_pdbc	Csld}t�|�|d}t�|�t|d��}W5QRX|�tj|�|�d|gd�\}}|�d|���dS)NrcrerZrEr�z,ImportError: No module named t_main.__main__)	rrJrgrhr[rIrXr�r�)rrfrjrarGrHr
r
r�test_module_without_a_mains


�z&PdbTestCase.test_module_without_a_maincCs:d}d}|�||�\}}|�tdd�|��D��|�dS)NzY
                #This is a comment, on line 2

                print("SUCCESS")
        z
            quit
        css|]}d|kVqdS)z__main__.py(4)<module>()Nr
r�r
r
rr�0s��z=PdbTestCase.test_blocks_at_first_code_line.<locals>.<genexpr>r�r�r
r
r�test_blocks_at_first_code_line&s��z*PdbTestCase.test_blocks_at_first_code_linec	Cs2d|_t�|j�|jd}|jd}|jd}|�tj|j�t�|j�t|d��}|�t�	d��W5QRXt|d��}|�t�	d��W5QRXt|d��}|�t�	d��W5QRXd	}|�
d
|jg|�\}}|�tdd�|�
�D��|�|�td
d�|�
�D���|�tdd�|�
�D���dS)Nrcrdre�
/module.pyrZ�6
                top_var = "VAR from top"
            z�
                from . import top_var
                from .module import var
                from . import module
                pass # We'll stop here and print the vars
            zY
                var = "VAR from module"
                var2 = "second var"
            zz
            b 5
            c
            p top_var
            p var
            p module.var2
            quit
        rEcss|]}d|kVqdS�zVAR from moduleNr
r�r
r
rr�Tsz4PdbTestCase.test_relative_imports.<locals>.<genexpr>css|]}d|kVqdS)zVAR from topNr
r�r
r
rr�Uscss|]}d|kVqdS)z
second varNr
r�r
r
rr�Vs�rfrrJrIrgrhr[r\r]r^rXr�r�r��rrirjZmodule_filerarUrG�_r
r
r�test_relative_imports3s$


z!PdbTestCase.test_relative_importsc	Cs�d|_t�|j�|jd}|jd}|jd}|�tj|j�t�|j�t|d��}|�t�	d��W5QRXt|d��}|�t�	d��W5QRXt|d��}|�t�	d��W5QRXd	}|�
d
|jdg|�\}}|�tdd
�|�
�D��|�dS)Nrcz	/runme.pyrer�rZr�zl
                from . import module
                pass # We'll stop here and print the vars
            z5
                var = "VAR from module"
            zQ
            b 3
            c
            p module.var
            quit
        rEz.runmecss|]}d|kVqdSr�r
r�r
r
rr�uszDPdbTestCase.test_relative_imports_on_plain_module.<locals>.<genexpr>r�r�r
r
r�%test_relative_imports_on_plain_moduleXs 


z1PdbTestCase.test_relative_imports_on_plain_modulecCsTd�ddddg�}|�d|d�\}}|�|��dd�dd	d
dd	dd
ddg	�dS)Nr�zprint(zdebug print(zdebug doesnotexist�cr�rz3(Pdb) *** SyntaxError: unexpected EOF while parsingz!(Pdb) ENTERING RECURSIVE DEBUGGERz-*** SyntaxError: unexpected EOF while parsingzLEAVING RECURSIVE DEBUGGERz> <string>(1)<module>()z9((Pdb)) *** NameError: name 'doesnotexist' is not definedz(Pdb) )r�rbrmr�)rrUrGr�r
r
r�test_errors_in_commandws$��z"PdbTestCase.test_errors_in_commandc	Csdt�d�}d}t���D}dtj�|���}|�||�\}}|�|�	d�d�
d�|�W5QRXdS)N�Q
            import sys
            print('sys.path[0] is', sys.path[0])
        �c
q�(Pdb) sys.path[0] is r��r�)r]r^rr�rgr��realpathrbrm�split�rstrip)rr_rU�cwdrorGrHr
r
r�test_issue42384�s

zPdbTestCase.test_issue42384c

Cs�t�d�}d}t����}tj�|�}tj�|d�}tj�|d�}d|��}t�|�t	tj�|d�d��}|�
|�W5QRXt�|�t�tj�|d�tj�|d��|�tj�dd�g|�\}}	|�
|�d�d	�d
�|�W5QRXdS)Nr�r��dir_one�dir_twor��foo.pyrZr�r�r�)r]r^rr�rgr�r�r�rhr[r\�symlinkrXrmr�r�)
rr_rUr�r�r�rorarGrHr
r
r�test_issue42384_symlink�s




 z#PdbTestCase.test_issue42384_symlinkc	
Cs�t����}tdd��}t�d�}|�|�W5QRXtj�|d�}t�	|�t�	tj�|d��tj�|d�}t|d��}|�d�W5QRX|�
dgd�\}}d}|�|�d�d	�
d
�|�W5QRXdS)Nr�rZz�
                    print('The correct file was executed')

                    import os
                    os.chdir("subdir")
                �subdirz$print("The wrong file was executed")zc
c
qz#(Pdb) The correct file was executedr��r�)rr�r[r]r^r\rgr�r�rhrXrmr�r�)	rr�ra�sr�Z
wrong_filerGrHror
r
r�test_issue42383�s


zPdbTestCase.test_issue42383N)#rrrrCrXrbrkrprrrvrxr{rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rZskip_unless_symlinkr�r�r
r
r
rr@�s>	
$ 
		
%
r@cGs*ddlm}t�t�t�|�g}t�|�S)Nr)�test_pdb)�testr��unittestZ	makeSuiter@�doctestZDocTestSuiteZ	TestSuite)�argsr�Zsuitesr
r
r�
load_tests�s
�r��__main__):r�rgr.r�typesryr�rLr]�
contextlibr�iorr�rZtest.test_doctestrZ
unittest.mockrZbdbrrr�r
r r!r"r#r&r'r(r)r*�
ModuleType�mod�exec�__dict__r+r,r2r3r4r5r6r7r8r9r:r;r<r=r>r?ZTestCaser@r�r�mainr
r
r
r�<module>shk_*>
+*@;8=7*,/*/	


F1le Man4ger