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