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