diff options
author | RĂ©mi Lapeyre <remi.lapeyre@henki.fr> | 2019-05-24 20:44:31 (GMT) |
---|---|---|
committer | Pablo Galindo <Pablogsal@gmail.com> | 2019-05-24 20:44:31 (GMT) |
commit | 458560347f5c28e162bb288adfa0cfe5aad79557 (patch) | |
tree | 6bee8dd501337e5c6e3c21698b42cde3e066d540 /Lib | |
parent | deffee57749cf29ba17f50f11fb2a8cbc3e3752d (diff) | |
download | cpython-458560347f5c28e162bb288adfa0cfe5aad79557.zip cpython-458560347f5c28e162bb288adfa0cfe5aad79557.tar.gz cpython-458560347f5c28e162bb288adfa0cfe5aad79557.tar.bz2 |
bpo-36969: Make PDB args command display positional only arguments (GH-13459)
Diffstat (limited to 'Lib')
-rwxr-xr-x | Lib/pdb.py | 2 | ||||
-rw-r--r-- | Lib/test/test_pdb.py | 33 |
2 files changed, 29 insertions, 6 deletions
@@ -1132,7 +1132,7 @@ class Pdb(bdb.Bdb, cmd.Cmd): """ co = self.curframe.f_code dict = self.curframe_locals - n = co.co_argcount + co.co_kwonlyargcount + n = co.co_argcount + co.co_posonlyargcount + co.co_kwonlyargcount if co.co_flags & inspect.CO_VARARGS: n = n+1 if co.co_flags & inspect.CO_VARKEYWORDS: n = n+1 for i in range(n): diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py index a33494d..d03f1b2 100644 --- a/Lib/test/test_pdb.py +++ b/Lib/test/test_pdb.py @@ -80,10 +80,14 @@ def test_pdb_basic_commands(): >>> def test_function3(arg=None, *, kwonly=None): ... pass + >>> def test_function4(a, b, c, /): + ... pass + >>> def test_function(): ... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace() ... ret = test_function_2('baz') ... test_function3(kwonly=True) + ... test_function4(1, 2, 3) ... print(ret) >>> with PdbTestInput([ # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE @@ -104,10 +108,14 @@ def test_pdb_basic_commands(): ... 'next', # step to test_function3() ... 'step', # stepping into test_function3() ... 'args', # display function args + ... 'return', # return out of function + ... 'next', # step to test_function4() + ... 'step', # stepping to test_function4() + ... 'args', # display function args ... 'continue', ... ]): ... test_function() - > <doctest test.test_pdb.test_pdb_basic_commands[2]>(3)test_function() + > <doctest test.test_pdb.test_pdb_basic_commands[3]>(3)test_function() -> ret = test_function_2('baz') (Pdb) step --Call-- @@ -130,14 +138,14 @@ def test_pdb_basic_commands(): [EOF] (Pdb) bt ... - <doctest test.test_pdb.test_pdb_basic_commands[3]>(21)<module>() + <doctest test.test_pdb.test_pdb_basic_commands[4]>(25)<module>() -> test_function() - <doctest test.test_pdb.test_pdb_basic_commands[2]>(3)test_function() + <doctest test.test_pdb.test_pdb_basic_commands[3]>(3)test_function() -> ret = test_function_2('baz') > <doctest test.test_pdb.test_pdb_basic_commands[0]>(1)test_function_2() -> def test_function_2(foo, bar='default'): (Pdb) up - > <doctest test.test_pdb.test_pdb_basic_commands[2]>(3)test_function() + > <doctest test.test_pdb.test_pdb_basic_commands[3]>(3)test_function() -> ret = test_function_2('baz') (Pdb) down > <doctest test.test_pdb.test_pdb_basic_commands[0]>(1)test_function_2() @@ -176,7 +184,7 @@ def test_pdb_basic_commands(): (Pdb) retval 'BAZ' (Pdb) next - > <doctest test.test_pdb.test_pdb_basic_commands[2]>(4)test_function() + > <doctest test.test_pdb.test_pdb_basic_commands[3]>(4)test_function() -> test_function3(kwonly=True) (Pdb) step --Call-- @@ -185,6 +193,21 @@ def test_pdb_basic_commands(): (Pdb) args arg = None kwonly = True + (Pdb) return + --Return-- + > <doctest test.test_pdb.test_pdb_basic_commands[1]>(2)test_function3()->None + -> pass + (Pdb) next + > <doctest test.test_pdb.test_pdb_basic_commands[3]>(5)test_function() + -> test_function4(1, 2, 3) + (Pdb) step + --Call-- + > <doctest test.test_pdb.test_pdb_basic_commands[2]>(1)test_function4() + -> def test_function4(a, b, c, /): + (Pdb) args + a = 1 + b = 2 + c = 3 (Pdb) continue BAZ """ |