wchisp: remove overuse of with lib (#357239)
[NixPkgs.git] / nixos / tests / enlightenment.nix
blobba917e18c09f4186a7f84ee0aea695e988e6612e
1 import ./make-test-python.nix ({ pkgs, ...} :
3   name = "enlightenment";
5   meta = with pkgs.lib.maintainers; {
6     maintainers = [ romildo ];
7     timeout = 600;
8     # OCR tests are flaky
9     broken = true;
10   };
12   nodes.machine = { ... }:
13   {
14     imports = [ ./common/user-account.nix ];
15     services.xserver.enable = true;
16     services.xserver.desktopManager.enlightenment.enable = true;
17     services.xserver.displayManager = {
18       lightdm.enable = true;
19       autoLogin = {
20         enable = true;
21         user = "alice";
22       };
23     };
24     environment.systemPackages = [ pkgs.xdotool ];
25     services.acpid.enable = true;
26     services.connman.enable = true;
27     services.connman.package = pkgs.connmanMinimal;
28   };
30   enableOCR = true;
32   testScript = { nodes, ... }: let
33     user = nodes.machine.config.users.users.alice;
34   in ''
35     with subtest("Ensure x starts"):
36         machine.wait_for_x()
37         machine.wait_for_file("${user.home}/.Xauthority")
38         machine.succeed("xauth merge ${user.home}/.Xauthority")
40     with subtest("Check that logging in has given the user ownership of devices"):
41         machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
43     with subtest("First time wizard"):
44         machine.wait_for_text("Default")  # Language
45         machine.screenshot("wizard1")
46         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
47         machine.screenshot("wizard2")
49         machine.wait_for_text("English")  # Keyboard (default)
50         machine.screenshot("wizard3")
51         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
53         machine.wait_for_text("Standard")  # Profile (default)
54         machine.screenshot("wizard4")
55         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
57         machine.wait_for_text("Title")  # Sizing (default)
58         machine.screenshot("wizard5")
59         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
61         machine.wait_for_text("clicked")  # Windows Focus
62         machine.succeed("xdotool mousemove 512 370 click 1")  # Click
63         machine.screenshot("wizard6")
64         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
66         machine.wait_for_text("Connman")  # Network Management (default)
67         machine.screenshot("wizard7")
68         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
70         machine.wait_for_text("BlusZ")  # Bluetooth Management (default)
71         machine.screenshot("wizard8")
72         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
74         machine.wait_for_text("OpenGL")  # Compositing (default)
75         machine.screenshot("wizard9")
76         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
78         machine.wait_for_text("update")  # Updates
79         machine.succeed("xdotool mousemove 512 495 click 1")  # Disable
80         machine.screenshot("wizard10")
81         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
83         machine.wait_for_text("taskbar")  # Taskbar
84         machine.succeed("xdotool mousemove 480 410 click 1")  # Enable
85         machine.screenshot("wizard11")
86         machine.succeed("xdotool mousemove 512 740 click 1")  # Next
88         machine.wait_for_text("Home")  # The desktop
89         machine.screenshot("wizard12")
91     with subtest("Run Terminology"):
92         machine.succeed("terminology >&2 &")
93         machine.sleep(5)
94         machine.send_chars("ls --color -alF\n")
95         machine.sleep(2)
96         machine.screenshot("terminology")
97   '';