mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
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>
This commit is contained in:
parent
1b29e5db8f
commit
a7994ed58d
3 changed files with 47 additions and 24 deletions
|
@ -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)))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue