at 23.11-beta 1.9 kB view raw
1import ./make-test-python.nix ({ pkgs, lib, ...} : { 2 name = "gnome-flashback"; 3 meta.maintainers = lib.teams.gnome.members ++ [ lib.maintainers.chpatrick ]; 4 5 nodes.machine = { nodes, ... }: 6 let 7 user = nodes.machine.users.users.alice; 8 in 9 10 { imports = [ ./common/user-account.nix ]; 11 12 services.xserver.enable = true; 13 14 services.xserver.displayManager = { 15 gdm.enable = true; 16 gdm.debug = true; 17 autoLogin = { 18 enable = true; 19 user = user.name; 20 }; 21 }; 22 23 services.xserver.desktopManager.gnome.enable = true; 24 services.xserver.desktopManager.gnome.debug = true; 25 services.xserver.desktopManager.gnome.flashback.enableMetacity = true; 26 services.xserver.displayManager.defaultSession = "gnome-flashback-metacity"; 27 }; 28 29 testScript = { nodes, ... }: let 30 user = nodes.machine.users.users.alice; 31 uid = toString user.uid; 32 xauthority = "/run/user/${uid}/gdm/Xauthority"; 33 in '' 34 with subtest("Login to GNOME Flashback with GDM"): 35 machine.wait_for_x() 36 machine.wait_until_succeeds('journalctl -t gnome-session-binary --grep "Entering running state"') 37 # Wait for alice to be logged in" 38 machine.wait_for_unit("default.target", "${user.name}") 39 machine.wait_for_file("${xauthority}") 40 machine.succeed("xauth merge ${xauthority}") 41 # Check that logging in has given the user ownership of devices 42 assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") 43 44 with subtest("Wait for Metacity"): 45 machine.wait_until_succeeds("pgrep metacity") 46 47 with subtest("Regression test for #233920"): 48 machine.wait_until_succeeds("pgrep -fa gnome-flashback-media-keys") 49 machine.sleep(20) 50 machine.screenshot("screen") 51 ''; 52})