diff mbox series

[bug#60756,v3,2/2] tests: gdm: Remove tmpfs related tests.

Message ID 56f1f2fbd4a0b9b442a53ebb41137a1d982d4bbe.1678105938.git.mirai@makinata.eu
State New
Headers show
Series [bug#60756,v3,1/2] services: Add x11-socket-directory-service-type. | expand

Commit Message

Bruno Victal March 6, 2023, 12:35 p.m. UTC
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]: <https://issues.guix.gnu.org/57589>

* 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.
---

Changes since v2:
* Tweaked commit message.
* substitute let* with let

 gnu/tests/gdm.scm | 40 +++++++++++++---------------------------
 1 file changed, 13 insertions(+), 27 deletions(-)
diff mbox series

Patch

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 @@  (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))))
-
-(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 @@  (define* (run-gdm-test #:key wayland? tmp-tmpfs?)
      (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* (run-gdm-test #:key wayland? tmp-tmpfs?)
                        (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* (run-gdm-test #:key wayland? tmp-tmpfs?)
             (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 <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))))