at 23.11-pre 1.7 kB view raw
1import ./make-test-python.nix ({ pkgs, lib, ... }: { 2 name = "deepin"; 3 4 meta = with lib; { 5 maintainers = teams.deepin.members; 6 }; 7 8 nodes.machine = { ... }: { 9 imports = [ 10 ./common/user-account.nix 11 ]; 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 DDE wm chooser actually start"): 40 machine.wait_until_succeeds("pgrep -f dde-wm-chooser") 41 machine.wait_for_window("dde-wm-chooser") 42 machine.execute("pkill dde-wm-chooser") 43 44 45 with subtest("Check if Deepin session components actually start"): 46 machine.wait_until_succeeds("pgrep -f dde-session-daemon") 47 machine.wait_for_window("dde-session-daemon") 48 machine.wait_until_succeeds("pgrep -f dde-desktop") 49 machine.wait_for_window("dde-desktop") 50 51 with subtest("Open deepin-terminal"): 52 machine.succeed("su - ${user.name} -c 'DISPLAY=:0 deepin-terminal >&2 &'") 53 machine.wait_for_window("deepin-terminal") 54 machine.sleep(20) 55 machine.screenshot("screen") 56 ''; 57})