#1989: t/pmc/socket_ipv6.t: new test failures
---------------------+------------------------------------------------------
 Reporter:  jkeenan  |       Owner:       
     Type:  bug      |      Status:  new  
 Priority:  normal   |   Milestone:       
Component:  testing  |     Version:  3.0.0
 Severity:  medium   |    Keywords:       
     Lang:           |       Patch:       
 Platform:  solaris  |  
---------------------+------------------------------------------------------

Comment(by doughera):

 Replying to [comment:11 nwellnhof]:
 > I googled a bit and my hunch is that getaddrinfo returns multiple IPv6
 addresses and some of them are invalid for some reason. I added some debug
 output to the IPv6 test in 2cdf5dd.

 Thank you for the attempt.  I think the problems are elsewhere, however.

 I've never done any socket programming, but based on reading the man
 pages, it looks like the call to getaddrinfo() is wrong in the cases where
 the result is going to be passed to bind.  According to the man page,
 AI_PASSIVE should be set in those cases.  I've attached a patch to the
 tests to fix that.

 That patch leads to new failures in tests 5 and 6 in the returned strings.
 I now suspect the those tests were wrong as well, but I'd appreciate
 confirmation from someone who actually knows anything about socket
 programming.

 With my patch applied, and ignoring the errors from the "expected" names
 in tests 5 and 6, I still get failures on both Solaris 8 and 10 at the
 connect() stage:

 {{{
 $ ./parrot t/pmc/socket_ipv6.t
 1..11
 # This Parrot is IPv6-aware
 ok 1 - A TCP ipv6 sockaddr to localhost was set isa Sockaddr
 ok 2 - A TCP ipv6 sockaddr to ::1 was set isa Sockaddr
 ok 3 - A UDP ipv6 sockaddr to localhost was set: isa Sockaddr
 ok 4 - A UDP ipv6 sockaddr to ::1 was set: isa Sockaddr
 # address 1: family 26, type 2, protocol 0
 not ok 5 - local address of bound socket is ::1
 # Have: :::1234
 # Want: ::1:1234
 not ok 6 - local address of bound socket is 127.0.0.1
 # Have: 0.0.0.0:1234
 # Want: 127.0.0.1:1234
 ok 7 - Server process started
 connect failed: Network is unreachable
 current instr.: 'test_server' pc 365 (t/pmc/socket_ipv6.t:111)
 called from Sub 'main' pc 74 (t/pmc/socket_ipv6.t:36)
 }}}

 At this point I'm *way* beyond my sphere of knowledge, so I have no idea
 what to do next.

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1989#comment:12>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to