summary refs log tree commit diff
path: root/gnu/tests
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-02-07 23:14:04 +0100
committerMarius Bakke <marius@gnu.org>2022-12-12 20:23:32 +0100
commit2c1b488d19831702288b8bdee4cecf661da91b60 (patch)
tree232953b2b04abe76251f037e45cf4d1c1d535efe /gnu/tests
parent9fc171b62a4992415803aec76fdb9c3bf9133f75 (diff)
downloadguix-2c1b488d19831702288b8bdee4cecf661da91b60.tar.gz
tests: Add system tests for each supported kernel version.
* gnu/tests/base.scm (%test-basic-os): Rename to ...
(test-basic-os): ... this, and turn into procedure that takes optional KERNEL
argument.
(%test-basic-os): Use that procedure.
(%test-linux-libre-5.15, %test-linux-libre-5.10, %test-linux-libre-5.4,
%test-linux-libre-4.19, %test-linux-libre-4.14, %test-linux-libre-4.9): New
tests.
Diffstat (limited to 'gnu/tests')
-rw-r--r--gnu/tests/base.scm46
1 files changed, 41 insertions, 5 deletions
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index fe7ca35f60..844039f5f8 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -46,10 +47,17 @@
   #:use-module (guix monads)
   #:use-module (guix modules)
   #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module ((srfi srfi-1) #:hide (partition))
   #:use-module (ice-9 match)
   #:export (run-basic-test
             %test-basic-os
+            %test-linux-libre-5.15
+            %test-linux-libre-5.10
+            %test-linux-libre-5.4
+            %test-linux-libre-4.19
+            %test-linux-libre-4.14
+            %test-linux-libre-4.9
             %test-halt
             %test-root-unmount
             %test-cleanup
@@ -533,15 +541,20 @@ info --version")
 
   (gexp->derivation name test))
 
-(define %test-basic-os
+(define* (test-basic-os #:optional (kernel linux-libre))
   (system-test
-   (name "basic")
+   (name (if (eq? kernel linux-libre)
+             "basic"
+             (string-append (package-name kernel) "-"
+                            (version-major+minor (package-version kernel)))))
    (description
     "Instrument %SIMPLE-OS, run it in a VM, and run a series of basic
-functionality tests.")
+functionality tests, using the given KERNEL.")
    (value
     (let* ((os  (marionette-operating-system
-                 %simple-os
+                 (operating-system
+                   (inherit %simple-os)
+                   (kernel kernel))
                  #:imported-modules '((gnu services herd)
                                       (guix combinators))))
            (vm  (virtual-machine os)))
@@ -549,7 +562,30 @@ functionality tests.")
       ;; set of services as the OS produced by
       ;; 'system-qemu-image/shared-store-script'.
       (run-basic-test (virtualized-operating-system os '())
-                      #~(list #$vm))))))
+                      #~(list #$vm)
+                      name)))))
+
+(define %test-basic-os
+  (test-basic-os))
+
+;; Ensure the LTS kernels are up to snuff, too.
+(define %test-linux-libre-5.15
+  (test-basic-os linux-libre-5.15))
+
+(define %test-linux-libre-5.10
+  (test-basic-os linux-libre-5.10))
+
+(define %test-linux-libre-5.4
+  (test-basic-os linux-libre-5.4))
+
+(define %test-linux-libre-4.19
+  (test-basic-os linux-libre-4.19))
+
+(define %test-linux-libre-4.14
+  (test-basic-os linux-libre-4.14))
+
+(define %test-linux-libre-4.9
+  (test-basic-os linux-libre-4.9))
 
 
 ;;;