syscalls: 'interface-address' can return #f.
Fixes <http://bugs.gnu.org/22612>. Reported by Danny Milosavljevic <dannym@scratchpost.org>. * tests/syscalls.scm ("network-interfaces returns one or more interfaces"): Accept 'interface-address' value of #f.
This commit is contained in:
parent
001dae0d74
commit
7adbe85e60
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -223,7 +223,11 @@
|
||||||
((interfaces ..1)
|
((interfaces ..1)
|
||||||
(list (every interface? interfaces)
|
(list (every interface? interfaces)
|
||||||
(every string? (map interface-name interfaces))
|
(every string? (map interface-name interfaces))
|
||||||
(every vector? (map interface-address interfaces))))))
|
(every (lambda (sockaddr)
|
||||||
|
;; Sometimes interfaces have no associated address.
|
||||||
|
(or (vector? sockaddr)
|
||||||
|
(not sockaddr)))
|
||||||
|
(map interface-address interfaces))))))
|
||||||
|
|
||||||
(test-equal "network-interfaces returns \"lo\""
|
(test-equal "network-interfaces returns \"lo\""
|
||||||
(list #t (make-socket-address AF_INET (inet-pton AF_INET "127.0.0.1") 0))
|
(list #t (make-socket-address AF_INET (inet-pton AF_INET "127.0.0.1") 0))
|
||||||
|
|
Loading…
Reference in New Issue