summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-09-14 22:12:35 +0200
committerLudovic Courtès <ludo@gnu.org>2014-09-14 23:49:02 +0200
commit973eea34781078091869143602d4f1dfdfd82e19 (patch)
tree468c8642b4db173840fe81081165a3ef457cc2f8 /tests
parent7585016f53e2e8be1f82ed303ae084464422c2a8 (diff)
syscalls: Add 'network-interface-flags'.
* guix/build/syscalls.scm (SIOCGIFFLAGS, IFF_UP, IFF_BROADCAST, IFF_LOOPBACK, IF_NAMESIZE): New variables. (network-interface-flags, loopback-network-interface?): New procedures. * tests/syscalls.scm ("network-interface-flags", "loopback-network-interface?"): New tests.
Diffstat (limited to 'tests')
-rw-r--r--tests/syscalls.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/syscalls.scm b/tests/syscalls.scm
index fa6b67bf398..c3550ac31a3 100644
--- a/tests/syscalls.scm
+++ b/tests/syscalls.scm
@@ -48,6 +48,23 @@
48 (((? string? names) ..1) 48 (((? string? names) ..1)
49 (member "lo" names)))) 49 (member "lo" names))))
50 50
51(test-assert "network-interface-flags"
52 (let* ((sock (socket SOCK_STREAM AF_INET 0))
53 (flags (network-interface-flags sock "lo")))
54 (close-port sock)
55 (and (not (zero? (logand flags IFF_LOOPBACK)))
56 (not (zero? (logand flags IFF_UP))))))
57
58(test-equal "loopback-network-interface?"
59 ENODEV
60 (and (loopback-network-interface? "lo")
61 (catch 'system-error
62 (lambda ()
63 (loopback-network-interface? "nonexistent")
64 #f)
65 (lambda args
66 (system-error-errno args)))))
67
51(test-end) 68(test-end)
52 69
53 70