##// END OF EJS Templates
Fix test_ipdb_magics doctest for Python 3.13
Thomas Kluyver -
Show More
@@ -59,40 +59,43 b' def test_ipdb_magics():'
59 59
60 60 First, set up some test functions and classes which we can inspect.
61 61
62 >>> class ExampleClass(object):
63 ... """Docstring for ExampleClass."""
64 ... def __init__(self):
65 ... """Docstring for ExampleClass.__init__"""
66 ... pass
67 ... def __str__(self):
68 ... return "ExampleClass()"
62 In [1]: class ExampleClass(object):
63 ...: """Docstring for ExampleClass."""
64 ...: def __init__(self):
65 ...: """Docstring for ExampleClass.__init__"""
66 ...: pass
67 ...: def __str__(self):
68 ...: return "ExampleClass()"
69 69
70 >>> def example_function(x, y, z="hello"):
71 ... """Docstring for example_function."""
72 ... pass
70 In [2]: def example_function(x, y, z="hello"):
71 ...: """Docstring for example_function."""
72 ...: pass
73 73
74 >>> old_trace = sys.gettrace()
74 In [3]: old_trace = sys.gettrace()
75 75
76 76 Create a function which triggers ipdb.
77 77
78 >>> def trigger_ipdb():
79 ... a = ExampleClass()
80 ... debugger.Pdb().set_trace()
81
82 >>> with PdbTestInput([
83 ... 'pdef example_function',
84 ... 'pdoc ExampleClass',
85 ... 'up',
86 ... 'down',
87 ... 'list',
88 ... 'pinfo a',
89 ... 'll',
90 ... 'continue',
91 ... ]):
92 ... trigger_ipdb()
93 --Return--
94 None
95 > <doctest ...>(3)trigger_ipdb()
78 In [4]: def trigger_ipdb():
79 ...: a = ExampleClass()
80 ...: debugger.Pdb().set_trace()
81
82 Run ipdb with faked input & check output. Because of a difference between
83 Python 3.13 & older versions, the first bit of the output is inconsistent.
84 We need to use ... to accommodate that, so the examples have to use IPython
85 prompts so that ... is distinct from the Python PS2 prompt.
86
87 In [5]: with PdbTestInput([
88 ...: 'pdef example_function',
89 ...: 'pdoc ExampleClass',
90 ...: 'up',
91 ...: 'down',
92 ...: 'list',
93 ...: 'pinfo a',
94 ...: 'll',
95 ...: 'continue',
96 ...: ]):
97 ...: trigger_ipdb()
98 ...> <doctest ...>(3)trigger_ipdb()
96 99 1 def trigger_ipdb():
97 100 2 a = ExampleClass()
98 101 ----> 3 debugger.Pdb().set_trace()
@@ -112,8 +115,7 b' def test_ipdb_magics():'
112 115 10 ]):
113 116 ---> 11 trigger_ipdb()
114 117 <BLANKLINE>
115 ipdb> down
116 None
118 ipdb> down...
117 119 > <doctest ...>(3)trigger_ipdb()
118 120 1 def trigger_ipdb():
119 121 2 a = ExampleClass()
@@ -139,7 +141,7 b' def test_ipdb_magics():'
139 141
140 142 Restore previous trace function, e.g. for coverage.py
141 143
142 >>> sys.settrace(old_trace)
144 In [6]: sys.settrace(old_trace)
143 145 '''
144 146
145 147 def test_ipdb_magics2():
General Comments 0
You need to be logged in to leave comments. Login now