nixos/tests: better handling of SDDM xauth files

Clearly, the sleep is not sleeping enough, so actually wait
for the cookie to be written (and hope that it doesn't get
split into multiple writes...)

K900 68c2b33e aa0f1764

+1 -1
nixos/tests/lxqt.nix
···
with subtest("Wait for login"):
machine.wait_for_x()
machine.wait_for_file("/tmp/xauth_*")
-
machine.sleep(1)
+
machine.wait_until_succeeds("test -s /tmp/xauth_*")
machine.succeed("xauth merge /tmp/xauth_*")
machine.succeed("su - ${user.name} -c 'xauth merge /tmp/xauth_*'")
+1 -1
nixos/tests/maestral.nix
···
with subtest("GUI"):
gui.wait_for_x()
gui.wait_for_file("/run/user/1000/xauth_*")
-
gui.sleep(1)
+
gui.wait_until_succeeds("test -s /run/user/1000/xauth_*")
gui.succeed("xauth merge /run/user/1000/xauth_*")
gui.wait_for_window("^Desktop ")
gui.wait_for_unit("maestral.service", "${user.name}")
+1 -1
nixos/tests/plasma6.nix
···
with subtest("Wait for login"):
start_all()
machine.wait_for_file("/run/user/1000/xauth_*")
-
machine.sleep(1)
+
machine.wait_until_succeeds("test -s /run/user/1000/xauth_*")
machine.succeed("xauth merge /run/user/1000/xauth_*")
machine.succeed("su - ${user.name} -c 'xauth merge /run/user/1000/xauth_*'")
+1 -1
nixos/tests/retroarch.nix
···
with subtest("Wait for login"):
start_all()
machine.wait_for_file("/run/sddm/xauth_*")
-
machine.sleep(1)
+
machine.wait_until_succeeds("test -s /run/sddm/xauth_*")
machine.succeed("xauth merge /run/sddm/xauth_*")
with subtest("Check RetroArch started"):
+2 -2
nixos/tests/sddm.nix
···
machine.screenshot("sddm")
machine.send_chars("${user.password}\n")
machine.wait_for_file("/tmp/xauth_*")
-
machine.sleep(1)
+
machine.wait_until_succeeds("test -s /tmp/xauth_*")
machine.succeed("xauth merge /tmp/xauth_*")
machine.wait_for_window("^IceWM ")
'';
···
testScript = ''
start_all()
machine.wait_for_file("/tmp/xauth_*")
-
machine.sleep(1)
+
machine.wait_until_succeeds("test -s /tmp/xauth_*")
machine.succeed("xauth merge /tmp/xauth_*")
machine.wait_for_window("^IceWM ")
'';