File guile-socket-test.patch of Package guile1.3361

commit b720f244942320731e1ceb67f3648143a3316b32
Author: Ludovic Court├Ęs <ludo@gnu.org>
Date:   Tue Jan 19 18:49:06 2010 +0100

    Make `sockets.test' more robust.
    
    * test-suite/tests/socket.test ("AF_INET6/SOCK_STREAM"): Gracefully
      handle cases where this combination is not supported.

diff --git a/test-suite/tests/socket.test b/test-suite/tests/socket.test
index e73f585..0510f54 100644
--- a/test-suite/tests/socket.test
+++ b/test-suite/tests/socket.test
@@ -1,6 +1,6 @@
 ;;;; socket.test --- test socket functions     -*- scheme -*-
 ;;;;
-;;;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+;;;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -341,7 +341,9 @@
 
       ;; testing `bind', `listen' and `connect' on stream-oriented sockets
 
-      (let ((server-socket (socket AF_INET6 SOCK_STREAM 0))
+      (let ((server-socket
+             ;; Some platforms don't support this protocol/family combination.
+             (false-if-exception (socket AF_INET6 SOCK_STREAM 0)))
 	    (server-bound? #f)
 	    (server-listening? #f)
 	    (server-pid #f)
@@ -350,6 +352,8 @@
 	    (client-port 9998))
 
 	(pass-if "bind"
+          (if (not server-socket)
+              (throw 'unresolved))
 	  (catch 'system-error
 	    (lambda ()
 	      (bind server-socket AF_INET6 ipv6-addr server-port)
@@ -361,8 +365,10 @@
 		      (else (apply throw args)))))))
 
 	(pass-if "bind/sockaddr"
-	  (let* ((sock (socket AF_INET6 SOCK_STREAM 0))
+	  (let* ((sock (false-if-exception (socket AF_INET6 SOCK_STREAM 0)))
 		 (sockaddr (make-socket-address AF_INET6 ipv6-addr client-port)))
+            (if (not sock)
+                (throw 'unresolved))
 	    (catch 'system-error
 	      (lambda ()
 		(bind sock sockaddr)