(use-modules ((im papo packages) #:prefix pkgs:) ((org euandre packages) #:prefix packages:) (gnu) (gnu tests) (gnu system vm) (guix gexp) (guix profiles)) (use-package-modules tls) (use-service-modules certbot mail mcron networking) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Helpers functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define (test-for name description test-name os test-fn) (system-test (name name) (description description) (value (gexp->derivation (string-append test-name ".test") (with-imported-modules '((gnu build marionette)) #~(begin (use-modules ((gnu build marionette) #:prefix mrntt:) ((srfi srfi-64) #:prefix t:)) (let ((manette (mrntt:make-marionette (list #$(virtual-machine (operating-system (marionette-operating-system os #:imported-modules '((gnu services herd))))))))) (t:test-runner-current (mrntt:system-test-runner #$output)) (t:test-begin #$name) (#$test-fn manette) (t:test-end)))))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Service tests ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define tests (list)) (define (system-test->manifest-entry test) (manifest-entry (name (pkgs:str "test." (system-test-name test))) (version "0") (item test))) (manifest (map system-test->manifest-entry tests))