cpython/Lib/test/test_eintr.py
Victor Stinner f11d0d2c0d Issue #25122: try to debug test_eintr hang on FreeBSD
* Add verbose mode to test_eintr
* Always enable verbose mode in test_eintr
* Use faulthandler.dump_traceback_later() with a timeout of 15 minutes in
  eintr_tester.py
2015-09-15 12:15:59 +02:00

31 lines
966 B
Python

import os
import signal
import subprocess
import sys
import unittest
from test import support
from test.support import script_helper
@unittest.skipUnless(os.name == "posix", "only supported on Unix")
class EINTRTests(unittest.TestCase):
@unittest.skipUnless(hasattr(signal, "setitimer"), "requires setitimer()")
def test_all(self):
# Run the tester in a sub-process, to make sure there is only one
# thread (for reliable signal delivery).
tester = support.findfile("eintr_tester.py", subdir="eintrdata")
# FIXME: Issue #25122, always run in verbose mode to debug hang on FreeBSD
if True: #support.verbose:
args = [sys.executable, tester]
with subprocess.Popen(args, stdout=sys.stderr) as proc:
exitcode = proc.wait()
self.assertEqual(exitcode, 0)
else:
script_helper.assert_python_ok(tester)
if __name__ == "__main__":
unittest.main()