#!/usr/bin/env -S guile --no-auto-compile !# (use-modules (gnu services configuration) (guix gexp) (srfi srfi-64)) (test-begin "services-configuration") (define (eval-gexp x) "Get serialized config as string." (eval (gexp->approximate-sexp x) (current-module))) (test-group "Parametric arguments" (define* (make-serialize-port #:key host) (lambda (field value) (format #f "host=~a,port=~d" host value))) (define-configuration kwarg-config (port (number 80) "Lorem Ipsum." (serializer (make-serialize-port #:host "[2001:db8::1]")))) (test-equal "keyword argument provided" "host=[2001:db8::1],port=80" (eval-gexp (serialize-configuration (kwarg-config) kwarg-config-fields)))) (test-end)