diff options
-rw-r--r-- | gnu/tests/gdm.scm | 40 |
1 files changed, 13 insertions, 27 deletions
diff --git a/gnu/tests/gdm.scm b/gnu/tests/gdm.scm index 70a86b9065..ec1df4b797 100644 --- a/gnu/tests/gdm.scm +++ b/gnu/tests/gdm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu>. +;;; Copyright © 2022–2023 Bruno Victal <mirai@makinata.eu>. ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,36 +23,26 @@ #:use-module (gnu services desktop) #:use-module (gnu services xorg) #:use-module (gnu system) - #:use-module (gnu system file-systems) #:use-module (gnu system vm) #:use-module (guix gexp) #:use-module (ice-9 format) #:export (%test-gdm-x11 - %test-gdm-wayland - %test-gdm-wayland-tmpfs)) + %test-gdm-wayland)) -(define* (make-os #:key wayland? tmp-tmpfs?) +(define* (make-os #:key wayland?) (operating-system (inherit %simple-os) (services (modify-services %desktop-services (gdm-service-type config => (gdm-configuration (inherit config) - (wayland? wayland?))))) - (file-systems (if tmp-tmpfs? (cons (file-system - (mount-point "/tmp") - (device "none") - (type "tmpfs") - (flags '(no-dev no-suid)) - (check? #f)) - %base-file-systems) - %base-file-systems)))) - -(define* (run-gdm-test #:key wayland? tmp-tmpfs?) + (wayland? wayland?))))))) + +(define* (run-gdm-test #:key wayland?) "Run tests in a vm which has gdm running." (define os (marionette-operating-system - (make-os #:wayland? wayland? #:tmp-tmpfs? tmp-tmpfs?) + (make-os #:wayland? wayland?) #:imported-modules '((gnu services herd)))) (define vm @@ -60,7 +50,7 @@ (operating-system os) (memory-size 1024))) - (define name (format #f "gdm-~:[x11~;wayland~]~:[~;-tmpfs~]" wayland? tmp-tmpfs?)) + (define name (format #f "gdm-~:[x11~;wayland~]" wayland?)) (define test (with-imported-modules '((gnu build marionette)) @@ -69,8 +59,8 @@ (ice-9 format) (srfi srfi-64)) - (let* ((marionette (make-marionette (list #$vm))) - (expected-session-type #$(if wayland? "wayland" "x11"))) + (let ((marionette (make-marionette (list #$vm))) + (expected-session-type #$(if wayland? "wayland" "x11"))) (test-runner-current (system-test-runner #$output)) (test-begin #$name) @@ -86,6 +76,9 @@ (test-assert "gdm ready" (wait-for-file "/var/run/gdm/gdm.pid" marionette)) + ;; waiting for gdm.pid is not enough, tests may still sporadically fail. + (sleep 1) + (test-equal (string-append "session-type is " expected-session-type) expected-session-type (marionette-eval @@ -118,10 +111,3 @@ (name "gdm-wayland") (description "Basic tests for the GDM service. (Wayland)") (value (run-gdm-test #:wayland? #t)))) - -(define %test-gdm-wayland-tmpfs - (system-test - ;; See <https://issues.guix.gnu.org/57589>. - (name "gdm-wayland-tmpfs") - (description "Basic tests for the GDM service. (Wayland, /tmp as tmpfs)") - (value (run-gdm-test #:wayland? #t #:tmp-tmpfs? #t)))) |