Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f77ccc6

Browse files
author
Victor Stinner
committed
test_faulthandler: improve the test on dump_tracebacks_later(cancel=True)
1 parent 1b3241f commit f77ccc6

1 file changed

Lines changed: 15 additions & 18 deletions

File tree

Lib/test/test_faulthandler.py

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -358,25 +358,19 @@ def _check_dump_tracebacks_later(self, repeat, cancel, filename):
358358
import time
359359
360360
def func(repeat, cancel, timeout):
361+
if cancel:
362+
faulthandler.cancel_dump_tracebacks_later()
363+
361364
pause = timeout * 2.5
362365
# on Windows XP, b-a gives 1.249931 after sleep(1.25)
363366
min_pause = pause * 0.9
364367
a = time.time()
365368
time.sleep(pause)
366-
faulthandler.cancel_dump_tracebacks_later()
367369
b = time.time()
370+
faulthandler.cancel_dump_tracebacks_later()
368371
# Check that sleep() was not interrupted
369372
assert (b - a) >= min_pause, "{{}} < {{}}".format(b - a, min_pause)
370373
371-
if cancel:
372-
pause = timeout * 1.5
373-
min_pause = pause * 0.9
374-
a = time.time()
375-
time.sleep(pause)
376-
b = time.time()
377-
# Check that sleep() was not interrupted
378-
assert (b - a) >= min_pause, "{{}} < {{}}".format(b - a, min_pause)
379-
380374
timeout = {timeout}
381375
repeat = {repeat}
382376
cancel = {cancel}
@@ -400,13 +394,16 @@ def func(repeat, cancel, timeout):
400394
trace, exitcode = self.get_output(code, filename)
401395
trace = '\n'.join(trace)
402396

403-
if repeat:
404-
count = 2
397+
if not cancel:
398+
if repeat:
399+
count = 2
400+
else:
401+
count = 1
402+
header = 'Thread 0x[0-9a-f]+:\n'
403+
regex = expected_traceback(12, 27, header, count=count)
404+
self.assertRegex(trace, regex)
405405
else:
406-
count = 1
407-
header = 'Thread 0x[0-9a-f]+:\n'
408-
regex = expected_traceback(9, 33, header, count=count)
409-
self.assertRegex(trace, regex)
406+
self.assertEqual(trace, '')
410407
self.assertEqual(exitcode, 0)
411408

412409
@unittest.skipIf(not hasattr(faulthandler, 'dump_tracebacks_later'),
@@ -425,8 +422,8 @@ def test_dump_tracebacks_later(self):
425422
def test_dump_tracebacks_later_repeat(self):
426423
self.check_dump_tracebacks_later(repeat=True)
427424

428-
def test_dump_tracebacks_later_repeat_cancel(self):
429-
self.check_dump_tracebacks_later(repeat=True, cancel=True)
425+
def test_dump_tracebacks_later_cancel(self):
426+
self.check_dump_tracebacks_later(cancel=True)
430427

431428
def test_dump_tracebacks_later_file(self):
432429
self.check_dump_tracebacks_later(file=True)

0 commit comments

Comments
 (0)