[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#758718: perl-5.20 testsuite: Skip selected tests on GNU/Hurd



Source: perl
Version: 5.20.0-4
Severity: important
Tags: patch
User: debian-hurd@lists.debian.org
Usertags: hurd

Hello,

The latest sid release of perl 5.20-4, FTBFS on GNU/Hurd due to a few
testsuite failures. With the (upcoming) release of glibc 2.19-10 one
test failure goes away: re/regexp_qr_embed_thr.t.

Three remains:
t/op/lfs.t
ext/Fcntl/t/syslfs.t
t/io/socket.t

The first two are related to Large File Support which is not supported
on Hurd (gets skipped when built on a buildd not manually?).

The third failed test is one of 13 socket sub-tests:
not ok 11 - peer from recv() should be empty or the remote name

According to Samuel Thibault this test is questionable and should be
discussed with upstream:
"The test seems fishy to me: it is making sure that the name as returned
by recv is *exactly* the same as what the server socket is bound to,
which is 0.0.0.0:some_port but I would expect recv to return the actual
IP address used in the socket, not 0.0.0.0.  It happens that Linux
doesn't return anything at all so it goes fine there, but that's not a
reason. The test should most probably be discussed with upstream."

Anyway, attached are three patches to disable these tests for Hurd:
hurd_skip_test_lfs.diff
hurd_skip_test_syslfs.diff
hurd_test_skip_socket.diff

Bug number(s) are not filled in the print statements.
--- a/t/op/lfs.t.orig	2014-01-06 23:46:46.000000000 +0100
+++ b/t/op/lfs.t	2014-08-20 14:30:36.000000000 +0200
@@ -1,4 +1,4 @@
-# NOTE: this file tests how large files (>2GB) work with perlio (stdio/sfio).
+# NOTE: this file tests how large files (>2GB) work with perlio (or stdio).
 # sysopen(), sysseek(), syswrite(), sysread() are tested in t/lib/syslfs.t.
 # If you modify/add tests here, remember to update also ext/Fcntl/t/syslfs.t.
 
@@ -10,6 +10,10 @@
 	# Don't bother if there are no quad offsets.
 	skip_all('no 64-bit file offsets')
 		if $Config::Config{lseeksize} < 8;
+	if ($^O eq 'gnu') {
+		print("1..0 # SKIP fails on GNU/Hurd (Debian #XXXX)\n");
+	exit(0);
+	}
 }
 
 use strict;
--- a/ext/Fcntl/t/syslfs.t.orig	2013-11-04 16:15:38.000000000 +0100
+++ b/ext/Fcntl/t/syslfs.t	2014-08-20 14:30:25.000000000 +0200
@@ -10,6 +10,10 @@
 		exit(0);
 	}
 	require Fcntl; import Fcntl qw(/^O_/ /^SEEK_/);
+	if ($^O eq 'gnu') {
+		print("1..0 # SKIP fails on GNU/Hurd (Debian #XXXX)\n");
+	exit(0);
+	}
 }
 
 use strict;
--- a/t/io/socket.t.orig	2014-05-26 15:34:20.000000000 +0200
+++ b/t/io/socket.t	2014-08-20 14:30:57.000000000 +0200
@@ -18,6 +18,10 @@
     unless ($Config{extensions} =~ /\bSocket\b/) {
 	skip_all('-- Socket not available');
     }
+    if ($^O eq 'gnu') {
+	print("1..0 # SKIP fails on GNU/Hurd (Debian #XXXX)\n");
+	exit(0);
+    }
 }
 
 use strict;

Reply to: