summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorBruno Victal <mirai@makinata.eu>2023-10-07 16:57:15 +0100
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-10-07 12:41:05 -0400
commita7994ed58dc1ac3b57aa2df8508f05fd0748b3e0 (patch)
tree69aabbc3928eb64e51d7b6871f34a04c98b9606b /tests
parent1b29e5db8f51fcde00a8523f3558c3468ede37c3 (diff)
downloadguix-a7994ed58dc1ac3b57aa2df8508f05fd0748b3e0.tar.gz
services: configuration: Use transducers within serialize-configuration.
Introduces 'base-transducer', a SRFI-171 based transducer that can be used as a
starting point for writing custom configuration record serializing procedures.

This also fixes the symbol maybe-value serialization test case.

* gnu/services/configuration.scm (empty-serializer?): New predicate.
(base-transducer, tfilter-maybe-value): New procedure.
(serialize-configuration): Adapt to use base-transducer.

* gnu/services/telephony.scm (jami-account->alist): Use transducers to skip
fields that are unserializable or whose field maybe-value is unset.

* tests/services/configuration.scm: Remove test-expect-fail.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/services/configuration.scm6
1 files changed, 1 insertions, 5 deletions
diff --git a/tests/services/configuration.scm b/tests/services/configuration.scm
index 8ad5907f37..40a4e74b4d 100644
--- a/tests/services/configuration.scm
+++ b/tests/services/configuration.scm
@@ -337,13 +337,9 @@
 (define-configuration config-with-maybe-symbol
   (protocol maybe-symbol ""))
 
-;;; Maybe symbol values are currently seen as serializable, because the
-;;; unspecified value is '%unset-marker%, which is a symbol itself.
-;;; TODO: Remove expected fail marker after resolution.
-(test-expect-fail 1)
 (test-equal "symbol maybe value serialization, unspecified"
   ""
-  (gexp->approximate-sexp
+  (eval-gexp
    (serialize-configuration (config-with-maybe-symbol)
                             config-with-maybe-symbol-fields)))