at 23.11-pre 1.7 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.config.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.config.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 # Wait for alice to be logged in" 37 machine.wait_for_unit("default.target", "${user.name}") 38 machine.wait_for_file("${xauthority}") 39 machine.succeed("xauth merge ${xauthority}") 40 # Check that logging in has given the user ownership of devices 41 assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") 42 43 with subtest("Wait for Metacity"): 44 machine.wait_until_succeeds( 45 "pgrep metacity" 46 ) 47 machine.sleep(20) 48 machine.screenshot("screen") 49 ''; 50})