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