diff options
author | Peter Astrand <astrand@lysator.liu.se> | 2004-11-30 21:04:45 (GMT) |
---|---|---|
committer | Peter Astrand <astrand@lysator.liu.se> | 2004-11-30 21:04:45 (GMT) |
commit | 738131d39130563ad75e73ed544e2a3edbae64f2 (patch) | |
tree | 533279296575d1ade838fe29360197cea8a6ec04 /Lib | |
parent | 6fdf3cbb13077d44f14251034a31b512ebc9005a (diff) | |
download | cpython-738131d39130563ad75e73ed544e2a3edbae64f2.zip cpython-738131d39130563ad75e73ed544e2a3edbae64f2.tar.gz cpython-738131d39130563ad75e73ed544e2a3edbae64f2.tar.bz2 |
Raise TypeError if bufsize argument is not an integer. Patch 1071755, slightly modified.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/subprocess.py | 3 | ||||
-rw-r--r-- | Lib/test/test_subprocess.py | 11 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Lib/subprocess.py b/Lib/subprocess.py index 8d0204e..9e326fb 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -504,6 +504,9 @@ class Popen(object): """Create new Popen instance.""" _cleanup() + if not isinstance(bufsize, (int, long)): + raise TypeError("bufsize must be an integer") + if mswindows: if preexec_fn is not None: raise ValueError("preexec_fn is not supported on Windows " diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index 9f7184f..b26d40c 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -394,6 +394,17 @@ class ProcessTestCase(unittest.TestCase): # Subsequent invocations should just return the returncode self.assertEqual(p.wait(), 0) + + def test_invalid_bufsize(self): + # an invalid type of the bufsize argument should raise + # TypeError. + try: + subprocess.Popen([sys.executable, "-c", "pass"], "orange") + except TypeError: + pass + else: + self.fail("Expected TypeError") + # # POSIX tests # |