From a295a1ca2942794ac52321a639128f94be595ac5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 21 Apr 2020 15:47:56 +0200 Subject: tests: ssh: Explicitly wait for port 22. Previously we could occasionally try to connect before the server is actually listening, both for OpenSSH and Dropbear. * gnu/tests/ssh.scm (run-ssh-test)["wait for port 22"]: New test. --- gnu/tests/ssh.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu/tests') diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm index a74227ea4a..10438ad22a 100644 --- a/gnu/tests/ssh.scm +++ b/gnu/tests/ssh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017 Marius Bakke ;;; @@ -136,6 +136,9 @@ root with an empty password." (current-services)))) marionette)) + (test-assert "wait for port 22" + (wait-for-tcp-port 22 marionette)) + ;; Connect to the guest over SSH. Make sure we can run a shell ;; command there. (test-equal "shell command" -- cgit v1.2.3 From aa7b3c6c0ecf7e27f0f6785908aa11e2268fa386 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 21 Apr 2020 16:28:47 +0200 Subject: tests: web: Explicitly wait for the HTTP port. * gnu/tests/web.scm (run-webserver-test)["HTTP port ready"]: New test. --- gnu/tests/web.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu/tests') diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm index 7c1c0aa511..1c984dd6f4 100644 --- a/gnu/tests/web.scm +++ b/gnu/tests/web.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017, 2020 Ludovic Courtès ;;; Copyright © 2017, 2019 Christopher Baines ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2018 Pierre-Antoine Rouby @@ -110,6 +110,9 @@ HTTP-PORT." ((pid) (number? pid)))))) marionette)) + (test-assert "HTTP port ready" + (wait-for-tcp-port #$forwarded-port marionette)) + ;; Retrieve the index.html file we put in /srv. (test-equal "http-get" '(200 #$%index.html-contents) -- cgit v1.2.3 From f91ad0b13d8d3d5b1ae92e209b1be6e8473385ba Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 22 Apr 2020 22:58:11 +0200 Subject: system: Automatically adjust linux-module packages to use the operating-system's kernel. * gnu/system.scm (package-for-kernel): New procedure. (operating-system-directory-base-entries): Use it. * gnu/tests/linux-module.scm: Test it. --- gnu/system.scm | 18 +++++++++++++++++- gnu/tests/linux-modules.scm | 11 ++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) (limited to 'gnu/tests') diff --git a/gnu/system.scm b/gnu/system.scm index 3ee2c84235..29e622872d 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -33,6 +33,7 @@ #:use-module (guix derivations) #:use-module (guix profiles) #:use-module (guix ui) + #:use-module (guix utils) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages guile) @@ -477,6 +478,16 @@ OS." (file-append (operating-system-kernel os) "/" (system-linux-image-file-name))) +(define (package-for-kernel target-kernel module-package) + "Return a package like MODULE-PACKAGE, adapted for TARGET-KERNEL, if +possible (that is if there's a LINUX keyword argument in the build system)." + (package + (inherit module-package) + (arguments + (substitute-keyword-arguments (package-arguments module-package) + ((#:linux kernel #f) + target-kernel))))) + (define* (operating-system-directory-base-entries os) "Return the basic entries of the 'system' directory of OS for use as the value of the SYSTEM-SERVICE-TYPE service." @@ -487,7 +498,12 @@ value of the SYSTEM-SERVICE-TYPE service." (kernel (profile-derivation (packages->manifest - (cons kernel modules)) + (cons kernel + (map (lambda (module) + (if (package? module) + (package-for-kernel kernel module) + module)) + modules))) #:hooks (list linux-module-database))) (initrd -> (operating-system-initrd-file os)) (params -> (operating-system-boot-parameters-file os))) diff --git a/gnu/tests/linux-modules.scm b/gnu/tests/linux-modules.scm index 788bdc848a..953b132ef7 100644 --- a/gnu/tests/linux-modules.scm +++ b/gnu/tests/linux-modules.scm @@ -28,8 +28,10 @@ #:use-module (guix derivations) #:use-module (guix gexp) #:use-module (guix modules) + #:use-module (guix packages) #:use-module (guix monads) #:use-module (guix store) + #:use-module (guix utils) #:export (%test-loadable-kernel-modules-0 %test-loadable-kernel-modules-1 %test-loadable-kernel-modules-2)) @@ -118,5 +120,12 @@ with one extra module.") (description "Tests loadable kernel modules facility of with two extra modules.") (value (run-loadable-kernel-modules-test - (list acpi-call-linux-module ddcci-driver-linux) + (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"))))) -- cgit v1.2.3