From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50611) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gGkOP-0008W2-EU for guix-patches@gnu.org; Sun, 28 Oct 2018 08:42:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gGkOK-0004aB-TO for guix-patches@gnu.org; Sun, 28 Oct 2018 08:42:09 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:42541) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gGkOK-0004a3-Om for guix-patches@gnu.org; Sun, 28 Oct 2018 08:42:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gGkOK-0007No-Lx for guix-patches@gnu.org; Sun, 28 Oct 2018 08:42:04 -0400 Subject: [bug#33186] [PATCH 7/7] gnu: python-3.6: Disable congestion test. Resent-Message-ID: From: Mathieu Othacehe Date: Sun, 28 Oct 2018 21:40:43 +0900 Message-Id: <20181028124043.21773-8-m.othacehe@gmail.com> In-Reply-To: <20181028124043.21773-2-m.othacehe@gmail.com> References: <20181028124043.21773-2-m.othacehe@gmail.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 33186@debbugs.gnu.org The socket congestion test is known to hang or fail randomly. It is disabled on python 3.6 branch upstream. * gnu/packages/patches/python-disable-congestion-test.patch: New file. * gnu/packages/python.scm (python-3.6)[patches]: Add the previous patch. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + .../python-disable-congestion-test.patch | 60 +++++++++++++++++++ gnu/packages/python.scm | 1 + 3 files changed, 62 insertions(+) create mode 100644 gnu/packages/patches/python-disable-congestion-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0828f4358..11974903d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1078,6 +1078,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-search-paths.patch \ %D%/packages/patches/python-3-fix-tests.patch \ %D%/packages/patches/python-CVE-2018-14647.patch \ + %D%/packages/patches/python-disable-congestion-test.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \ %D%/packages/patches/python-fix-tests.patch \ diff --git a/gnu/packages/patches/python-disable-congestion-test.patch b/gnu/packages/patches/python-disable-congestion-test.patch new file mode 100644 index 000000000..eca2379cf --- /dev/null +++ b/gnu/packages/patches/python-disable-congestion-test.patch @@ -0,0 +1,60 @@ +This patch is taken from python upstream repository: + https://bugs.python.org/issue34587. + +From 7484bdfd1e2e33fdd2c44dd4ffa044aacd495337 Mon Sep 17 00:00:00 2001 +From: Victor Stinner +Date: Mon, 17 Sep 2018 14:01:20 -0700 +Subject: [PATCH] bpo-34587, test_socket: remove RDSTest.testCongestion() + (GH-9277) + +The test tries to fill the receiver's socket buffer and expects an +error. But the RDS protocol doesn't require that. Moreover, the Linux +implementation of RDS expects that the producer of the messages +reduces its rate, it's not the role of the receiver to trigger an +error. + +The test fails on Fedora 28 by design, so remove it. +--- + Lib/test/test_socket.py | 27 ------------------- + .../2018-09-13-20-58-07.bpo-34587.rCcxp3.rst | 5 ++++ + 2 files changed, 5 insertions(+), 27 deletions(-) + create mode 100644 Misc/NEWS.d/next/Tests/2018-09-13-20-58-07.bpo-34587.rCcxp3.rst + +diff --git Lib/test/test_socket.py Lib/test/test_socket.py +index 4f3c4774e4..f4d58ebf71 100644 +--- Lib/test/test_socket.py ++++ Lib/test/test_socket.py +@@ -2054,33 +2054,6 @@ class RDSTest(ThreadedRDSSocketTest): + self.data = b'select' + self.cli.sendto(self.data, 0, (HOST, self.port)) + +- def testCongestion(self): +- # wait until the sender is done +- self.evt.wait() +- +- def _testCongestion(self): +- # test the behavior in case of congestion +- self.data = b'fill' +- self.cli.setblocking(False) +- try: +- # try to lower the receiver's socket buffer size +- self.cli.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 16384) +- except OSError: +- pass +- with self.assertRaises(OSError) as cm: +- try: +- # fill the receiver's socket buffer +- while True: +- self.cli.sendto(self.data, 0, (HOST, self.port)) +- finally: +- # signal the receiver we're done +- self.evt.set() +- # sendto() should have failed with ENOBUFS +- self.assertEqual(cm.exception.errno, errno.ENOBUFS) +- # and we should have received a congestion notification through poll +- r, w, x = select.select([self.serv], [], [], 3.0) +- self.assertIn(self.serv, r) +- + + @unittest.skipIf(fcntl is None, "need fcntl") + @unittest.skipUnless(HAVE_SOCKET_VSOCK, diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index fbb280224..37755287c 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -377,6 +377,7 @@ data types.") (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) (patches (search-patches + "python-disable-congestion-test.patch" "python-fix-tests.patch" "python-3-fix-tests.patch" "python-3-deterministic-build-info.patch" -- 2.17.1