>>> def test_function(foo, bar):
... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
- ... pass
>>> with PdbTestInput([
... 'foo',
... 'continue',
... ]):
... test_function(1, None)
- > <doctest test.test_pdb.test_pdb_displayhook[0]>(3)test_function()
- -> pass
+ > <doctest test.test_pdb.test_pdb_displayhook[0]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) foo
1
(Pdb) bar
... print(ret)
>>> with PdbTestInput([ # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
+ ... 'step', # go to line ret = test_function_2('baz')
... 'step', # entering the function call
... 'args', # display function args
... 'list', # list function source
... 'continue',
... ]):
... test_function()
+ > <doctest test.test_pdb.test_pdb_basic_commands[3]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_basic_commands[3]>(3)test_function()
-> ret = test_function_2('baz')
(Pdb) step
[EOF]
(Pdb) bt
...
- <doctest test.test_pdb.test_pdb_basic_commands[4]>(25)<module>()
+ <doctest test.test_pdb.test_pdb_basic_commands[4]>(26)<module>()
-> test_function()
<doctest test.test_pdb.test_pdb_basic_commands[3]>(3)test_function()
-> ret = test_function_2('baz')
... 'continue',
... ]):
... test_function()
- > <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>(3)test_function()
- -> print(1)
+ > <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) break 3
Breakpoint 1 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:3
(Pdb) break 4, +
... 'continue',
... ]):
... test_function()
- > <doctest test.test_pdb.test_pdb_breakpoint_with_filename[0]>(5)test_function()
- -> mod2.func88()
+ > <doctest test.test_pdb.test_pdb_breakpoint_with_filename[0]>(4)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) break test.test_inspect.inspect_fodder2:90
Breakpoint 1 at ...inspect_fodder2.py:90
(Pdb) continue
... 'continue',
... ]):
... test_function()
- --Return--
- > <doctest test.test_pdb.test_pdb_pp_repr_exc[2]>(2)test_function()->None
+ > <doctest test.test_pdb.test_pdb_pp_repr_exc[2]>(2)test_function()
-> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) p obj
*** Exception: repr_exc
... ret = test_function_2('baz')
>>> with PdbTestInput([ # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
+ ... 'step', # go to the test function line
... 'list', # list first function
... 'step', # step into second function
... 'list', # list second function
... 'continue',
... ]):
... test_function()
+ > <doctest test.test_pdb.test_list_commands[1]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_list_commands[1]>(3)test_function()
-> ret = test_function_2('baz')
(Pdb) list
... 'continue',
... ]):
... test_function()
- --Return--
- > <doctest test.test_pdb.test_pdb_whatis_command[3]>(2)test_function()->None
+ > <doctest test.test_pdb.test_pdb_whatis_command[3]>(2)test_function()
-> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) whatis myvar
<class 'tuple'>
... a = 4
>>> with PdbTestInput([ # doctest: +ELLIPSIS
+ ... 's',
... 'display +',
... 'display',
... 'display a',
... 'continue',
... ]):
... test_function()
+ > <doctest test.test_pdb.test_pdb_display_command[0]>(3)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) s
> <doctest test.test_pdb.test_pdb_display_command[0]>(4)test_function()
-> a = 1
(Pdb) display +
... o.method()
>>> with PdbTestInput([ # doctest: +ELLIPSIS
+ ... 's',
... 'alias pi',
... 'alias pi for k in %1.__dict__.keys(): print(f"%1.{k} = {%1.__dict__[k]}")',
... 'alias ps pi self',
... 'continue',
... ]):
... test_function()
+ > <doctest test.test_pdb.test_pdb_alias_command[1]>(3)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) s
> <doctest test.test_pdb.test_pdb_alias_command[1]>(4)test_function()
-> o.method()
(Pdb) alias pi
... 'continue',
... ]):
... test_function()
- --Return--
- > <doctest test.test_pdb.test_pdb_where_command[0]>(2)g()->None
+ > <doctest test.test_pdb.test_pdb_where_command[0]>(2)g()
-> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) w
...
-> f()
<doctest test.test_pdb.test_pdb_where_command[1]>(2)f()
-> g();
- > <doctest test.test_pdb.test_pdb_where_command[0]>(2)g()->None
+ > <doctest test.test_pdb.test_pdb_where_command[0]>(2)g()
-> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) where
...
-> f()
<doctest test.test_pdb.test_pdb_where_command[1]>(2)f()
-> g();
- > <doctest test.test_pdb.test_pdb_where_command[0]>(2)g()->None
+ > <doctest test.test_pdb.test_pdb_where_command[0]>(2)g()
-> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) u
> <doctest test.test_pdb.test_pdb_where_command[1]>(2)f()
-> f()
> <doctest test.test_pdb.test_pdb_where_command[1]>(2)f()
-> g();
- <doctest test.test_pdb.test_pdb_where_command[0]>(2)g()->None
+ <doctest test.test_pdb.test_pdb_where_command[0]>(2)g()
-> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) continue
"""
... 'continue',
... ]):
... test_function()
- --Return--
- > <doctest test.test_pdb.test_pdb_interact_command[2]>(4)test_function()->None
+ > <doctest test.test_pdb.test_pdb_interact_command[2]>(4)test_function()
-> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) interact
*pdb interact start*
... util_function()
>>> with PdbTestInput([ # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
+ ... 'step', # Step to try statement
... '$_frame.f_lineno', # Check frame convenience variable
... '$ _frame', # This should be a syntax error
... '$a = 10', # Set a convenience variable
... 'continue',
... ]):
... test_function()
+ > <doctest test.test_pdb.test_convenience_variables[0]>(2)util_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_convenience_variables[0]>(3)util_function()
-> try:
(Pdb) $_frame.f_lineno
... print('Not reached.')
>>> with PdbTestInput([ # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
+ ... 'step', # step to test_function_2() line
... 'next', # step over exception-raising call
... 'bt', # get a backtrace
... 'list', # list code of test_function()
... test_function()
... except ZeroDivisionError:
... print('Correctly reraised.')
+ > <doctest test.test_pdb.test_post_mortem[1]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_post_mortem[1]>(3)test_function()
-> test_function_2()
(Pdb) next
-> test_function_2()
(Pdb) bt
...
- <doctest test.test_pdb.test_post_mortem[2]>(10)<module>()
+ <doctest test.test_pdb.test_post_mortem[2]>(11)<module>()
-> test_function()
> <doctest test.test_pdb.test_post_mortem[1]>(3)test_function()
-> test_function_2()
>>> with PdbTestInput([
... 'step',
+ ... 'step',
... 'continue',
... ]):
... skip_module()
+ > <doctest test.test_pdb.test_pdb_skip_modules[0]>(3)skip_module()
+ -> import pdb; pdb.Pdb(skip=['stri*'], nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()
-> string.capwords('FOO')
(Pdb) step
>>> def test_function():
... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
- ... pass
>>> with PdbTestInput([
... 'a = 3',
... 'continue'
... ]):
... test_function()
- > <doctest test.test_pdb.test_pdb_invalid_arg[0]>(3)test_function()
- -> pass
+ > <doctest test.test_pdb.test_pdb_invalid_arg[0]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) a = 3
*** Invalid argument: = 3
Usage: a(rgs)
... 'step',
... 'step',
... 'step',
+ ... 'step',
... 'continue',
... ]):
... skip_module()
... pass # provides something to "step" to
+ > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(4)skip_module()
+ -> import pdb; pdb.Pdb(skip=['module_to_skip*'], nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()
-> mod.foo_pony(callback)
(Pdb) step
> <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>()
+ > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[1]>(11)<module>()
-> pass # provides something to "step" to
(Pdb) continue
"""
... print(4)
>>> with PdbTestInput([ # doctest: +ELLIPSIS
+ ... 'step',
... 'next',
... 'break 7',
... 'continue',
... 'continue',
... ]):
... test_function()
+ > <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(3)test_function()
+ -> inst.set_trace()
+ (Pdb) step
> <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
... 'return',
... 'continue']):
... test_function()
- > <doctest test.test_pdb.test_next_until_return_at_return_event[1]>(3)test_function()
- -> test_function_2()
+ > <doctest test.test_pdb.test_next_until_return_at_return_event[1]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) break test_function_2
Breakpoint 1 at <doctest test.test_pdb.test_next_until_return_at_return_event[0]>:2
(Pdb) continue
>>> with PdbTestInput(['step',
... 'step',
... 'step',
+ ... 'step',
... 'next',
... 'next',
... 'step',
... 'step',
... 'continue']):
... test_function()
+ > <doctest test.test_pdb.test_pdb_next_command_for_generator[1]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_next_command_for_generator[1]>(3)test_function()
-> it = test_gen()
(Pdb) step
>>> with PdbTestInput(['step',
... 'step',
+ ... 'step',
... 'next',
... 'next',
... 'next',
... 'step',
... 'continue']):
... test_function()
+ > <doctest test.test_pdb.test_pdb_next_command_for_coroutine[2]>(2)test_main()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_next_command_for_coroutine[2]>(3)test_main()
-> await test_coro()
(Pdb) step
>>> with PdbTestInput(['step',
... 'step',
+ ... 'step',
... 'next',
... 'next',
... 'step',
... 'next',
... 'continue']):
... test_function()
+ > <doctest test.test_pdb.test_pdb_next_command_for_asyncgen[3]>(2)test_main()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_next_command_for_asyncgen[3]>(3)test_main()
-> await test_coro()
(Pdb) step
>>> with PdbTestInput(['step',
... 'step',
... 'step',
+ ... 'step',
... 'return',
... 'step',
... 'step',
... 'continue']):
... test_function()
+ > <doctest test.test_pdb.test_pdb_return_command_for_generator[1]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_return_command_for_generator[1]>(3)test_function()
-> it = test_gen()
(Pdb) step
>>> with PdbTestInput(['step',
... 'step',
+ ... 'step',
... 'next',
... 'continue']):
... test_function()
+ > <doctest test.test_pdb.test_pdb_return_command_for_coroutine[2]>(2)test_main()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_return_command_for_coroutine[2]>(3)test_main()
-> await test_coro()
(Pdb) step
... print("finished")
>>> with PdbTestInput(['step',
+ ... 'step',
... 'until 4',
... 'step',
... 'step',
... 'continue']):
... test_function()
+ > <doctest test.test_pdb.test_pdb_until_command_for_generator[1]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_until_command_for_generator[1]>(3)test_function()
-> for i in test_gen():
(Pdb) step
... print("finished")
>>> with PdbTestInput(['step',
+ ... 'step',
... 'until 8',
... 'continue']):
... test_function()
+ > <doctest test.test_pdb.test_pdb_until_command_for_coroutine[2]>(2)test_main()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_until_command_for_coroutine[2]>(3)test_main()
-> await test_coro()
(Pdb) step
... 'next',
... 'continue']):
... test_function()
- > <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[1]>(3)test_function()
- -> for i in test_gen():
+ > <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[1]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) break test_gen
Breakpoint 1 at <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[0]>:2
(Pdb) continue
>>> with PdbTestInput(['step',
... 'step',
+ ... 'step',
... 'next',
... 'next',
... 'next',
... 'continue']):
... test_function()
+ > <doctest test.test_pdb.test_pdb_next_command_subiterator[2]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_next_command_subiterator[2]>(3)test_function()
-> for i in test_gen():
(Pdb) step
>>> def test_function():
... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
- ... pass
>>> with PdbTestInput([ # doctest: +NORMALIZE_WHITESPACE
... 'def f(x):',
... 'c'
... ]):
... test_function()
- > <doctest test.test_pdb.test_pdb_multiline_statement[0]>(3)test_function()
- -> pass
+ > <doctest test.test_pdb.test_pdb_multiline_statement[0]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) def f(x):
... return x * 2
...
... n = lambda x: x
... c = {"a": 1}
... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
- ... pass
>>> with PdbTestInput([ # doctest: +NORMALIZE_WHITESPACE
... 'c["a"]',
... 'c'
... ]):
... test_function()
- > <doctest test.test_pdb.test_pdb_show_attribute_and_item[0]>(5)test_function()
- -> pass
+ > <doctest test.test_pdb.test_pdb_show_attribute_and_item[0]>(4)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) c["a"]
1
(Pdb) c.get("a")
>>> with PdbTestInput(['continue',
... 'continue']):
... test_function()
- > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
- -> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
+ > <doctest test.test_pdb.test_pdb_issue_20766[0]>(5)test_function()
+ -> sess.set_trace(sys._getframe())
(Pdb) continue
pdb 1: <built-in function default_int_handler>
- > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
- -> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
+ > <doctest test.test_pdb.test_pdb_issue_20766[0]>(5)test_function()
+ -> sess.set_trace(sys._getframe())
(Pdb) continue
pdb 2: <built-in function default_int_handler>
"""
... 'continue'
... ]):
... test_function()
- > <doctest test.test_pdb.test_pdb_issue_43318[0]>(3)test_function()
- -> print(1)
+ > <doctest test.test_pdb.test_pdb_issue_43318[0]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) break 3
Breakpoint 1 at <doctest test.test_pdb.test_pdb_issue_43318[0]>:3
(Pdb) clear <doctest test.test_pdb.test_pdb_issue_43318[0]>:3
>>> reset_Breakpoint()
>>> with PdbTestInput([ # doctest: +NORMALIZE_WHITESPACE
... 'step',
+ ... 'step',
... 'next',
... 'next',
... 'jump 5',
... 'continue'
... ]):
... test_function()
+ > <doctest test.test_pdb.test_pdb_issue_gh_91742[0]>(11)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_issue_gh_91742[0]>(12)test_function()
-> about()
(Pdb) step
>>> reset_Breakpoint()
>>> with PdbTestInput([ # doctest: +NORMALIZE_WHITESPACE
... 'step',
+ ... 'step',
... 'next',
... 'next',
... 'jump 3',
... 'continue'
... ]):
... test_function()
+ > <doctest test.test_pdb.test_pdb_issue_gh_94215[0]>(8)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) step
> <doctest test.test_pdb.test_pdb_issue_gh_94215[0]>(9)test_function()
-> func()
(Pdb) step
... 'continue'
... ]):
... test_function()
- --Return--
- > <doctest test.test_pdb.test_pdb_issue_gh_101673[0]>(3)test_function()->None
+ > <doctest test.test_pdb.test_pdb_issue_gh_101673[0]>(3)test_function()
-> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) !a = 2
(Pdb) ll
... a = 1
... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
... b = 2
- > <doctest test.test_pdb.test_pdb_issue_gh_103225[0]>(7)<module>()
- -> b = 2
+ > <doctest test.test_pdb.test_pdb_issue_gh_103225[0]>(6)<module>()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) longlist
1 with PdbTestInput([ # doctest: +NORMALIZE_WHITESPACE
2 'longlist',
3 'continue'
4 ]):
5 a = 1
- 6 import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
- 7 -> b = 2
+ 6 -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ 7 b = 2
(Pdb) continue
"""
... 'continue'
... ]):
... test_function()
- --Return--
- > <doctest test.test_pdb.test_pdb_issue_gh_101517[0]>(None)test_function()->None
- -> Warning: lineno is None
+ > <doctest test.test_pdb.test_pdb_issue_gh_101517[0]>(5)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) continue
"""
... 'continue'
... ]):
... test_function()
- > <doctest test.test_pdb.test_pdb_issue_gh_108976[0]>(5)test_function()
- -> a = 1
+ > <doctest test.test_pdb.test_pdb_issue_gh_108976[0]>(4)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) continue
"""
... raise ValueError('Correct')
... except ValueError:
... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
- ... pass
- > <doctest test.test_pdb.test_pdb_issue_gh_80731[0]>(10)<module>()
- -> pass
+ > <doctest test.test_pdb.test_pdb_issue_gh_80731[0]>(9)<module>()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) import sys
(Pdb) sys.exc_info()
(<class 'ValueError'>, ValueError('Correct'), <traceback object at ...>)
Make sure that ambiguous statements prefixed by '!' are properly disambiguated
>>> with PdbTestInput([
+ ... 's', # step to the print line
... '! n = 42', # disambiguated statement: reassign the name n
... 'n', # advance the debugger into the print()
... 'continue'
... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
... print(f"The value of n is {n}")
> <doctest test.test_pdb.test_pdb_ambiguous_statements[0]>(8)<module>()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) s
+ > <doctest test.test_pdb.test_pdb_ambiguous_statements[0]>(9)<module>()
-> print(f"The value of n is {n}")
(Pdb) ! n = 42
(Pdb) n
... 'continue'
... ]):
... test_function()
- > <doctest test.test_pdb.test_pdb_f_trace_lines[1]>(6)test_function()
- -> if frame.f_trace_lines != False:
+ > <doctest test.test_pdb.test_pdb_f_trace_lines[1]>(5)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) continue
"""
>>> def test_function():
... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
- ... pass
>>> with PdbTestInput([ # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
... 'break foo',
... 'continue'
... ]):
... test_function()
- > <doctest test.test_pdb.test_pdb_function_break[4]>(3)test_function()
- -> pass
+ > <doctest test.test_pdb.test_pdb_function_break[4]>(2)test_function()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) break foo
Breakpoint ... at <doctest test.test_pdb.test_pdb_function_break[0]>:1
(Pdb) break bar
... A()
>>> with PdbTestInput([ # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
... 's',
+ ... 's',
... 'retval',
... 'continue',
... 'args',
... 'continue',
... ]):
... test_function()
+ > <doctest test.test_pdb.test_pdb_issue_gh_65052[0]>(3)__new__()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
+ (Pdb) s
> <doctest test.test_pdb.test_pdb_issue_gh_65052[0]>(4)__new__()
-> return object.__new__(cls)
(Pdb) s
(Pdb) retval
*** repr(retval) failed: AttributeError: 'A' object has no attribute 'a' ***
(Pdb) continue
- > <doctest test.test_pdb.test_pdb_issue_gh_65052[0]>(7)__init__()
- -> self.a = 1
+ > <doctest test.test_pdb.test_pdb_issue_gh_65052[0]>(6)__init__()
+ -> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
(Pdb) args
self = *** repr(self) failed: AttributeError: 'A' object has no attribute 'a' ***
(Pdb) display self