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]: <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. Reviewed-by: Josselin Poiret <dev@jpoiret.xyz> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
parent
b7506eb334
commit
0c53cbcc56
@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
@ -23,36 +23,26 @@
|
|||||||
#:use-module (gnu services desktop)
|
#:use-module (gnu services desktop)
|
||||||
#:use-module (gnu services xorg)
|
#:use-module (gnu services xorg)
|
||||||
#:use-module (gnu system)
|
#:use-module (gnu system)
|
||||||
#:use-module (gnu system file-systems)
|
|
||||||
#:use-module (gnu system vm)
|
#:use-module (gnu system vm)
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (ice-9 format)
|
#:use-module (ice-9 format)
|
||||||
#:export (%test-gdm-x11
|
#:export (%test-gdm-x11
|
||||||
%test-gdm-wayland
|
%test-gdm-wayland))
|
||||||
%test-gdm-wayland-tmpfs))
|
|
||||||
|
|
||||||
(define* (make-os #:key wayland? tmp-tmpfs?)
|
(define* (make-os #:key wayland?)
|
||||||
(operating-system
|
(operating-system
|
||||||
(inherit %simple-os)
|
(inherit %simple-os)
|
||||||
(services
|
(services
|
||||||
(modify-services %desktop-services
|
(modify-services %desktop-services
|
||||||
(gdm-service-type config => (gdm-configuration
|
(gdm-service-type config => (gdm-configuration
|
||||||
(inherit config)
|
(inherit config)
|
||||||
(wayland? wayland?)))))
|
(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?)
|
(define* (run-gdm-test #:key wayland?)
|
||||||
"Run tests in a vm which has gdm running."
|
"Run tests in a vm which has gdm running."
|
||||||
(define os
|
(define os
|
||||||
(marionette-operating-system
|
(marionette-operating-system
|
||||||
(make-os #:wayland? wayland? #:tmp-tmpfs? tmp-tmpfs?)
|
(make-os #:wayland? wayland?)
|
||||||
#:imported-modules '((gnu services herd))))
|
#:imported-modules '((gnu services herd))))
|
||||||
|
|
||||||
(define vm
|
(define vm
|
||||||
@ -60,7 +50,7 @@
|
|||||||
(operating-system os)
|
(operating-system os)
|
||||||
(memory-size 1024)))
|
(memory-size 1024)))
|
||||||
|
|
||||||
(define name (format #f "gdm-~:[x11~;wayland~]~:[~;-tmpfs~]" wayland? tmp-tmpfs?))
|
(define name (format #f "gdm-~:[x11~;wayland~]" wayland?))
|
||||||
|
|
||||||
(define test
|
(define test
|
||||||
(with-imported-modules '((gnu build marionette))
|
(with-imported-modules '((gnu build marionette))
|
||||||
@ -69,8 +59,8 @@
|
|||||||
(ice-9 format)
|
(ice-9 format)
|
||||||
(srfi srfi-64))
|
(srfi srfi-64))
|
||||||
|
|
||||||
(let* ((marionette (make-marionette (list #$vm)))
|
(let ((marionette (make-marionette (list #$vm)))
|
||||||
(expected-session-type #$(if wayland? "wayland" "x11")))
|
(expected-session-type #$(if wayland? "wayland" "x11")))
|
||||||
|
|
||||||
(test-runner-current (system-test-runner #$output))
|
(test-runner-current (system-test-runner #$output))
|
||||||
(test-begin #$name)
|
(test-begin #$name)
|
||||||
@ -86,6 +76,9 @@
|
|||||||
(test-assert "gdm ready"
|
(test-assert "gdm ready"
|
||||||
(wait-for-file "/var/run/gdm/gdm.pid" marionette))
|
(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)
|
(test-equal (string-append "session-type is " expected-session-type)
|
||||||
expected-session-type
|
expected-session-type
|
||||||
(marionette-eval
|
(marionette-eval
|
||||||
@ -118,10 +111,3 @@
|
|||||||
(name "gdm-wayland")
|
(name "gdm-wayland")
|
||||||
(description "Basic tests for the GDM service. (Wayland)")
|
(description "Basic tests for the GDM service. (Wayland)")
|
||||||
(value (run-gdm-test #:wayland? #t))))
|
(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))))
|
|
||||||
|
Loading…
Reference in New Issue
Block a user