From 0c53cbcc5686ad54f41e54ca5137352a8e49323b Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Mon, 6 Mar 2023 12:35:02 +0000 Subject: [PATCH] tests: gdm: Remove tmpfs related tests. This test never managed to reveal the problem described in [1] because from gnu/system/vm.scm it is seen that our "/tmp" mount is filtered out and replaced with a "/tmp" file-system that is mounted with (needed-for-boot? #t). This last bit is crucial as the problem was caused by the user specified "/tmp" file-system lacking this part which caused "/tmp" being mounted after x11-socket-directory-service has run, effectively shadowing the directory. [1]: * gnu/tests/gdm.scm (%test-gdm-wayland-tmpfs): Delete variable. (make-os): Remove tmpfs? argument. (run-gdm-test): Remove tmpfs? argument. Add a small delay since waiting for gdm.pid is not enough, causing the tests to fail sporadically. Reviewed-by: Josselin Poiret Signed-off-by: Maxim Cournoyer --- gnu/tests/gdm.scm | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 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 . +;;; Copyright © 2022⁠–⁠2023 Bruno Victal . ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,36 +23,26 @@ (define-module (gnu tests gdm) #: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)))) + (wayland? wayland?))))))) -(define* (run-gdm-test #:key wayland? tmp-tmpfs?) +(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 @@ (define vm (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 @@ (define test (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 @@ (define test (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 @@ (define %test-gdm-wayland (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 . - (name "gdm-wayland-tmpfs") - (description "Basic tests for the GDM service. (Wayland, /tmp as tmpfs)") - (value (run-gdm-test #:wayland? #t #:tmp-tmpfs? #t))))