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

Svante Signell svante.signell at gmail.com
Mon Sep 22 09:39:00 UTC 2014


On Sat, 2014-08-30 at 17:25 -0700, Dominic Hargreaves wrote:
> Control: forwarded -1 https://rt.perl.org/Ticket/Display.html?id=122657

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

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

Hello,

The patch in fixes/hurd_test_todo_socket.t perl 5.20.1-1 does not work
since the tests are made with a child process. Running that test
manually reveals the following:
ok 1 - close the socket
ok 2 - make a tcp socket
ok 3 - bind works
ok 4 - getsockname() on bound socket
# port 33120
ok 5 - listen() works
ok 6 - make accept tcp socket
ok 7 - accept() works
ok 11 # skip fails on GNU/Hurd (Debian #758718)
1..11

i.e. subtests 8-10 and 12-13 are skipped too:
ok 8 - close server socket in child
ok 9 - make child tcp socket
ok 10 - connect() works
ok 12 - check we received the data
ok 13 - shutdown() works <- is this test run??

Adding if ($^O != 'gnu') {
in front of the else statement and removing the skip statement does only
run tests 1-10 and 12 for GNU/Hurd, with test 12 renamed as test 11. 
Unfortunately, something keep track of the number of subtests, this time
the error is:
t/io/socket ...................................................
FAILED--expected test 12, saw test 13

I tried to find a way to skip only that subtest, but did not succeed
being a novice in perl and the test suite.




More information about the Perl-maintainers mailing list