summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-06-20 23:49:47 +0200
committerLudovic Courtès <ludo@gnu.org>2016-06-20 23:50:46 +0200
commite702e26a38f868bf3ffb5bbf3316d46d4c4bbb32 (patch)
treec3f89b49f1401f08fe3a8d93c2f685d9ec8dca69
parenta9601e23528c6018a3a6d4ad44b7d119df67ab6b (diff)
hydra: Add jobs for the system tests.
* build-aux/hydra/gnu-system.scm (%guixsd-supported-systems): New variable. (qemu-jobs): Use it. (system-test-jobs): New procedure. (hydra-jobs): Use it.
-rw-r--r--build-aux/hydra/gnu-system.scm24
1 files changed, 23 insertions, 1 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index d15be1bad2..4c27a9da1b 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -59,6 +59,7 @@
(gnu system)
(gnu system vm)
(gnu system install)
+ (gnu tests)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
@@ -129,6 +130,9 @@ SYSTEM."
(file (string-append dir "/demo-os.scm")))
(read-operating-system file)))
+(define %guixsd-supported-systems
+ '("x86_64-linux" "i686-linux"))
+
(define (qemu-jobs store system)
"Return a list of jobs that build QEMU images for SYSTEM."
(define (->alist drv)
@@ -150,7 +154,7 @@ system.")
(define MiB
(expt 2 20))
- (if (member system '("x86_64-linux" "i686-linux"))
+ (if (member system %guixsd-supported-systems)
(list (->job 'qemu-image
(run-with-store store
(mbegin %store-monad
@@ -167,6 +171,23 @@ system.")
(* 1024 MiB))))))
'()))
+(define (system-test-jobs store system)
+ "Return a list of jobs for the system tests."
+ (define (->job test)
+ (let ((name (string->symbol
+ (string-append "test." (system-test-name test)
+ "." system))))
+ `(,name . ,(lambda ()
+ (run-with-store store
+ (mbegin %store-monad
+ (set-current-system system)
+ (set-grafting #f)
+ (system-test-value test)))))))
+
+ (if (member system %guixsd-supported-systems)
+ (map ->job (all-system-tests))
+ '()))
+
(define (tarball-jobs store system)
"Return Hydra jobs to build the self-contained Guix binary tarball."
(define (->alist drv)
@@ -274,6 +295,7 @@ valid."
system))))
(append (filter-map job all)
(qemu-jobs store system)
+ (system-test-jobs store system)
(tarball-jobs store system)
(cross-jobs system))))
((core)