From 35a5dfbfa3c3a5efb0547e8d4c96819ca65e75ca Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 25 Aug 2025 10:27:07 +0300 Subject: [PATCH] nixos/tests: fix tests that use SDDM Newer versions of SDDM moved the Xauth cookie from /tmp to $XDG_RUNTIME_DIR, so update tests accordingly. Also, add a delay before reading the cookie, as SDDM does not create the file atomically, so it's possible we try to read it before the cookie is actually written. --- nixos/tests/lxqt.nix | 1 + nixos/tests/maestral.nix | 5 +++-- nixos/tests/plasma6.nix | 8 ++++---- nixos/tests/retroarch.nix | 5 +++-- nixos/tests/sddm.nix | 2 ++ 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/nixos/tests/lxqt.nix b/nixos/tests/lxqt.nix index a685a21536bb..99b507ff28a3 100644 --- a/nixos/tests/lxqt.nix +++ b/nixos/tests/lxqt.nix @@ -37,6 +37,7 @@ with subtest("Wait for login"): machine.wait_for_x() machine.wait_for_file("/tmp/xauth_*") + machine.sleep(1) machine.succeed("xauth merge /tmp/xauth_*") machine.succeed("su - ${user.name} -c 'xauth merge /tmp/xauth_*'") diff --git a/nixos/tests/maestral.nix b/nixos/tests/maestral.nix index 30491a496b93..57e07b7e76f8 100644 --- a/nixos/tests/maestral.nix +++ b/nixos/tests/maestral.nix @@ -70,8 +70,9 @@ with subtest("GUI"): gui.wait_for_x() - gui.wait_for_file("/tmp/xauth_*") - gui.succeed("xauth merge /tmp/xauth_*") + gui.wait_for_file("/run/user/1000/xauth_*") + gui.sleep(1) + gui.succeed("xauth merge /run/user/1000/xauth_*") gui.wait_for_window("^Desktop ") gui.wait_for_unit("maestral.service", "${user.name}") ''; diff --git a/nixos/tests/plasma6.nix b/nixos/tests/plasma6.nix index b10d829102ad..5b350ef54382 100644 --- a/nixos/tests/plasma6.nix +++ b/nixos/tests/plasma6.nix @@ -32,8 +32,10 @@ '' with subtest("Wait for login"): start_all() - machine.wait_for_file("/tmp/xauth_*") - machine.succeed("xauth merge /tmp/xauth_*") + machine.wait_for_file("/run/user/1000/xauth_*") + machine.sleep(1) + machine.succeed("xauth merge /run/user/1000/xauth_*") + machine.succeed("su - ${user.name} -c 'xauth merge /run/user/1000/xauth_*'") with subtest("Check plasmashell started"): machine.wait_until_succeeds("pgrep plasmashell") @@ -45,8 +47,6 @@ with subtest("Ensure Elisa is not installed"): machine.fail("which elisa") - machine.succeed("su - ${user.name} -c 'xauth merge /tmp/xauth_*'") - with subtest("Run Dolphin"): machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 dolphin >&2 &'") machine.wait_for_window(" Dolphin") diff --git a/nixos/tests/retroarch.nix b/nixos/tests/retroarch.nix index 9f700ed290ef..bd3d0263d7f5 100644 --- a/nixos/tests/retroarch.nix +++ b/nixos/tests/retroarch.nix @@ -35,8 +35,9 @@ '' with subtest("Wait for login"): start_all() - machine.wait_for_file("/tmp/xauth_*") - machine.succeed("xauth merge /tmp/xauth_*") + machine.wait_for_file("/run/sddm/xauth_*") + machine.sleep(1) + machine.succeed("xauth merge /run/sddm/xauth_*") with subtest("Check RetroArch started"): machine.wait_until_succeeds("pgrep retroarch") diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix index ca3525712d33..014c8d379748 100644 --- a/nixos/tests/sddm.nix +++ b/nixos/tests/sddm.nix @@ -24,6 +24,7 @@ machine.screenshot("sddm") machine.send_chars("${user.password}\n") machine.wait_for_file("/tmp/xauth_*") + machine.sleep(1) machine.succeed("xauth merge /tmp/xauth_*") machine.wait_for_window("^IceWM ") ''; @@ -54,6 +55,7 @@ testScript = '' start_all() machine.wait_for_file("/tmp/xauth_*") + machine.sleep(1) machine.succeed("xauth merge /tmp/xauth_*") machine.wait_for_window("^IceWM ") '';