develooper Front page | perl.perl5.porters | Postings from May 2016

[perl #128095] Failed test dist/IO/t/cachepropagate-unix on OS Xwith Perl 5.22 (regression from 5.20)

Thread Previous
From:
Tony Cook via RT
Date:
May 17, 2016 01:34
Subject:
[perl #128095] Failed test dist/IO/t/cachepropagate-unix on OS Xwith Perl 5.22 (regression from 5.20)
Message ID:
rt-4.0.18-12280-1463448891-1031.128095-15-0@perl.org
On Sat May 07 07:40:21 2016, mojca@macports.org wrote:
> Since Perl 5.22 (I only tested 5.22.1 and 5.22.2) I'm experiencing a
> problem that wasn't present on 5.20.3.
> 
> dist/IO/t/cachepropagate-unix .................................
> #   Failed test 'datagram socket created'
> #   at t/cachepropagate-unix.t line 75.
> Can't call method "protocol" on an undefined value at
> t/cachepropagate-unix.t line 77.
> # Looks like you planned 15 tests but ran 9.
> # Looks like you failed 1 test of 9 run.
> # Looks like your test exited with 48 just after 9.
> FAILED at test 9
> 
> This happens on Mac OS X (I tested on 10.7, but is most likely present
> on others as well) and with a MacPorts build.
> 
> I opened a ticket at
>     https://trac.macports.org/ticket/51327
> 
> See also ticket #128093.
> I will try to test whether there is any difference if I change some
> compiler flags or if I build Perl outside of the distribution.

This test passes successfully on both 10.10.5 and 10.11.4 with a default build of blead perl (5.24 + unrelated changes).

pallas:t tony$ ./perl harness -v ../dist/IO/t/cachepropagate-unix.t 
../dist/IO/t/cachepropagate-unix.t .. 
1..15
ok 1 - stream socket created
ok 2 - protocol defined
ok 3 - domain defined
ok 4 - type defined
ok 5 - spawned a child
ok 6 - domain match
ok 7 # skip no Socket::SO_PROTOCOL
ok 8 - type match
ok 9 - datagram socket created
ok 10 - protocol defined
ok 11 - domain defined
ok 12 - type defined
ok 13 - domain match
ok 14 # skip no Socket::SO_PROTOCOL
ok 15 - type match
ok
All tests successful.
Files=1, Tests=15,  1 wallclock secs ( 0.01 usr  0.00 sys +  0.08 cusr  0.01 csys =  0.10 CPU)
Result: PASS

(not using MacPorts)

5.22.2 also passes.

I don't have 10.7 to test against.

Since I can't reproduce it here, you might try adding some diagnostic code, the code that's failing is:

    # now test datagram sockets:
    $listener = IO::Socket::UNIX->new(Type => SOCK_DGRAM,
				      Local => $socketpath);
    ok(defined($listener), 'datagram socket created');

you might try changing that to:

    # now test datagram sockets:
    $listener = IO::Socket::UNIX->new(Type => SOCK_DGRAM,
				      Local => $socketpath)
      or diag "datagram socket: $!";
    ok(defined($listener), 'datagram socket created');

and see if you get a useful diagnostic.

To test just the single test file:

  ./Configure ... your flags here ...
  make test TEST_ARGS=-v TEST_FILES=../dist/IO/t/cachepropagate-unix.t

Tony

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=128095

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About