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

Dominic Hargreaves dom at earth.li
Sun Aug 31 00:25:10 UTC 2014


Control: forwarded -1 https://rt.perl.org/Ticket/Display.html?id=122657

On Wed, Aug 20, 2014 at 04:11:41PM +0200, Svante Signell wrote:
> 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?).

As you noted the tests are correctly skipped on the buildds following an
lseeksize test; I'd prefer not to add another gratuitous skip without
first understanding what's going on here. Please could you provide the
output of perl -V on the system you're using where this test fails?

> 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."

I've forwarded this report to upstream as
<https://rt.perl.org/Ticket/Display.html?id=122657>.

> Anyway, attached are three patches to disable these tests for Hurd:

> --- 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);
> +    }
>  }

We shouldn't be skipping all tests because one fails; however I
will skip the offending test for now pending discussion with upstream.

Dominic.




More information about the Perl-maintainers mailing list