Ludovic Courtès
7adbe85e60
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.
2016-03-25 17:29:36 +01:00
David Thompson
b7d48312bb
build: container: Add feature test predicates.
...
* gnu/build/linux-container.scm (user-namespace-supported?,
unprivileged-user-namespace-supported?, setgroups-supported?): New
procedures.
* tests/container.scm: Use predicates.
* tests/syscalls.scm: Likewise.
2015-11-03 11:41:04 -05:00
Ludovic Courtès
54e515eb75
tests: Skip 'set-network-interface-address' test when running as root.
...
Reported by Eric Hanchrow <eric.hanchrow@gmail.com>
in <http://bugs.gnu.org/21354 >.
* tests/syscalls.scm ("set-network-interface-address"): Skip when (getuid)
returns zero.
2015-08-27 10:52:11 +02:00
Ludovic Courtès
e7f5691d45
syscalls: Add 'network-interfaces', which wraps libc's 'getifaddrs'.
...
Based on discussions with Rohan Prinja <rohan.prinja@gmail.com>.
* guix/build/syscalls.scm (<interface>): New record type.
(write-interface, values->interface, unfold-interface-list,
network-interfaces, free-ifaddrs): New procedures.
(ifaddrs): New C struct.
(%struct-ifaddrs-type, %sizeof-ifaddrs): New macros.
* tests/syscalls.scm ("network-interfaces returns one or more interfaces",
"network-interfaces returns \"lo\""): New tests.
2015-07-25 14:43:45 +02:00
Ludovic Courtès
b89e74054e
syscalls: Rename 'network-interfaces' and 'all-network-interfaces'.
...
* guix/build/syscalls.scm (network-interfaces): Rename to...
(network-interface-names): ... this.
(all-network-interfaces): Rename to...
(all-network-interface-names): ... this.
* gnu/services/networking.scm (dhcp-client-service): Adjust accordingly.
* tests/syscalls.scm ("all-network-interfaces"): Rename to...
("all-network-interface-names"): ... this, and adjust accordingly.
("network-interfaces"): Rename to...
("network-interface-names"): ... this, and adjust accordingly.
2015-07-25 14:43:44 +02:00
Ludovic Courtès
b62a3ebcdd
tests: Skip namespace-related tests when that feature is missing.
...
* tests/syscalls.scm ("clone", "setns", "pivot-root"): Skip
unless (user-namespace (getpid)) exists.
2015-07-10 23:46:52 +02:00
David Thompson
df3ce5c123
build: syscalls: Add pivot-root.
...
* guix/build/syscalls.scm (pivot-root): New procedure.
* tests/syscalls.scm ("pivot-root"): New test.
2015-07-07 21:16:25 -04:00
David Thompson
43ace6ea76
build: syscalls: Add setns.
...
* guix/build/syscalls.scm (setns): New procedure.
* tests/syscalls.scm ("setns"): New test.
squash: setns
2015-07-07 20:55:09 -04:00
David Thompson
8950ed11c6
build: syscalls: Add clone.
...
* guix/build/syscalls.scm (clone): New procedure.
(CLONE_NEWNS, CLONE_NEWUTS, CLONE_NEWIPC, CLONE_NEWUSER, CLONE_NEWPID,
CLONE_NEWNET): New variables.
* tests/syscalls.scm ("clone"): New test.
2015-07-07 20:35:08 -04:00
David Thompson
b4abdeb63b
build: syscalls: Add mkdtemp!
...
* guix/build/syscalls.scm (mkdtemp!): New procedure.
* tests/syscalls.scm ("mkdtemp!"): New test.
2015-07-07 18:46:44 -04:00
Ludovic Courtès
381ac93b5e
tests: Deal with 'mount-points' not returning "/".
...
Fixes <http://bugs.gnu.org/20261 >.
Reported by Mark H Weaver <mhw@netris.org>.
* tests/syscalls.scm ("mount-points"): Check for a few other likely
mount points in addition to "/".
2015-04-06 21:27:16 +02:00
Ludovic Courtès
d35c5e29b6
tests: Adjust syscall tests for 2.6ish Linux.
...
* tests/syscalls.scm ("set-network-interface-flags",
"set-network-interface-address"): Accept EACCES as a valid result.
2015-01-19 15:44:12 +01:00
Ludovic Courtès
c9bf64d6d7
syscalls: Add more procedures for network interfaces.
...
* guix/build/syscalls.scm (sizeof*, type-size, write-type, write-types,
read-type, read-types, define-c-struct): New macros.
(SIOCSIFFLAGS, SIOCGIFADDR, SIOCSIFADDR): New variables.
(sockaddr-in, sockaddr-in6): New C structs.
(write-socket-address!, read-socket-address,
set-network-interface-flags, set-network-interface-address,
network-interface-address, configure-network-interface): New
procedures.
2014-12-19 17:15:53 +01:00
Ludovic Courtès
ccea821bef
syscalls: Add 'mount-points'.
...
* guix/build/syscalls.scm (mount-points): New procedure.
* tests/syscalls.scm ("mount-points"): New test.
2014-11-10 22:42:14 +01:00
Ludovic Courtès
2793c0fb26
syscalls: Accept ENOENT in the 'swapoff' test.
...
Fixes <http://bugs.gnu.org/18690 >.
Reported by Philip Woods <elzairthesorcerer@gmail.com>.
* tests/syscalls.scm ("swapoff, EINVAL/EPERM"): Rename to...
("swapoff, ENOENT/EINVAL/EPERM"): ... this. Add ENOENT to the list of
possible return values.
2014-10-12 00:14:09 +02:00
Ludovic Courtès
715fc9d44d
syscalls: Add 'swapon' and 'swapoff'.
...
* guix/build/syscalls.scm (swapon, swapoff): New procedures.
* tests/syscalls.scm ("swapon, ENOENT/EPERM", "swapoff, EINVAL/EPERM"):
New tests.
2014-09-18 20:19:56 +02:00
Ludovic Courtès
4d54785c69
syscalls: Add 'all-network-interfaces'.
...
* guix/build/syscalls.scm (network-interfaces): Update docstring.
(%interface-line): New variable.
(all-network-interfaces): New procedure.
* tests/syscalls.scm ("all-network-interfaces"): New test.
("network-interfaces"): Change to make sure the result is a subset
of (all-network-interfaces).
2014-09-14 23:49:02 +02:00
Ludovic Courtès
973eea3478
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.
2014-09-14 23:49:02 +02:00
Ludovic Courtès
7585016f53
syscalls: Add 'network-interfaces'.
...
* guix/build/syscalls.scm (SIOCGIFCONF, ifconf-struct,
ifreq-struct-size): New variables.
(%ioctl, bytevector->string-list, network-interfaces): New
procedures.
* tests/syscalls.scm ("network-interfaces"): New test.
2014-09-14 23:49:02 +02:00
Ludovic Courtès
35066aa596
syscalls: Be more permissive in 'umount' test.
...
* tests/syscalls.scm ("umount, ENOENT"): Rename to...
("umount, ENOENT/EPERM"): ... this. Accept EPERM as a valid return
value.
2014-05-27 22:36:54 +02:00
Ludovic Courtès
29fa45f45d
Add (guix build syscalls).
...
* guix/build/syscalls.scm, tests/syscalls.scm: New files.
* Makefile.am (MODULES): Add guix/build/syscalls.scm.
(SCM_TESTS): Add tests/syscalls.scm.
* guix/utils.scm (%libc-errno-pointer, errno): Remove; take from (guix
build syscalls).
2014-05-10 22:55:34 +02:00