summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_eintr.py
diff options
context:
space:
mode:
authorCharles-François Natali <cf.natali@gmail.com>2015-02-07 13:27:50 (GMT)
committerCharles-François Natali <cf.natali@gmail.com>2015-02-07 13:27:50 (GMT)
commit6e6c59b5085668f6047eb91bd671747b13fa36d1 (patch)
tree8f1c506e399e201d40f8009a081039a071f875aa /Lib/test/test_eintr.py
parentd005090e01b46f00494f9f268b4c8dc2b28ffe2c (diff)
downloadcpython-6e6c59b5085668f6047eb91bd671747b13fa36d1.zip
cpython-6e6c59b5085668f6047eb91bd671747b13fa36d1.tar.gz
cpython-6e6c59b5085668f6047eb91bd671747b13fa36d1.tar.bz2
Issue #23285: PEP 475 -- Retry system calls failing with EINTR.
Diffstat (limited to 'Lib/test/test_eintr.py')
-rw-r--r--Lib/test/test_eintr.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/Lib/test/test_eintr.py b/Lib/test/test_eintr.py
new file mode 100644
index 0000000..8b5f507
--- /dev/null
+++ b/Lib/test/test_eintr.py
@@ -0,0 +1,20 @@
+import os
+import signal
+import unittest
+
+from test import script_helper, support
+
+
+@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")
+ script_helper.assert_python_ok(tester)
+
+
+if __name__ == "__main__":
+ unittest.main()