mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
Issue #25951: Fix SSLSocket.sendall() to return None, by Aviv Palivoda
This commit is contained in:
parent
50badad807
commit
519f91215b
3 changed files with 13 additions and 7 deletions
|
@ -886,7 +886,6 @@ class SSLSocket(socket):
|
||||||
while (count < amount):
|
while (count < amount):
|
||||||
v = self.send(data[count:])
|
v = self.send(data[count:])
|
||||||
count += v
|
count += v
|
||||||
return amount
|
|
||||||
else:
|
else:
|
||||||
return socket.sendall(self, data, flags)
|
return socket.sendall(self, data, flags)
|
||||||
|
|
||||||
|
|
|
@ -2709,12 +2709,13 @@ if _have_threads:
|
||||||
count, addr = s.recvfrom_into(b)
|
count, addr = s.recvfrom_into(b)
|
||||||
return b[:count]
|
return b[:count]
|
||||||
|
|
||||||
# (name, method, whether to expect success, *args)
|
# (name, method, expect success?, *args, return value func)
|
||||||
send_methods = [
|
send_methods = [
|
||||||
('send', s.send, True, []),
|
('send', s.send, True, [], len),
|
||||||
('sendto', s.sendto, False, ["some.address"]),
|
('sendto', s.sendto, False, ["some.address"], len),
|
||||||
('sendall', s.sendall, True, []),
|
('sendall', s.sendall, True, [], lambda x: None),
|
||||||
]
|
]
|
||||||
|
# (name, method, whether to expect success, *args)
|
||||||
recv_methods = [
|
recv_methods = [
|
||||||
('recv', s.recv, True, []),
|
('recv', s.recv, True, []),
|
||||||
('recvfrom', s.recvfrom, False, ["some.address"]),
|
('recvfrom', s.recvfrom, False, ["some.address"]),
|
||||||
|
@ -2723,10 +2724,13 @@ if _have_threads:
|
||||||
]
|
]
|
||||||
data_prefix = "PREFIX_"
|
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')
|
indata = (data_prefix + meth_name).encode('ascii')
|
||||||
try:
|
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()
|
outdata = s.read()
|
||||||
if outdata != indata.lower():
|
if outdata != indata.lower():
|
||||||
self.fail(
|
self.fail(
|
||||||
|
|
|
@ -237,6 +237,9 @@ Core and Builtins
|
||||||
Library
|
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
|
- 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
|
large" if there are too many header fields to parse, rather than killing
|
||||||
the connection and raising an unhandled exception. Patch by Xiang Zhang.
|
the connection and raising an unhandled exception. Patch by Xiang Zhang.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue