]> granicus.if.org Git - python/commitdiff
bpo-23749: Make start-tls tests more stable on win7 buildbot (GH-5409)
authorYury Selivanov <yury@magic.io>
Mon, 29 Jan 2018 05:25:05 +0000 (00:25 -0500)
committerGitHub <noreply@github.com>
Mon, 29 Jan 2018 05:25:05 +0000 (00:25 -0500)
To mitigate the situation when the buildbot is under load
and is unable to send/receive data fast enough:

* reduce the size of the payload
* set a generous timeout for socket ops

Lib/test/test_asyncio/test_sslproto.py

index 475f494b670562df46b8574986db6d91635afd56..c4c30bedb4ec2576a85a3cbfc22440e80598c0dd 100644 (file)
@@ -2,6 +2,7 @@
 
 import os
 import logging
+import time
 import unittest
 from unittest import mock
 try:
@@ -171,12 +172,14 @@ class BaseStartTLS(func_tests.FunctionalTestCaseMixin):
         raise NotImplementedError
 
     def test_start_tls_client_1(self):
-        HELLO_MSG = b'1' * 1024 * 1024 * 5
+        HELLO_MSG = b'1' * 1024 * 1024
 
         server_context = test_utils.simple_server_sslcontext()
         client_context = test_utils.simple_client_sslcontext()
 
         def serve(sock):
+            sock.settimeout(5)
+
             data = sock.recv_all(len(HELLO_MSG))
             self.assertEqual(len(data), len(HELLO_MSG))
 
@@ -205,6 +208,8 @@ class BaseStartTLS(func_tests.FunctionalTestCaseMixin):
                 self.on_eof.set_result(True)
 
         async def client(addr):
+            await asyncio.sleep(0.5, loop=self.loop)
+
             on_data = self.loop.create_future()
             on_eof = self.loop.create_future()
 
@@ -225,12 +230,15 @@ class BaseStartTLS(func_tests.FunctionalTestCaseMixin):
                 asyncio.wait_for(client(srv.addr), loop=self.loop, timeout=10))
 
     def test_start_tls_server_1(self):
-        HELLO_MSG = b'1' * 1024 * 1024 * 5
+        HELLO_MSG = b'1' * 1024 * 1024
 
         server_context = test_utils.simple_server_sslcontext()
         client_context = test_utils.simple_client_sslcontext()
 
         def client(sock, addr):
+            time.sleep(0.5)
+            sock.settimeout(5)
+
             sock.connect(addr)
             data = sock.recv_all(len(HELLO_MSG))
             self.assertEqual(len(data), len(HELLO_MSG))