summaryrefslogtreecommitdiff
path: root/Lib/test/test_posix.py
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-04-10 22:43:05 +0000
committerAntoine Pitrou <solipsis@pitrou.net>2010-04-10 22:43:05 +0000
commit16e026cc943460b83a08c058ba4e87c5abf36215 (patch)
tree77a5692e5b8369dbfc2cb99634f8d844020bf582 /Lib/test/test_posix.py
parentcdd98fb4634f6d3fc0815bfe490e1076e8b6ee9e (diff)
downloadcpython-git-16e026cc943460b83a08c058ba4e87c5abf36215.tar.gz
Temporary commit of fix to issue #5380 (in order to watch buildbot response)
Diffstat (limited to 'Lib/test/test_posix.py')
-rw-r--r--Lib/test/test_posix.py24
1 files changed, 21 insertions, 3 deletions
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index afeb616ddc..3caf82493f 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -280,11 +280,29 @@ class PosixTester(unittest.TestCase):
if hasattr(posix, 'strerror'):
self.assertTrue(posix.strerror(0))
+ def check_pipe_func(self, pipe_func):
+ master_fd, slave_fd = pipe_func()
+ try:
+ # Simulate a subprocess writing some data to the
+ # slave end of the pipe, and then exiting.
+ data = b'TEST DATA'
+ try:
+ os.write(slave_fd, data)
+ finally:
+ os.close(slave_fd)
+ # Request more data than available
+ gotdata = os.read(master_fd, len(data) + 1)
+ self.assertEqual(gotdata, data)
+ finally:
+ os.close(master_fd)
+
def test_pipe(self):
if hasattr(posix, 'pipe'):
- reader, writer = posix.pipe()
- os.close(reader)
- os.close(writer)
+ self.check_pipe_func(posix.pipe)
+
+ def test_openpty(self):
+ if hasattr(posix, 'openpty'):
+ self.check_pipe_func(posix.openpty)
def test_tempnam(self):
if hasattr(posix, 'tempnam'):