diff options
author | Bruno Victal <mirai@makinata.eu> | 2023-10-07 16:57:15 +0100 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-10-07 12:41:05 -0400 |
commit | a7994ed58dc1ac3b57aa2df8508f05fd0748b3e0 (patch) | |
tree | 69aabbc3928eb64e51d7b6871f34a04c98b9606b /tests/services | |
parent | 1b29e5db8f51fcde00a8523f3558c3468ede37c3 (diff) | |
download | guix-a7994ed58dc1ac3b57aa2df8508f05fd0748b3e0.tar.gz guix-a7994ed58dc1ac3b57aa2df8508f05fd0748b3e0.zip |
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/services')
-rw-r--r-- | tests/services/configuration.scm | 6 |
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))) |