summaryrefslogtreecommitdiff
path: root/tests/networking.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2019-09-03 10:14:59 +0900
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2019-09-08 23:15:31 +0900
commit5658ae8a0ad5d988765944b7e783b2bdc23a7f48 (patch)
tree248c98abc9237379c917d94fec50d7f18ed366a6 /tests/networking.scm
parentac73f504cf997559869f67a6c308cf3b19d253ea (diff)
services: ntp: Support different NTP server types and options.
* gnu/services/networking.scm (ntp-server-types): New enum. (<ntp-server>): New record type. (ntp-server->string): New procedure. (%ntp-servers): Define in terms of <htp-server> records. Use the first entrypoint server as a pool instead of a list of static servers. This is more resilient since a new server of the pool can be interrogated on every request. Add the 'iburst' options. (ntp-configuration-servers): Define a custom accessor that warns but honors the now deprecated server format. (<ntp-configuration>): Use it. (%openntpd-servers): New variable, (<openntpd-configuration>): Use it, as a pool ('servers' field) instead of a regular server. * tests/networking.scm: New file. * Makefile.am (SCM_TESTS): Register it. * doc/guix.texi: Update documentation.
Diffstat (limited to 'tests/networking.scm')
-rw-r--r--tests/networking.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/networking.scm b/tests/networking.scm
new file mode 100644
index 00000000000..001d7df74dd
--- /dev/null
+++ b/tests/networking.scm
@@ -0,0 +1,50 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (tests networking)
20 #:use-module (gnu services networking)
21 #:use-module (srfi srfi-64))
22
23;;; Tests for the (gnu services networking) module.
24
25(define ntp-server->string (@@ (gnu services networking) ntp-server->string))
26
27(define %ntp-server-sample
28 (ntp-server
29 (type 'server)
30 (address "some.ntp.server.org")
31 (options `(iburst (version 3) (maxpoll 16) prefer))))
32
33(test-begin "networking")
34
35(test-equal "ntp-server->string"
36 (ntp-server->string %ntp-server-sample)
37 "server some.ntp.server.org iburst version 3 maxpoll 16 prefer")
38
39(test-equal "ntp configuration servers deprecated form"
40 (ntp-configuration-servers
41 (ntp-configuration
42 (servers (list (ntp-server
43 (type 'server)
44 (address "example.pool.ntp.org")
45 (options '()))))))
46 (ntp-configuration-servers
47 (ntp-configuration
48 (servers (list "example.pool.ntp.org")))))
49
50(test-end "networking")