1 import ./make-test-python.nix ({ pkgs, ...} :
3 name = "enlightenment";
5 meta = with pkgs.lib.maintainers; {
6 maintainers = [ romildo ];
9 nodes.machine = { ... }:
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;
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;
30 testScript = { nodes, ... }: let
31 user = nodes.machine.config.users.users.alice;
33 with subtest("Ensure x starts"):
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 &")
92 machine.send_chars("ls --color -alF\n")
94 machine.screenshot("terminology")