Skip Menu |

This queue is for tickets about the IO-Socket-IP CPAN distribution.

Report information
The Basics
Id: 97068
Status: resolved
Priority: 0/
Queue: IO-Socket-IP

People
Owner: Nobody in particular
Requestors: PERRAD [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.29
Fixed in: 0.32



Subject: [PATCH] fix a test for cross toolchain
I work with Buildroot (http://buildroot.net/) which build embedded Linux system. With some cross toolchain gcc (Sourcery CodeBench x86, ARM), 15io-socket.t requires the attached patch. Note: I take the trick (disable AI_ADDRCONFIG) in other tests 04local-client-v6.t and 05local-server-v6.t
Subject: 0001-fix-for-cross-toolchain.patch
fix for cross toolchain diff --git a/t/15io-socket.t b/t/15io-socket.t index 8acc9a7..4db70dc 100644 --- a/t/15io-socket.t +++ b/t/15io-socket.t @@ -15,6 +15,7 @@ use IO::Socket::IP -register; Type => SOCK_STREAM, LocalHost => "127.0.0.1", LocalPort => 0, + GetAddrInfoFlags => 0, # disable AI_ADDRCONFIG ); isa_ok( $sock, "IO::Socket::IP", 'IO::Socket->new( Domain => AF_INET )' ) or
On Tue Jul 08 15:07:14 2014, PERRAD wrote: Show quoted text
> I work with Buildroot (http://buildroot.net/) which build embedded > Linux system. > With some cross toolchain gcc (Sourcery CodeBench x86, ARM), > 15io-socket.t requires the attached patch. > > Note: I take the trick (disable AI_ADDRCONFIG) in other tests > 04local-client-v6.t and 05local-server-v6.t
I miss the output log of the current test suite.
Subject: buildroot.log
# uname -a Linux buildroot 3.13.5 #1 Mon Jun 30 17:05:56 CEST 2014 armv5tejl GNU/Linux # prove --version TAP::Harness v3.26 and Perl v5.18.2 # prove -v *.t 00use.t ........................... ok 1 - use IO::Socket::IP; 1..1 ok 01local-client-v4.t ............... ok 1 - IO::Socket::IP->new constructs a SOCK_STREAM socket ok 2 - $socket->sockdomain for SOCK_STREAM ok 3 - $socket->socktype for SOCK_STREAM ok 4 - accepted test SOCK_STREAM client ok 5 - $socket is connected for SOCK_STREAM ok 6 - $socket->sockname for SOCK_STREAM ok 7 - $socket->peername for SOCK_STREAM ok 8 - $socket->peerhost for SOCK_STREAM ok 9 - $socket->peerport for SOCK_STREAM ok 10 - $socket->sockaddr for SOCK_STREAM ok 11 - $socket->peeraddr for SOCK_STREAM ok 12 - $socket not connected after close for SOCK_STREAM ok 13 - IO::Socket::IP->new constructs a SOCK_DGRAM socket ok 14 - $socket->sockdomain for SOCK_DGRAM ok 15 - $socket->socktype for SOCK_DGRAM ok 16 - accepted test SOCK_DGRAM client ok 17 - $socket is connected for SOCK_DGRAM ok 18 - $socket->sockname for SOCK_DGRAM ok 19 - $socket->peername for SOCK_DGRAM ok 20 - $socket->peerhost for SOCK_DGRAM ok 21 - $socket->peerport for SOCK_DGRAM ok 22 - $socket->sockaddr for SOCK_DGRAM ok 23 - $socket->peeraddr for SOCK_DGRAM ok 24 - $socket not connected after close for SOCK_DGRAM 1..24 ok 02local-server-v4.t ............... ok 1 - IO::Socket::IP->new constructs a SOCK_STREAM socket ok 2 - $testserver->sockdomain for SOCK_STREAM ok 3 - $testserver->socktype for SOCK_STREAM ok 4 - $testserver->sockhost for SOCK_STREAM ok 5 - $testserver->sockport for SOCK_STREAM ok 6 - accepted test SOCK_STREAM client ok 7 - $testclient for SOCK_STREAM isa IO::Socket::IP ok 8 - $testclient->sockdomain for SOCK_STREAM ok 9 - $testclient->socktype for SOCK_STREAM ok 10 - $socket->sockname for SOCK_STREAM ok 11 - $socket->peername for SOCK_STREAM ok 12 - $testclient->sockport for SOCK_STREAM ok 13 - $testclient->peerport for SOCK_STREAM ok 14 - $testclient->sockaddr for SOCK_STREAM ok 15 - $testclient->peeraddr for SOCK_STREAM ok 16 - IO::Socket::IP->new constructs a SOCK_DGRAM socket ok 17 - $testserver->sockdomain for SOCK_DGRAM ok 18 - $testserver->socktype for SOCK_DGRAM ok 19 - $testserver->sockhost for SOCK_DGRAM ok 20 - $testserver->sockport for SOCK_DGRAM ok 21 - accepted test SOCK_DGRAM client ok 22 - $testclient for SOCK_DGRAM isa IO::Socket::IP ok 23 - $testclient->sockdomain for SOCK_DGRAM ok 24 - $testclient->socktype for SOCK_DGRAM ok 25 - $socket->sockname for SOCK_DGRAM ok 26 - $socket->peername for SOCK_DGRAM ok 27 - $testclient->sockport for SOCK_DGRAM ok 28 - $testclient->peerport for SOCK_DGRAM ok 29 - $testclient->sockaddr for SOCK_DGRAM ok 30 - $testclient->peeraddr for SOCK_DGRAM 1..30 ok 03local-cross-v4.t ................ ok 1 - $testclient->sockport for SOCK_STREAM ok 2 - $testclient->peerport for SOCK_STREAM ok 3 - $testclient->sockhost for SOCK_STREAM ok 4 - $testclient->peerhost for SOCK_STREAM ok 5 - $socket to $testclient for SOCK_STREAM ok 6 - $testclient to $socket for SOCK_STREAM ok 7 - $testclient->sockport for SOCK_DGRAM ok 8 - $testclient->peerport for SOCK_DGRAM ok 9 - $testclient->sockhost for SOCK_DGRAM ok 10 - $testclient->peerhost for SOCK_DGRAM ok 11 - $socket to $testclient for SOCK_DGRAM ok 12 - $testclient to $socket for SOCK_DGRAM 1..12 ok 04local-client-v6.t ............... 1..0 # SKIP Unable to bind to ::1 - Cannot socket(PF_INET6) - Address family not supported by protocol at 04local-client-v6.t line 17. # skipped: Unable to bind to ::1 - Cannot socket(PF_INET6) - Address family not supported by protocol at 04local-client-v6.t line 17. 05local-server-v6.t ............... 1..0 # SKIP Unable to bind to ::1 - Cannot socket(PF_INET6) - Address family not supported by protocol at 05local-server-v6.t line 17. # skipped: Unable to bind to ::1 - Cannot socket(PF_INET6) - Address family not supported by protocol at 05local-server-v6.t line 17. 06local-cross-v6.t ................ 1..0 # SKIP Unable to bind to ::1 skipped: Unable to bind to ::1 10args.t .......................... ok 1 - split_addr hostname:http ok 2 - split_addr 192.0.2.1:80 ok 3 - split_addr [2001:db8::1]:80 ok 4 - split_addr something.else ok 5 - join_addr hostname:http ok 6 - join_addr 192.0.2.1:80 ok 7 - join_addr [2001:db8::1]:80 ok 8 - join_addr something.else ok 9 - [::1]:80 ok 10 - [::1]:http ok 11 - [::1] ok 12 - [::1]: ok 13 - 127.0.0.1:80 ok 14 - 127.0.0.1:http ok 15 - 127.0.0.1 ok 16 - 127.0.0.1: ok 17 - localhost:80 ok 18 - localhost:http ok 19 - PeerHost [::1]:80 ok 20 - PeerHost [::1] ok 21 - LocalHost [::1]:80 ok 22 - LocalHost undef ok 23 - PeerHost 127.0.0.1:80 PeerPort 80 ok 24 - PeerHost 127.0.0.1:443 PeerPort 80 1..24 ok 11sockopts.t ...................... ok 1 - SO_REUSEADDR set ok 2 # skip No SO_REUSEPORT constant ok 3 - SO_BROADCAST set 1..3 ok 12port-fallback.t ................. ok 1 - @gai_args for LocalPort => "zyxxyblarg(80)" 1..1 ok 13addrinfo.t ...................... ok 1 - IO::Socket::IP->new( PeerAddrInfo => ... ) constructs a new socket ok 2 - $socket->peername ok 3 - IO::Socket::IP->new( LocalAddrInfo => ... ) constructs a new socket ok 4 - $socket->sockname 1..4 ok 14fileno.t ........................ ok 1 - $socket->fileno preserved after ->socket ok 2 - $socket->fileno preserved after ->socket with free handle 1..2 ok 15io-socket.t ..................... not ok 1 - IO::Socket->new( Domain => AF_INET ) isa IO::Socket::IP # Failed test 'IO::Socket->new( Domain => AF_INET ) isa IO::Socket::IP' # at 15io-socket.t line 20. # IO::Socket->new( Domain => AF_INET ) isn't defined # error was Name or service not known ok 2 - Domain => AF_INET, LocalHost => "::1" fails ok 3 # skip Unable to bind to ::1 1..3 # Looks like you failed 1 test of 3. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/3 subtests (less 1 skipped subtest: 1 okay) 16v6only.t ........................ 1..0 # SKIP Unable to bind to ::1 skipped: Unable to bind to ::1 17gai-flags.t ..................... ok 1 - @gai_args for LocalPort => "80" ok 2 - @gai_args for LocalPort => "80", GetAddrInfoFlags => AI_NUMERICSERV 1..2 ok 18fdopen.t ........................ ok 1 - $s2->socktype defined ok 2 - $s2->sockport 1..2 ok 19no-addrs.t ...................... ok 1 - Constructor yields handle for Family => AF_INET ok 2 - $sock->fileno for Family => AF_INET ok 3 - $sock->sockdomain for Family => AF_INET ok 4 - $sock->socktype for Family => AF_INET ok 5 # skip Unable to bind to ::1 ok 6 # skip Unable to bind to ::1 ok 7 # skip Unable to bind to ::1 ok 8 # skip Unable to bind to ::1 ok 9 - Constructor yields handle for Type => SOCK_STREAM ok 10 - $sock->fileno for Type => SOCK_STREAM ok 11 - $sock->socktype for Type => SOCK_STREAM 1..11 ok 20subclass.t ...................... ok 1 - The object isa MySubclass 1..1 ok 21as-inet.t ....................... ok 1 - ->as_inet returns IO::Socket::INET isa IO::Socket::INET ok 2 - ->as_inet socket wraps the same fileno ok 3 - ->as_inet still passes data 1..3 ok 30nonblocking-connect.t ........... ok 1 - IO::Socket::IP->new( Blocking => 0 ) constructs a socket ok 2 - $socket has a fileno immediately after construction ok 3 - Repeated ->connect eventually succeeds ok 4 - $socket->sockdomain ok 5 - $socket->socktype ok 6 - $socket->peername ok 7 - $socket->peerhost ok 8 - $socket->peerport ok 9 - $socket->blocking 1..9 ok 31nonblocking-connect-internet.t .. ok 1 # skip Can't connect to cpanidx.org:80 ok 2 # skip Can't connect to cpanidx.org:80 ok 3 # skip Can't connect to cpanidx.org:80 ok 4 # skip Can't connect to cpanidx.org:80 ok 5 # skip Can't connect to cpanidx.org:80 ok 6 # skip Connecting to cpanidx.org:6666 doesn't give ECONNREFUSED ok 7 # skip Connecting to cpanidx.org:6666 doesn't give ECONNREFUSED ok 8 # skip Connecting to cpanidx.org:6666 doesn't give ECONNREFUSED ok 9 # skip Connecting to cpanidx.org:6666 doesn't give ECONNREFUSED 1..9 ok 99pod.t ........................... 1..0 # SKIP Test::Pod 1.00 required for testing POD skipped: Test::Pod 1.00 required for testing POD Test Summary Report ------------------- 15io-socket.t (Wstat: 256 Tests: 3 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=22, Tests=141, 37 wallclock secs ( 2.58 usr 0.97 sys + 29.49 cusr 2.71 csys = 35.75 CPU) Result: FAIL
Fixed in 0.32 (Perl 5.20.1) On Tue Jul 08 15:07:14 2014, PERRAD wrote: Show quoted text
> I work with Buildroot (http://buildroot.net/) which build embedded > Linux system. > With some cross toolchain gcc (Sourcery CodeBench x86, ARM), > 15io-socket.t requires the attached patch. > > Note: I take the trick (disable AI_ADDRCONFIG) in other tests > 04local-client-v6.t and 05local-server-v6.t
On Fri Sep 26 06:08:17 2014, PERRAD wrote: Show quoted text
> Fixed in 0.32 (Perl 5.20.1) >
Oops! Perl 5.21.4 Show quoted text
> > On Tue Jul 08 15:07:14 2014, PERRAD wrote:
> > I work with Buildroot (http://buildroot.net/) which build embedded > > Linux system. > > With some cross toolchain gcc (Sourcery CodeBench x86, ARM), > > 15io-socket.t requires the attached patch. > > > > Note: I take the trick (disable AI_ADDRCONFIG) in other tests > > 04local-client-v6.t and 05local-server-v6.t
> >
Oops; this patch appears to have been applied quite some time ago, but I forgot to close the ticket. (See also RT98328) -- Paul Evans