Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 46a05a7

Browse files
committed
The bufsize argument to Popen() should accept None meaning the default (0).
1 parent ad5b9de commit 46a05a7

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

Lib/subprocess.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,8 @@ def __init__(self, args, bufsize=0, executable=None,
465465
_cleanup()
466466

467467
self._child_created = False
468+
if bufsize is None:
469+
bufsize = 0 # Restore default
468470
if not isinstance(bufsize, int):
469471
raise TypeError("bufsize must be an integer")
470472

Lib/test/test_subprocess.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,14 @@ def test_invalid_bufsize(self):
455455
else:
456456
self.fail("Expected TypeError")
457457

458+
def test_bufsize_is_none(self):
459+
# bufsize=None should be the same as bufsize=0.
460+
p = subprocess.Popen([sys.executable, "-c", "pass"], None)
461+
self.assertEqual(p.wait(), 0)
462+
# Again with keyword arg
463+
p = subprocess.Popen([sys.executable, "-c", "pass"], bufsize=None)
464+
self.assertEqual(p.wait(), 0)
465+
458466
#
459467
# POSIX tests
460468
#

0 commit comments

Comments
 (0)