diff options
author | Ludovic Courtès <ludo@gnu.org> | 2010-01-19 18:49:06 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-04-28 22:31:44 +0200 |
commit | b720f244942320731e1ceb67f3648143a3316b32 (patch) | |
tree | cc10a4f2560bdd7df37da7c9c3e807d178b83915 | |
parent | 0270d901250423e89bbe42f997c0fc093c9e49cd (diff) | |
download | guile-b720f244942320731e1ceb67f3648143a3316b32.tar.gz |
Make `sockets.test' more robust.
* test-suite/tests/socket.test ("AF_INET6/SOCK_STREAM"): Gracefully
handle cases where this combination is not supported.
-rw-r--r-- | test-suite/tests/socket.test | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/test-suite/tests/socket.test b/test-suite/tests/socket.test index e73f58510..0510f545c 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) |