[Python-checkins] cpython: Issue #25951: Fix SSLSocket.sendall() to return None, by Aviv Palivoda
martin.panter
python-checkins at python.org
Sat Apr 2 22:38:06 EDT 2016
https://hg.python.org/cpython/rev/92947704321c
changeset: 100839:92947704321c
user: Martin Panter <vadmium+py at gmail.com>
date: Sun Apr 03 02:12:54 2016 +0000
summary:
Issue #25951: Fix SSLSocket.sendall() to return None, by Aviv Palivoda
files:
Lib/ssl.py | 1 -
Lib/test/test_ssl.py | 18 +++++++++++-------
Misc/NEWS | 3 +++
3 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/Lib/ssl.py b/Lib/ssl.py
--- a/Lib/ssl.py
+++ b/Lib/ssl.py
@@ -886,7 +886,6 @@
while (count < amount):
v = self.send(data[count:])
count += v
- return amount
else:
return socket.sendall(self, data, flags)
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -2709,12 +2709,13 @@
count, addr = s.recvfrom_into(b)
return b[:count]
+ # (name, method, expect success?, *args, return value func)
+ send_methods = [
+ ('send', s.send, True, [], len),
+ ('sendto', s.sendto, False, ["some.address"], len),
+ ('sendall', s.sendall, True, [], lambda x: None),
+ ]
# (name, method, whether to expect success, *args)
- send_methods = [
- ('send', s.send, True, []),
- ('sendto', s.sendto, False, ["some.address"]),
- ('sendall', s.sendall, True, []),
- ]
recv_methods = [
('recv', s.recv, True, []),
('recvfrom', s.recvfrom, False, ["some.address"]),
@@ -2723,10 +2724,13 @@
]
data_prefix = "PREFIX_"
- for meth_name, send_meth, expect_success, args in send_methods:
+ for (meth_name, send_meth, expect_success, args,
+ ret_val_meth) in send_methods:
indata = (data_prefix + meth_name).encode('ascii')
try:
- send_meth(indata, *args)
+ ret = send_meth(indata, *args)
+ msg = "sending with {}".format(meth_name)
+ self.assertEqual(ret, ret_val_meth(indata), msg=msg)
outdata = s.read()
if outdata != indata.lower():
self.fail(
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -237,6 +237,9 @@
Library
-------
+- Issue #25951: Change SSLSocket.sendall() to return None, as explicitly
+ documented for plain socket objects. Patch by Aviv Palivoda.
+
- Issue #26586: In http.server, respond with "413 Request header fields too
large" if there are too many header fields to parse, rather than killing
the connection and raising an unhandled exception. Patch by Xiang Zhang.
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list