at 23.11-pre 1.6 kB view raw
1import ./make-test-python.nix ({ pkgs, lib, ... }: { 2 name = "budgie"; 3 4 meta.maintainers = [ lib.maintainers.federicoschonborn ]; 5 6 nodes.machine = { ... }: { 7 imports = [ 8 ./common/user-account.nix 9 ]; 10 11 services.xserver.enable = true; 12 13 services.xserver.displayManager = { 14 lightdm.enable = true; 15 autoLogin = { 16 enable = true; 17 user = "alice"; 18 }; 19 }; 20 21 services.xserver.desktopManager.budgie = { 22 enable = true; 23 extraPlugins = [ 24 pkgs.budgiePlugins.budgie-analogue-clock-applet 25 ]; 26 }; 27 }; 28 29 testScript = { nodes, ... }: 30 let 31 user = nodes.machine.users.users.alice; 32 in 33 '' 34 with subtest("Wait for login"): 35 machine.wait_for_x() 36 machine.wait_for_file("${user.home}/.Xauthority") 37 machine.succeed("xauth merge ${user.home}/.Xauthority") 38 39 with subtest("Check that logging in has given the user ownership of devices"): 40 machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") 41 42 with subtest("Check if Budgie session components actually start"): 43 machine.wait_until_succeeds("pgrep budgie-daemon") 44 machine.wait_for_window("budgie-daemon") 45 machine.wait_until_succeeds("pgrep budgie-panel") 46 machine.wait_for_window("budgie-panel") 47 48 with subtest("Open MATE terminal"): 49 machine.succeed("su - ${user.name} -c 'DISPLAY=:0 mate-terminal >&2 &'") 50 machine.wait_for_window("Terminal") 51 machine.sleep(20) 52 machine.screenshot("screen") 53 ''; 54})