[bug#53862] tests: Add system tests for each supported kernel version.
Commit Message
* gnu/tests/base.scm (test-basic-os-with-kernel): New procedure.
(%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-linux-libre-4.4): New
tests.
---
gnu/tests/base.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
---
Guix,
I just discovered #52667 and figured it would be neat to have system
tests for each kernel to catch regressions faster.
WDYT?
Comments
Hi,
Marius Bakke <marius@gnu.org> skribis:
> * gnu/tests/base.scm (test-basic-os-with-kernel): New procedure.
> (%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-linux-libre-4.4): New
> tests.
> ---
> gnu/tests/base.scm | 41 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
> ---
> Guix,
>
> I just discovered #52667 and figured it would be neat to have system
> tests for each kernel to catch regressions faster.
>
> WDYT?
Good idea, go for it!
Thanks,
Ludo’.
Ping! :-)
Ludovic Courtès <ludo@gnu.org> skribis:
> Hi,
>
> Marius Bakke <marius@gnu.org> skribis:
>
>> * gnu/tests/base.scm (test-basic-os-with-kernel): New procedure.
>> (%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-linux-libre-4.4): New
>> tests.
>> ---
>> gnu/tests/base.scm | 41 +++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 41 insertions(+)
>> ---
>> Guix,
>>
>> I just discovered #52667 and figured it would be neat to have system
>> tests for each kernel to catch regressions faster.
>>
>> WDYT?
>
> Good idea, go for it!
>
> Thanks,
> Ludo’.
Ludovic Courtès <ludo@gnu.org> skriver:
> Hi,
>
> Marius Bakke <marius@gnu.org> skribis:
>
>> * gnu/tests/base.scm (test-basic-os-with-kernel): New procedure.
>> (%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-linux-libre-4.4): New
>> tests.
>> ---
>> gnu/tests/base.scm | 41 +++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 41 insertions(+)
>> ---
>> Guix,
>>
>> I just discovered #52667 and figured it would be neat to have system
>> tests for each kernel to catch regressions faster.
>>
>> WDYT?
>
> Good idea, go for it!
I finally went ahead and committed a variant of this in
2c1b488d19831702288b8bdee4cecf661da91b60.
CC Leo and Tobias who now have to remove/add a system test with each
removed/added LTS kernel. :-)
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,10 +42,18 @@ (define-module (gnu tests base)
#:use-module (guix store)
#:use-module (guix monads)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (run-basic-test
%test-basic-os
+ test-basic-os-with-kernel
+ %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-linux-libre-4.4
%test-halt
%test-cleanup
%test-mcron
@@ -537,6 +546,38 @@ (define %test-basic-os
(run-basic-test (virtualized-operating-system os '())
#~(list #$vm))))))
+(define (test-basic-os-with-kernel kernel)
+ (system-test
+ (name (string-append (package-name kernel) "-"
+ (version-major+minor (package-version kernel))))
+ (description "Run %TEST-BASIC-OS with the given KERNEL.")
+ (value
+ (let* ((os (marionette-operating-system
+ (operating-system
+ (inherit %simple-os)
+ (kernel kernel))))
+ (vm (virtual-machine os)))
+ (run-basic-test (virtualized-operating-system os '())
+ #~(list #$vm))))))
+
+(define %test-linux-libre-5.10
+ (test-basic-os-with-kernel linux-libre-5.10))
+
+(define %test-linux-libre-5.4
+ (test-basic-os-with-kernel linux-libre-5.4))
+
+(define %test-linux-libre-4.19
+ (test-basic-os-with-kernel linux-libre-4.19))
+
+(define %test-linux-libre-4.14
+ (test-basic-os-with-kernel linux-libre-4.14))
+
+(define %test-linux-libre-4.9
+ (test-basic-os-with-kernel linux-libre-4.9))
+
+(define %test-linux-libre-4.4
+ (test-basic-os-with-kernel linux-libre-4.4))
+
;;;
;;; Halt.