summaryrefslogtreecommitdiff
path: root/Lib/test/test_subprocess.py
diff options
context:
space:
mode:
authorGustavo Niemeyer <gustavo@niemeyer.net>2006-09-06 22:44:51 +0000
committerGustavo Niemeyer <gustavo@niemeyer.net>2006-09-06 22:44:51 +0000
commitd1b1b8c8827212252f69941562e7989388990a5a (patch)
tree6cb4ecaea796251578c757f23692adbd38203f80 /Lib/test/test_subprocess.py
parent8a230b50a160ba8ade992ffd8c35deeab8fbdd38 (diff)
downloadcpython-git-d1b1b8c8827212252f69941562e7989388990a5a.tar.gz
Fixed bug #1531862: Do not close standard file descriptors in subprocess.
Let's try that once more. Buildbots were broken last time, but probably because tests were sending data to stderr for testing it (sending to a file doesn't touch the problem). The fix is still the same, but tests were reduced (removing tests to be able to fix something is weird, but oh well).
Diffstat (limited to 'Lib/test/test_subprocess.py')
-rw-r--r--Lib/test/test_subprocess.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 8c8ac405f8..19a31ea8f0 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -234,6 +234,18 @@ class ProcessTestCase(unittest.TestCase):
stripped = remove_stderr_debug_decorations(output)
self.assertEqual(stripped, "appleorange")
+ def test_stdout_filedes_of_stdout(self):
+ # stdout is set to 1 (#1531862).
+ cmd = r"import sys, os; sys.exit(os.write(sys.stdout.fileno(), '.\n'))"
+ rc = subprocess.call([sys.executable, "-c", cmd], stdout=1)
+ self.assertEquals(rc, 2)
+
+ def test_stdout_fileobj_of_stdout(self):
+ # stdout is set to sys.stdout (#1531862).
+ cmd = r"import sys, os; sys.exit(os.write(sys.stdout.fileno(), '.\n'))"
+ rc = subprocess.call([sys.executable, "-c", cmd], stdout=sys.stdout)
+ self.assertEquals(rc, 2)
+
def test_cwd(self):
tmpdir = os.getenv("TEMP", "/tmp")
# We cannot use os.path.realpath to canonicalize the path,