aboutsummaryrefslogtreecommitdiff
path: root/tests/services
diff options
context:
space:
mode:
authorAttila Lendvai <attila@lendvai.name>2022-05-17 13:39:28 +0200
committerLudovic Courtès <ludo@gnu.org>2022-06-15 00:25:21 +0200
commit8cb1a49a3998c39f315a4199b7d4a121a6d66449 (patch)
tree6467f9cb21bc9f60b6f2a2f561d690b5cfdb3b3d /tests/services
parente11517052b1bbd9fa06891ad0b13b24494db757e (diff)
downloadguix-8cb1a49a3998c39f315a4199b7d4a121a6d66449.tar.gz
guix-8cb1a49a3998c39f315a4199b7d4a121a6d66449.zip
services: configuration: Use *unspecified* instead of 'disabled.
Use *unspecified* as a marker for field values that have not been set. Rationale: 'disabled may easily clash with user values for boolean fields, is confusing (i.e. its meaning is *not* boolean false, but unspecified) and it also passes silently through the symbol? predicate of a field of type symbol. * gnu/services/configuration.scm (configuration-missing-default-value): Renamed from configuration-no-default-value. (define-maybe-helper): Use *unspecified* instead of 'disabled, and make the default value optional. * gnu/home/services/desktop.scm (home-redshift-configuration): Change (maybe-xyz 'disabled) to maybe-xyz. * gnu/services/authentication.scm (nslcd-configuration): Likewise. * gnu/services/cgit.scm (repository-cgit-configuration): Likewise. * gnu/services/file-sharing.scm (serialize-maybe-string) (serialize-maybe-file-object): Use 'unspecified?' instead of (eq? val 'disabled). * gnu/services/messaging.scm (raw-content?): Likewise. (ssl-configuration): Change (maybe-xyz 'disabled) to maybe-xyz. (prosody-configuration): Likewise. * gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise. * gnu/services/messaging.scm (define-all-configurations): Use *unspecified* instead of 'disabled'. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-account): Likewise. (jami-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise. * tests/services/configuration.scm ("maybe type, no default") ("maybe type, with default"): New tests. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'tests/services')
-rw-r--r--tests/services/configuration.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/services/configuration.scm b/tests/services/configuration.scm
index 0debf8095b..334a1e409b 100644
--- a/tests/services/configuration.scm
+++ b/tests/services/configuration.scm
@@ -136,3 +136,15 @@
(test-assert "maybe value without serialization no procedure bound"
(not (defined? 'serialize-maybe-string)))
+
+(test-assert "maybe type, no default"
+ (unspecified?
+ (config-with-maybe-string/no-serialization-name
+ (config-with-maybe-string/no-serialization))))
+
+(test-assert "maybe type, with default"
+ (equal?
+ "foo"
+ (config-with-maybe-string/no-serialization-name
+ (config-with-maybe-string/no-serialization
+ (name "foo")))))