##// 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()"
69
70 >>> def example_function(x, y, z="hello"):
71 ... """Docstring for example_function."""
72 ... pass
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()"
73 69
74 >>> old_trace = sys.gettrace()
70 In [2]: def example_function(x, y, z="hello"):
71 ...: """Docstring for example_function."""
72 ...: pass
75 73
76 Create a function which triggers ipdb.
74 In [3]: old_trace = sys.gettrace()
77 75
78 >>> def trigger_ipdb():
79 ... a = ExampleClass()
80 ... debugger.Pdb().set_trace()
76 Create a function which triggers ipdb.
81 77
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()
@@ -136,10 +138,10 b' def test_ipdb_magics():'
136 138 ----> 3 debugger.Pdb().set_trace()
137 139 <BLANKLINE>
138 140 ipdb> continue
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