@@ -147,29 +147,6 @@ def test_func():
147
147
assert rep .failed
148
148
assert len (pdblist ) == 1
149
149
150
- def test_pdb_interaction (self , testdir ):
151
- p1 = testdir .makepyfile (
152
- """
153
- def test_1():
154
- i = 0
155
- assert i == 1
156
-
157
- def test_not_called_due_to_quit():
158
- pass
159
- """
160
- )
161
- child = testdir .spawn_pytest ("--pdb %s" % p1 )
162
- child .expect (".*def test_1" )
163
- child .expect (".*i = 0" )
164
- child .expect ("Pdb" )
165
- child .sendeof ()
166
- rest = child .read ().decode ("utf8" )
167
- assert "= 1 failed in" in rest
168
- assert "def test_1" not in rest
169
- assert "Exit: Quitting debugger" in rest
170
- assert "PDB continue (IO-capturing resumed)" not in rest
171
- self .flush (child )
172
-
173
150
@staticmethod
174
151
def flush (child ):
175
152
if platform .system () == "Darwin" :
@@ -214,40 +191,32 @@ def test_one(self):
214
191
child .sendeof ()
215
192
self .flush (child )
216
193
217
- def test_pdb_print_captured_stdout (self , testdir ):
194
+ def test_pdb_print_captured_stdout_and_stderr (self , testdir ):
218
195
p1 = testdir .makepyfile (
219
196
"""
220
197
def test_1():
198
+ import sys
199
+ sys.stderr.write("get\\ x20rekt")
221
200
print("get\\ x20rekt")
222
201
assert False
202
+
203
+ def test_not_called_due_to_quit():
204
+ pass
223
205
"""
224
206
)
225
207
child = testdir .spawn_pytest ("--pdb %s" % p1 )
226
208
child .expect ("captured stdout" )
227
209
child .expect ("get rekt" )
228
- child .expect ("Pdb" )
229
- child .sendeof ()
230
- rest = child .read ().decode ("utf8" )
231
- assert "1 failed" in rest
232
- assert "get rekt" not in rest
233
- self .flush (child )
234
-
235
- def test_pdb_print_captured_stderr (self , testdir ):
236
- p1 = testdir .makepyfile (
237
- """
238
- def test_1():
239
- import sys
240
- sys.stderr.write("get\\ x20rekt")
241
- assert False
242
- """
243
- )
244
- child = testdir .spawn_pytest ("--pdb %s" % p1 )
245
210
child .expect ("captured stderr" )
246
211
child .expect ("get rekt" )
212
+ child .expect ("traceback" )
213
+ child .expect ("def test_1" )
247
214
child .expect ("Pdb" )
248
215
child .sendeof ()
249
216
rest = child .read ().decode ("utf8" )
250
- assert "1 failed" in rest
217
+ assert "Exit: Quitting debugger" in rest
218
+ assert "= 1 failed in" in rest
219
+ assert "def test_1" not in rest
251
220
assert "get rekt" not in rest
252
221
self .flush (child )
253
222
@@ -375,15 +344,17 @@ def test_1():
375
344
i = 0
376
345
print("hello17")
377
346
pytest.set_trace()
378
- x = 3
347
+ i == 1
348
+ assert 0
379
349
"""
380
350
)
381
351
child = testdir .spawn_pytest (str (p1 ))
382
- child .expect ("test_1" )
383
- child .expect ("x = 3 " )
352
+ child .expect (r "test_1\(\) " )
353
+ child .expect ("i == 1 " )
384
354
child .expect ("Pdb" )
385
- child .sendeof ( )
355
+ child .sendline ( "c" )
386
356
rest = child .read ().decode ("utf-8" )
357
+ assert "AssertionError" in rest
387
358
assert "1 failed" in rest
388
359
assert "def test_1" in rest
389
360
assert "hello17" in rest # out is captured
@@ -398,13 +369,14 @@ def test_1():
398
369
print("hello17")
399
370
pytest.set_trace(header="== my_header ==")
400
371
x = 3
372
+ assert 0
401
373
"""
402
374
)
403
375
child = testdir .spawn_pytest (str (p1 ))
404
376
child .expect ("== my_header ==" )
405
377
assert "PDB set_trace" not in child .before .decode ()
406
378
child .expect ("Pdb" )
407
- child .sendeof ( )
379
+ child .sendline ( "c" )
408
380
rest = child .read ().decode ("utf-8" )
409
381
assert "1 failed" in rest
410
382
assert "def test_1" in rest
@@ -424,9 +396,9 @@ def test_1():
424
396
child .expect ("Pdb" )
425
397
child .sendeof ()
426
398
rest = child .read ().decode ("utf8" )
427
- assert "1 failed " in rest
399
+ assert "no tests ran " in rest
428
400
assert "reading from stdin while output" not in rest
429
- assert "BdbQuit" in rest
401
+ assert "BdbQuit" not in rest
430
402
self .flush (child )
431
403
432
404
def test_pdb_and_capsys (self , testdir ):
@@ -518,6 +490,7 @@ def test_1():
518
490
print("hello18")
519
491
pytest.set_trace()
520
492
x = 4
493
+ assert 0
521
494
"""
522
495
)
523
496
child = testdir .spawn_pytest (str (p1 ))
@@ -530,11 +503,11 @@ def test_1():
530
503
child .expect (r"PDB set_trace \(IO-capturing turned off\)" )
531
504
child .expect ("x = 4" )
532
505
child .expect ("Pdb" )
533
- child .sendeof ( )
506
+ child .sendline ( "c" )
534
507
child .expect ("_ test_1 _" )
535
508
child .expect ("def test_1" )
536
- child .expect ("Captured stdout call" )
537
509
rest = child .read ().decode ("utf8" )
510
+ assert "Captured stdout call" in rest
538
511
assert "hello17" in rest # out is captured
539
512
assert "hello18" in rest # out is captured
540
513
assert "1 failed" in rest
@@ -826,15 +799,26 @@ def test_trace_sets_breakpoint(self, testdir):
826
799
"""
827
800
def test_1():
828
801
assert True
802
+
803
+ def test_2():
804
+ pass
805
+
806
+ def test_3():
807
+ pass
829
808
"""
830
809
)
831
810
child = testdir .spawn_pytest ("--trace " + str (p1 ))
832
811
child .expect ("test_1" )
833
812
child .expect ("Pdb" )
834
- child .sendeof ()
813
+ child .sendline ("c" )
814
+ child .expect ("test_2" )
815
+ child .expect ("Pdb" )
816
+ child .sendline ("q" )
817
+ child .expect_exact ("Exit: Quitting debugger" )
835
818
rest = child .read ().decode ("utf8" )
836
- assert "1 passed" in rest
819
+ assert "1 passed in " in rest
837
820
assert "reading from stdin while output" not in rest
821
+ assert "Exit: Quitting debugger" in child .before .decode ("utf8" )
838
822
TestPDB .flush (child )
839
823
840
824
0 commit comments