Mercurial > cpython-lru_cache-weakref
diff Lib/test/test_subprocess.py @ 82916:3ecf709dfe69 3.2
Fixes issue #17488: Change the subprocess.Popen bufsize parameter default value
from unbuffered (0) to buffering (-1) to match the behavior existing code
expects and match the behavior of the subprocess module in Python 2 to avoid
introducing hard to track down bugs.
| author | Gregory P. Smith <greg@krypto.org> |
|---|---|
| date | Sat, 23 Mar 2013 11:44:25 -0700 |
| parents | 222505a5aeac |
| children | 4c2fc172afcc |
line wrap: on
line diff
--- a/Lib/test/test_subprocess.py Sat Mar 23 11:18:45 2013 +0000 +++ b/Lib/test/test_subprocess.py Sat Mar 23 11:44:25 2013 -0700 @@ -79,6 +79,28 @@ class ProcessTestCase(BaseTestCase): + def test_io_buffered_by_default(self): + p = subprocess.Popen([sys.executable, "-c", "import sys; sys.exit(0)"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + try: + self.assertIsInstance(p.stdin, io.BufferedIOBase) + self.assertIsInstance(p.stdout, io.BufferedIOBase) + self.assertIsInstance(p.stderr, io.BufferedIOBase) + finally: + p.wait() + + def test_io_unbuffered_works(self): + p = subprocess.Popen([sys.executable, "-c", "import sys; sys.exit(0)"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, bufsize=0) + try: + self.assertIsInstance(p.stdin, io.RawIOBase) + self.assertIsInstance(p.stdout, io.RawIOBase) + self.assertIsInstance(p.stderr, io.RawIOBase) + finally: + p.wait() + def test_call_seq(self): # call() function with sequence argument rc = subprocess.call([sys.executable, "-c",
