summaryrefslogtreecommitdiff
path: root/gnu/tests/linux-modules.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-10-01 17:10:49 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-10-01 17:10:49 -0400
commit2e65e4834a226c570866f2e8976ed7f252b45cd1 (patch)
tree21d625bce8d03627680214df4a6622bf8eb79dc9 /gnu/tests/linux-modules.scm
parent9c68ecb24dd1660ce736cdcdea0422a73ec318a2 (diff)
parentf1a3c11407b52004e523ec5de20d326c5661681f (diff)
Merge remote-tracking branch 'origin/master' into staging
With resolved conflicts in: gnu/packages/bittorrent.scm gnu/packages/databases.scm gnu/packages/geo.scm gnu/packages/gnupg.scm gnu/packages/gstreamer.scm gnu/packages/gtk.scm gnu/packages/linux.scm gnu/packages/python-xyz.scm gnu/packages/xorg.scm guix/build/qt-utils.scm
Diffstat (limited to 'gnu/tests/linux-modules.scm')
-rw-r--r--gnu/tests/linux-modules.scm79
1 files changed, 68 insertions, 11 deletions
diff --git a/gnu/tests/linux-modules.scm b/gnu/tests/linux-modules.scm
index 953b132ef7..fc8945b77f 100644
--- a/gnu/tests/linux-modules.scm
+++ b/gnu/tests/linux-modules.scm
@@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
-;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,7 +35,10 @@
#:use-module (guix utils)
#:export (%test-loadable-kernel-modules-0
%test-loadable-kernel-modules-1
- %test-loadable-kernel-modules-2))
+ %test-loadable-kernel-modules-2
+ %test-loadable-kernel-modules-service-0
+ %test-loadable-kernel-modules-service-1
+ %test-loadable-kernel-modules-service-2))
;;; Commentary:
;;;
@@ -66,17 +70,11 @@ that MODULES are actually loaded."
(member module modules string=?))
'#$modules))))))
-(define* (run-loadable-kernel-modules-test module-packages module-names)
- "Run a test of an OS having MODULE-PACKAGES, and verify that MODULE-NAMES
-are loaded in memory."
+(define* (run-loadable-kernel-modules-test-base base-os module-names)
+ "Run a test of BASE-OS, verifying that MODULE-NAMES are loaded in memory."
(define os
(marionette-operating-system
- (operating-system
- (inherit (simple-operating-system))
- (services (cons (service kernel-module-loader-service-type module-names)
- (operating-system-user-services
- (simple-operating-system))))
- (kernel-loadable-modules module-packages))
+ base-os
#:imported-modules '((guix combinators))))
(define vm (virtual-machine os))
(define (test script)
@@ -98,6 +96,33 @@ are loaded in memory."
(gexp->derivation "loadable-kernel-modules"
(test (modules-loaded?-program os module-names))))
+(define* (run-loadable-kernel-modules-test module-packages module-names)
+ "Run a test of an OS having MODULE-PACKAGES, and verify that MODULE-NAMES
+are loaded in memory."
+ (run-loadable-kernel-modules-test-base
+ (operating-system
+ (inherit (simple-operating-system))
+ (services (cons (service kernel-module-loader-service-type module-names)
+ (operating-system-user-services
+ (simple-operating-system))))
+ (kernel-loadable-modules module-packages))
+ module-names))
+
+(define* (run-loadable-kernel-modules-service-test module-packages module-names)
+ "Run a test of an OS having MODULE-PACKAGES, which are loaded by creating a
+service that extends LINUXL-LOADABLE-MODULE-SERVICE-TYPE. Then verify that
+MODULE-NAMES are loaded in memory."
+ (run-loadable-kernel-modules-test-base
+ (operating-system
+ (inherit (simple-operating-system))
+ (services (cons* (simple-service 'installing-module
+ linux-loadable-module-service-type
+ module-packages)
+ (service kernel-module-loader-service-type module-names)
+ (operating-system-user-services
+ (simple-operating-system)))))
+ module-names))
+
(define %test-loadable-kernel-modules-0
(system-test
(name "loadable-kernel-modules-0")
@@ -129,3 +154,35 @@ with two extra modules.")
(package-arguments
ddcci-driver-linux))))))
'("acpi_call" "ddcci")))))
+
+(define %test-loadable-kernel-modules-service-0
+ (system-test
+ (name "loadable-kernel-modules-service-0")
+ (description "Tests loadable kernel modules extensible service with no
+extra modules.")
+ (value (run-loadable-kernel-modules-service-test '() '()))))
+
+(define %test-loadable-kernel-modules-service-1
+ (system-test
+ (name "loadable-kernel-modules-service-1")
+ (description "Tests loadable kernel modules extensible service with one
+extra module.")
+ (value (run-loadable-kernel-modules-service-test
+ (list ddcci-driver-linux)
+ '("ddcci")))))
+
+(define %test-loadable-kernel-modules-service-2
+ (system-test
+ (name "loadable-kernel-modules-service-2")
+ (description "Tests loadable kernel modules extensible service with two
+extra modules.")
+ (value (run-loadable-kernel-modules-service-test
+ (list acpi-call-linux-module
+ (package
+ (inherit ddcci-driver-linux)
+ (arguments
+ `(#:linux #f
+ ,@(strip-keyword-arguments '(#:linux)
+ (package-arguments
+ ddcci-driver-linux))))))
+ '("acpi_call" "ddcci")))))