Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.145.93.203
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_pdb.pyo
�
?��cc@s#ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	dej
fd��YZdefd��YZ
d�Zd	�Zd
�Zd�Zejd�Zd
ejUd�Zd�Zdej
fd��YZd�Zedkre�ndS(i����N(ttest_support(t
_FakeInputtPdbTestCasecBs#eZd�Zd�Zd�ZRS(c		Cs�d}t|d��}|jtj|��WdQX|jtj|�tjdd|g}d}}t
j|dt
jdt
jdt
j
�}|j|�\}}|jj�|jj�||fS(	s3Run 'script' lines with pdb and the pdb 'commands'.smain.pytwNs-mtpdbtstdouttstdintstderr(topentwritettextwraptdedentt
addCleanupRtunlinktsyst
executabletNonet
subprocesstPopentPIPEtSTDOUTtcommunicateRtcloseR(	tselftscripttcommandstfilenametftcmdRRtproc((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pytrun_pdbs
	

cCs�d}d}d}tdd��}|jtj|��WdQX|jtjd�|jtjd�|j||�\}}|jt	d�|j
�D��d�dS(	Ns�
            from bar import bar

            def foo():
                bar()

            def nope():
                pass

            def foobar():
                foo()
                nope()

            foobar()
        s�
            from bar import bar
            break bar
            continue
            step
            step
            quit
        s5
            def bar():
                pass
        sbar.pyRsbar.pyccss|]}d|kVqdS(smain.py(5)foo()->NoneN((t.0tl((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pys	<genexpr>Ess+Fail to step into the caller after a return(RR	R
RRRR
Rt
assertTruetanyt
splitlines(RRRtbarRRR((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyttest_issue13183#scCsMd}d}d}|j||�\}}|j||dj||��dS(Nsdef f: pass
tsSyntaxError:sE

Expected:
{}
Got:
{}
Fail to handle a syntax error in the debuggee.(RtassertIntformat(RRRtexpectedRR((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyttest_issue16180Hs(t__name__t
__module__RR%R*(((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyRs		%tPdbTestInputcBs)eZdZd�Zd�Zd�ZRS(s:Context manager that makes testing Pdb in doctests easier.cCs
||_dS(N(tinput(RR.((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyt__init__WscCs"tj|_t|j�t_dS(N(RRt
real_stdinRR.(R((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyt	__enter__ZscGs|jt_dS(N(R0RR(Rtexc((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyt__exit__^s(R+R,t__doc__R/R1R3(((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyR-Ts		cCs	|GHdS(N((tx((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyR	bscCsdS(sThis tests the custom displayhook for pdb.

    >>> def test_function(foo, bar):
    ...     import pdb; pdb.Pdb().set_trace()
    ...     pass

    >>> with PdbTestInput([
    ...     'foo',
    ...     'bar',
    ...     'for i in range(5): write(i)',
    ...     'continue',
    ... ]):
    ...     test_function(1, None)
    > <doctest test.test_pdb.test_pdb_displayhook[0]>(3)test_function()
    -> pass
    (Pdb) foo
    1
    (Pdb) bar
    (Pdb) for i in range(5): write(i)
    0
    1
    2
    3
    4
    (Pdb) continue
    N((((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyttest_pdb_displayhookeR&cCsdS(s�Test basic commands related to breakpoints.

    >>> def test_function():
    ...     import pdb; pdb.Pdb().set_trace()
    ...     print(1)
    ...     print(2)
    ...     print(3)
    ...     print(4)

    First, need to clear bdb state that might be left over from previous tests.
    Otherwise, the new breakpoints might get assigned different numbers.

    >>> from bdb import Breakpoint
    >>> Breakpoint.next = 1
    >>> Breakpoint.bplist = {}
    >>> Breakpoint.bpbynumber = [None]

    Now test the breakpoint commands.  NORMALIZE_WHITESPACE is needed because
    the breakpoint list outputs a tab for the "stop only" and "ignore next"
    lines, which we don't want to put in here.

    >>> with PdbTestInput([  # doctest: +NORMALIZE_WHITESPACE
    ...     'break 3',
    ...     'disable 1',
    ...     'ignore 1 10',
    ...     'condition 1 1 < 2',
    ...     'break 4',
    ...     'break 4',
    ...     'break',
    ...     'clear 3',
    ...     'break',
    ...     'condition 1',
    ...     'enable 1',
    ...     'clear 1',
    ...     'commands 2',
    ...     'print 42',
    ...     'end',
    ...     'continue',  # will stop at breakpoint 2 (line 4)
    ...     'clear',     # clear all!
    ...     'y',
    ...     'tbreak 5',
    ...     'continue',  # will stop at temporary breakpoint
    ...     'break',     # make sure breakpoint is gone
    ...     'continue',
    ... ]):
    ...    test_function()
    > <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>(3)test_function()
    -> print(1)
    (Pdb) break 3
    Breakpoint 1 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:3
    (Pdb) disable 1
    (Pdb) ignore 1 10
    Will ignore next 10 crossings of breakpoint 1.
    (Pdb) condition 1 1 < 2
    (Pdb) break 4
    Breakpoint 2 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
    (Pdb) break 4
    Breakpoint 3 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
    (Pdb) break
    Num Type         Disp Enb   Where
    1   breakpoint   keep no    at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:3
            stop only if 1 < 2
            ignore next 10 hits
    2   breakpoint   keep yes   at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
    3   breakpoint   keep yes   at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
    (Pdb) clear 3
    Deleted breakpoint 3
    (Pdb) break
    Num Type         Disp Enb   Where
    1   breakpoint   keep no    at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:3
            stop only if 1 < 2
            ignore next 10 hits
    2   breakpoint   keep yes   at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
    (Pdb) condition 1
    Breakpoint 1 is now unconditional.
    (Pdb) enable 1
    (Pdb) clear 1
    Deleted breakpoint 1
    (Pdb) commands 2
    (com) print 42
    (com) end
    (Pdb) continue
    1
    42
    > <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>(4)test_function()
    -> print(2)
    (Pdb) clear
    Clear all breaks? y
    (Pdb) tbreak 5
    Breakpoint 4 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:5
    (Pdb) continue
    2
    Deleted breakpoint 4
    > <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>(5)test_function()
    -> print(3)
    (Pdb) break
    (Pdb) continue
    3
    4
    N((((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyttest_pdb_breakpoint_commands�R&cCsdS(s7This illustrates the simple case of module skipping.

    >>> def skip_module():
    ...     import string
    ...     import pdb; pdb.Pdb(skip=['string*']).set_trace()
    ...     string.lower('FOO')

    >>> with PdbTestInput([
    ...     'step',
    ...     'continue',
    ... ]):
    ...     skip_module()
    > <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()
    -> string.lower('FOO')
    (Pdb) step
    --Return--
    > <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()->None
    -> string.lower('FOO')
    (Pdb) continue
    N((((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyttest_pdb_skip_modules�R&tmodule_to_skips6def foo_pony(callback): x = 1; callback(); return NonecCsdS(s$This illustrates skipping of modules that call into other code.

    >>> def skip_module():
    ...     def callback():
    ...         return None
    ...     import pdb; pdb.Pdb(skip=['module_to_skip*']).set_trace()
    ...     mod.foo_pony(callback)

    >>> with PdbTestInput([
    ...     'step',
    ...     'step',
    ...     'step',
    ...     'step',
    ...     'step',
    ...     'continue',
    ... ]):
    ...     skip_module()
    ...     pass  # provides something to "step" to
    > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()
    -> mod.foo_pony(callback)
    (Pdb) step
    --Call--
    > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(2)callback()
    -> def callback():
    (Pdb) step
    > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(3)callback()
    -> return None
    (Pdb) step
    --Return--
    > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(3)callback()->None
    -> return None
    (Pdb) step
    --Return--
    > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()->None
    -> mod.foo_pony(callback)
    (Pdb) step
    > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[1]>(10)<module>()
    -> pass  # provides something to "step" to
    (Pdb) continue
    N((((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyt#test_pdb_skip_modules_with_callbackR&cCsdS(s�Test that "continue" and "next" work properly in bottom frame (issue #5294).

    >>> def test_function():
    ...     import pdb, sys; inst = pdb.Pdb()
    ...     inst.set_trace()
    ...     inst.botframe = sys._getframe()  # hackery to get the right botframe
    ...     print(1)
    ...     print(2)
    ...     print(3)
    ...     print(4)

    First, need to clear bdb state that might be left over from previous tests.
    Otherwise, the new breakpoints might get assigned different numbers.

    >>> from bdb import Breakpoint
    >>> Breakpoint.next = 1
    >>> Breakpoint.bplist = {}
    >>> Breakpoint.bpbynumber = [None]

    >>> with PdbTestInput([
    ...     'next',
    ...     'break 7',
    ...     'continue',
    ...     'next',
    ...     'continue',
    ...     'continue',
    ... ]):
    ...    test_function()
    > <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(4)test_function()
    -> inst.botframe = sys._getframe()  # hackery to get the right botframe
    (Pdb) next
    > <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(5)test_function()
    -> print(1)
    (Pdb) break 7
    Breakpoint 1 at <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>:7
    (Pdb) continue
    1
    2
    > <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(7)test_function()
    -> print(3)
    (Pdb) next
    3
    > <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(8)test_function()
    -> print(4)
    (Pdb) continue
    4
    N((((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyt test_pdb_continue_in_bottomframe/R&tModuleInitTestercBseZd�ZRS(c	Cs�d}d}t|d��}|j|�WdQX|jtj|�tjdd|g}tj|dtj	dtj	d	tj
�}|jd
�\}}|j||d�dS(s�
        In issue 7750, it was found that if the filename has a sequence that
        resolves to an escape character in a Python string (such as 	), it
        will be treated as the escaped character.
        s
.\test_mod.pysprint("testing pdb")RNs-mRRRRsquit
spdb munged the filename(
RR	RtostremoveRRRRRRRR'(Rttest_fntcodeRRRRR((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyttest_filename_correctbs			(R+R,RA(((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyR<`scCs7ddlm}tj|dt�tjtt�dS(Ni����(ttest_pdbt	verbosity(ttestRBRtrun_doctesttTruetrun_unittestRR<(RB((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyt	test_mainzs
t__main__(timpRR=tunittestRR
RDRttest_doctestRtTestCaseRtobjectR-R	R6R7R8t
new_moduletmodt__dict__R:R;R<RHR+(((s4/usr/local/python-2.7/lib/python2.7/test/test_pdb.pyt<module>s*D			g		+	1	
© 2025 GrazzMean