tests: Add system installation test.

* gnu/tests.scm (define-os-with-source): New macro.
* gnu/tests/install.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* build-aux/run-system-tests.scm (%system-tests): Likewise.
This commit is contained in:
Ludovic Courtès 2016-06-20 21:51:59 +02:00
parent b1dd6ac55d
commit 94b4274d0d
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
4 changed files with 231 additions and 3 deletions

View file

@ -22,7 +22,8 @@
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:export (marionette-service-type
marionette-operating-system))
marionette-operating-system
define-os-with-source))
;;; Commentary:
;;;
@ -127,4 +128,23 @@ in a virtual machine--i.e., controlled from the host system."
(services (cons (service marionette-service-type imported-modules)
(operating-system-user-services os)))))
(define-syntax define-os-with-source
(syntax-rules (use-modules operating-system)
"Define two variables: OS containing the given operating system, and
SOURCE containing the source to define OS as an sexp.
This is convenient when we need both the <operating-system> object so we can
instantiate it, and the source to create it so we can store in in a file in
the system under test."
((_ (os source)
(use-modules modules ...)
(operating-system fields ...))
(begin
(define os
(operating-system fields ...))
(define source
'(begin
(use-modules modules ...)
(operating-system fields ...)))))))
;;; tests.scm ends here