From ab2abe16debaae362ea04f32d66332423d2dba1b Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Fri, 30 Jun 2023 14:58:13 +0100 Subject: tests: gdm: Prefer OCR to delay. * gnu/tests/gdm.scm (run-gdm-test): Use wait-for-screen-text instead of sleep. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/tests/gdm.scm | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'gnu/tests') diff --git a/gnu/tests/gdm.scm b/gnu/tests/gdm.scm index ec1df4b797..6779337e09 100644 --- a/gnu/tests/gdm.scm +++ b/gnu/tests/gdm.scm @@ -19,6 +19,7 @@ (define-module (gnu tests gdm) #:use-module (gnu tests) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages ocr) #:use-module (gnu services) #:use-module (gnu services desktop) #:use-module (gnu services xorg) @@ -57,6 +58,7 @@ (define test #~(begin (use-modules (gnu build marionette) (ice-9 format) + (srfi srfi-26) (srfi srfi-64)) (let ((marionette (make-marionette (list #$vm))) @@ -73,11 +75,19 @@ (define test (start-service 'xorg-server)) marionette)) - (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-group "gdm ready" + (test-assert "PID file present" + (wait-for-file "/var/run/gdm/gdm.pid" marionette)) + + ;; Waiting for gdm.pid is not enough, tests may still sporadically + ;; fail; ensure that the login screen is up. + ;; XXX: GNU Ocrad works but with '--invert' only. + (test-assert "login screen up" + (wait-for-screen-text marionette + (cut string-contains <> "Guix") + #:ocr #$(file-append ocrad "/bin/ocrad") + #:ocr-arguments '("--invert") + #:timeout 120))) ;for slow systems (test-equal (string-append "session-type is " expected-session-type) expected-session-type -- cgit v1.2.3