[Python-checkins] bpo-41682: fixed flaky test test_sendfile_close_peer_in_the_middle_of_receiving (GH-30845) (#30860)

vstinner webhook-mailer at python.org
Tue Jan 25 12:40:35 EST 2022


https://github.com/python/cpython/commit/75d88b91e6b1320ae0511eaf72e860bea913a3eb
commit: 75d88b91e6b1320ae0511eaf72e860bea913a3eb
branch: 3.10
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: vstinner <vstinner at python.org>
date: 2022-01-25T18:40:13+01:00
summary:

bpo-41682: fixed flaky test test_sendfile_close_peer_in_the_middle_of_receiving (GH-30845) (#30860)

(cherry picked from commit 1c705fda8f9902906edd26d46acb0433b0b098e1)

Co-authored-by: Kumar Aditya <59607654+kumaraditya303 at users.noreply.github.com>

Co-authored-by: Kumar Aditya <59607654+kumaraditya303 at users.noreply.github.com>

files:
M Lib/test/test_asyncio/test_sendfile.py

diff --git a/Lib/test/test_asyncio/test_sendfile.py b/Lib/test/test_asyncio/test_sendfile.py
index c8bfa892c73fc..effca6644c062 100644
--- a/Lib/test/test_asyncio/test_sendfile.py
+++ b/Lib/test/test_asyncio/test_sendfile.py
@@ -92,9 +92,13 @@ async def wait_closed(self):
 
 class SendfileBase:
 
-      # 128 KiB plus small unaligned to buffer chunk
-    DATA = b"SendfileBaseData" * (1024 * 8 + 1)
-
+    # 256 KiB plus small unaligned to buffer chunk
+    # Newer versions of Windows seems to have increased its internal 
+    # buffer and tries to send as much of the data as it can as it 
+    # has some form of buffering for this which is less than 256KiB
+    # on newer server versions and Windows 11.
+    # So DATA should be larger than 256 KiB to make this test reliable.
+    DATA = b"x" * (1024 * 256 + 1)
     # Reduce socket buffer size to test on relative small data sets.
     BUF_SIZE = 4 * 1024   # 4 KiB
 
@@ -456,8 +460,6 @@ def test_sendfile_ssl_close_peer_after_receiving(self):
     # themselves).
     @unittest.skipIf(sys.platform.startswith('sunos'),
                      "Doesn't work on Solaris")
-    @unittest.skipIf(sys.platform == "win32",
-                     "It is flaky on Windows and needs to be fixed")  # TODO: bpo-41682
     def test_sendfile_close_peer_in_the_middle_of_receiving(self):
         srv_proto, cli_proto = self.prepare_sendfile(close_after=1024)
         with self.assertRaises(ConnectionError):



More information about the Python-checkins mailing list