summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_subprocess.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2017-04-19 18:12:46 (GMT)
committerGitHub <noreply@github.com>2017-04-19 18:12:46 (GMT)
commit66bffd1663489d080349debbf1b472d432351038 (patch)
treebdbec28fed6a4e3ab35d620aaafb5193bab12557 /Lib/test/test_subprocess.py
parenta79f4c219531c05fc8f670c1e4bbf12c081935d3 (diff)
downloadcpython-66bffd1663489d080349debbf1b472d432351038.zip
cpython-66bffd1663489d080349debbf1b472d432351038.tar.gz
cpython-66bffd1663489d080349debbf1b472d432351038.tar.bz2
bpo-30065: Fixed arguments validation in _posixsubprocess.fork_exec(). (#1110)
Diffstat (limited to 'Lib/test/test_subprocess.py')
-rw-r--r--Lib/test/test_subprocess.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 8511207..f01bd1a 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -2418,7 +2418,7 @@ class POSIXProcessTestCase(BaseTestCase):
with self.assertRaises(TypeError):
_posixsubprocess.fork_exec(
args, exe_list,
- True, [], cwd, env_list,
+ True, (), cwd, env_list,
-1, -1, -1, -1,
1, 2, 3, 4,
True, True, func)
@@ -2430,6 +2430,16 @@ class POSIXProcessTestCase(BaseTestCase):
def test_fork_exec_sorted_fd_sanity_check(self):
# Issue #23564: sanity check the fork_exec() fds_to_keep sanity check.
import _posixsubprocess
+ class BadInt:
+ first = True
+ def __init__(self, value):
+ self.value = value
+ def __int__(self):
+ if self.first:
+ self.first = False
+ return self.value
+ raise ValueError
+
gc_enabled = gc.isenabled()
try:
gc.enable()
@@ -2440,6 +2450,7 @@ class POSIXProcessTestCase(BaseTestCase):
(18, 23, 42, 2**63), # Out of range.
(5, 4), # Not sorted.
(6, 7, 7, 8), # Duplicate.
+ (BadInt(1), BadInt(2)),
):
with self.assertRaises(
ValueError,