Merge pull request #305845 from abathur/resholve_0.10.5
[NixPkgs.git] / nixos / tests / enlightenment.nix
blobbce14c1ddd5c32c015085e3d5804628afbfe4ec2
1 import ./make-test-python.nix ({ pkgs, ...} :
3   name = "enlightenment";
5   meta = with pkgs.lib.maintainers; {
6     maintainers = [ romildo ];
7   };
9   nodes.machine = { ... }:
10   {
11     imports = [ ./common/user-account.nix ];
12     services.xserver.enable = true;
13     services.xserver.desktopManager.enlightenment.enable = true;
14     services.xserver.displayManager = {
15       lightdm.enable = true;
16       autoLogin = {
17         enable = true;
18         user = "alice";
19       };
20     };
21     hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
22     environment.systemPackages = [ pkgs.xdotool ];
23     services.acpid.enable = true;
24     services.connman.enable = true;
25     services.connman.package = pkgs.connmanMinimal;
26   };
28   enableOCR = true;
30   testScript = { nodes, ... }: let
31     user = nodes.machine.config.users.users.alice;
32   in ''
33     with subtest("Ensure x starts"):
34         machine.wait_for_x()
35         machine.wait_for_file("${user.home}/.Xauthority")
36         machine.succeed("xauth merge ${user.home}/.Xauthority")
38     with subtest("Check that logging in has given the user ownership of devices"):
39         machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
41     with subtest("First time wizard"):
42         machine.wait_for_text("Default")  # Language
43         machine.screenshot("wizard1")
44         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
45         machine.screenshot("wizard2")
47         machine.wait_for_text("English")  # Keyboard (default)
48         machine.screenshot("wizard3")
49         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
51         machine.wait_for_text("Standard")  # Profile (default)
52         machine.screenshot("wizard4")
53         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
55         machine.wait_for_text("Title")  # Sizing (default)
56         machine.screenshot("wizard5")
57         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
59         machine.wait_for_text("clicked")  # Windows Focus
60         machine.succeed("xdotool mousemove 512 370 click 1")  # Click
61         machine.screenshot("wizard6")
62         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
64         machine.wait_for_text("Connman")  # Network Management (default)
65         machine.screenshot("wizard7")
66         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
68         machine.wait_for_text("BlusZ")  # Bluetooth Management (default)
69         machine.screenshot("wizard8")
70         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
72         machine.wait_for_text("OpenGL")  # Compositing (default)
73         machine.screenshot("wizard9")
74         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
76         machine.wait_for_text("update")  # Updates
77         machine.succeed("xdotool mousemove 512 495 click 1")  # Disable
78         machine.screenshot("wizard10")
79         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
81         machine.wait_for_text("taskbar")  # Taskbar
82         machine.succeed("xdotool mousemove 480 410 click 1")  # Enable
83         machine.screenshot("wizard11")
84         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
86         machine.wait_for_text("Home")  # The desktop
87         machine.screenshot("wizard12")
89     with subtest("Run Terminology"):
90         machine.succeed("terminology >&2 &")
91         machine.sleep(5)
92         machine.send_chars("ls --color -alF\n")
93         machine.sleep(2)
94         machine.screenshot("terminology")
95   '';