Subject: [PATCH] gnu: python: Disable failing tests for the Hurd.

From: Jan Nieuwenhuizen <[email-masked]>
Date: Thu, 08 Oct 2020 08:26:26 +0200

Hi!

This patch disables 27 additional tests for the Hurd, and enabled me to
build (a copy of) python-minimal natively

--8<---------------cut here---------------start------------->8---
/gnu/store/9xm1idqyvyyz6xcqaa20aw2p8ap9zxcj-python-hurd-minimal-3.8.2
--8<---------------cut here---------------end--------------->8---

That sounds bad, but Debian disables ~15 tests by default (varies per
platform), where we only disable test_socket, and 17 additional for the
Hurd:

    https://salsa.debian.org/cpython-team/python3/-/raw/python3.8/debian/rules

and our exclude sets have some overlap, but also some "underlap"...

It's tempting to do

--8<---------------cut here---------------start------------->8---
#:tests? ,(not (hurd-target?))
--8<---------------cut here---------------end--------------->8---

just like https://bugs.gnu.org/43857 suggests:

    "rather not fiddle too much with test suites until we have defined
     what’s available in the default build environment."

on the other hand, now some 350 tests run and pass.  (It would be nice
if Python had a less fragile test suite, or if packages (the GNU
standard?) defined a "smoke test" we could run.)

Then there is also this 2013 bug report in Debian

    https://bugs.debian.org/708652
    "hurd has several tests disabled because they hang the testsuite, at
     least on the buildds. These should be investigated..."

and we/they probably will, when someone finds the time.

One last thing: pushing this patch rebuilds world for the Hurd; probably
not the best timing to push today?  Ideas?

Greetings,
Janneke

>From 66eb46ed2f7166bff6d17dcbfe64f195ec1bb6b3 Mon Sep 17 00:00:00 2001
From: "Jan (janneke) Nieuwenhuizen" <[email-masked]>
Date: Wed, 7 Oct 2020 23:01:26 +0200
Subject: [PATCH] gnu: python: Disable failing tests for the Hurd.
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8

* gnu/packages/python.scm (python-3.8)[arguments]: When building for the Hurd,
disable more tests.
---
 gnu/packages/python.scm | 34 +++++++++++++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8f2651decf..43704bccae 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -395,7 +395,39 @@ data types.")
                 " --exclude test_mmap"
                 ;; test_socket may hang and eventually run out of memory
                 ;; on some systems: <https://bugs.python.org/issue34587>.
-                " test_socket")))
+                " test_socket"
+                ,@(if (hurd-target?)
+                      '(" test_posix"      ;multiple errors
+                        " test_time"
+                        " test_pty"
+                        " test_shutil"
+                        " test_tempfile"   ;chflags: invalid argument:
+                                           ;  tbv14c9t/dir0/dir0/dir0/test0.txt
+                        " test_asyncio"    ;runs over 10min
+                        " test_os"         ;stty: 'standard input':
+                                           ;  Inappropriate ioctl for device
+                        " test_openpty"    ;No such file or directory
+                        " test_selectors"  ;assertEqual(NUM_FDS // 2, len(fds))
+                                           ;  32752 != 4
+                        " test_compileall" ;multiple errors
+                        " test_poll"       ;list index out of range
+                        " test_subprocess" ;runs over 10min
+                        " test_asyncore"   ;multiple errors
+                        " test_threadsignals"
+                        " test_eintr"      ;Process return code is -14
+                        " test_io"         ;multiple errors
+                        " test_logging"
+                        " test_signal"
+                        " test_threading"  ;runs over 10min
+                        " test_flags"      ;ERROR
+                        " test_bidirectional_pty"
+                        " test_create_unix_connection"
+                        " test_unix_sock_client_ops"
+                        " test_open_unix_connection"
+                        " test_open_unix_connection_error"
+                        " test_read_pty_output"
+                        " test_write_pty")
+                      '()))))
        ((#:phases phases)
        `(modify-phases ,phases
           ,@(if (hurd-system?)
-- 
Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

-- 
Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com