Commit 301f3f09 authored by Victor Stinner's avatar Victor Stinner

test_faulthandler: use a longer sleep (2.5 sec instead of 1.3 sec) in

_check_dump_tracebacks_later() to avoid failures if the system is slow.
parent ebbbdafd
...@@ -29,13 +29,14 @@ else: ...@@ -29,13 +29,14 @@ else:
except (ValueError, resource_error): except (ValueError, resource_error):
pass pass
def expected_traceback(lineno1, lineno2, header, count=1): def expected_traceback(lineno1, lineno2, header, min_count=1):
regex = header regex = header
regex += ' File "<string>", line %s in func\n' % lineno1 regex += ' File "<string>", line %s in func\n' % lineno1
regex += ' File "<string>", line %s in <module>' % lineno2 regex += ' File "<string>", line %s in <module>' % lineno2
if count != 1: if 1 < min_count:
regex = (regex + '\n') * (count - 1) + regex return '^' + (regex + '\n') * (min_count - 1) + regex
return '^' + regex + '$' else:
return '^' + regex + '$'
@contextmanager @contextmanager
def temporary_filename(): def temporary_filename():
...@@ -371,7 +372,7 @@ def func(timeout, repeat, cancel, file, loops): ...@@ -371,7 +372,7 @@ def func(timeout, repeat, cancel, file, loops):
faulthandler.dump_tracebacks_later(timeout, repeat=repeat, file=file) faulthandler.dump_tracebacks_later(timeout, repeat=repeat, file=file)
if cancel: if cancel:
faulthandler.cancel_dump_tracebacks_later() faulthandler.cancel_dump_tracebacks_later()
time.sleep(timeout * 2.5) time.sleep(timeout * 5)
faulthandler.cancel_dump_tracebacks_later() faulthandler.cancel_dump_tracebacks_later()
timeout = {timeout} timeout = {timeout}
...@@ -402,7 +403,7 @@ if file is not None: ...@@ -402,7 +403,7 @@ if file is not None:
if repeat: if repeat:
count *= 2 count *= 2
header = r'Timeout \(%s\)!\nThread 0x[0-9a-f]+:\n' % timeout_str header = r'Timeout \(%s\)!\nThread 0x[0-9a-f]+:\n' % timeout_str
regex = expected_traceback(9, 20, header, count=count) regex = expected_traceback(9, 20, header, min_count=count)
self.assertRegex(trace, regex) self.assertRegex(trace, regex)
else: else:
self.assertEqual(trace, '') self.assertEqual(trace, '')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment