Skip to content

Commit

Permalink
try gnome
Browse files Browse the repository at this point in the history
  • Loading branch information
RebeccaMahany committed Jan 19, 2024
1 parent d248829 commit 1e791ad
Showing 1 changed file with 53 additions and 16 deletions.
69 changes: 53 additions & 16 deletions tests/kolide-launcher.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,33 @@ pkgs.nixosTest {
uid = 1000;
};

# Add Gnome extensions
environment.systemPackages = with pkgs; [
gnomeExtensions.appindicator
gnome.adwaita-icon-theme
];
services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];

services.xserver.enable = true;
services.xserver.displayManager = {
lightdm.enable = true;
gdm.enable = true;
gdm.debug = true;
autoLogin = {
enable = true;
user = "alice";
};
};
services.xserver.desktopManager.mate.enable = true;
services.xserver.desktopManager.mate.debug = true;
services.xserver.desktopManager.gnome.enable = true;
systemd.user.services = {
"org.gnome.Shell@wayland" = {
serviceConfig = {
ExecStart = [
""
"${pkgs.gnome.gnome-shell}/bin/gnome-shell --unsafe-mode"
];
};
};
};

# This just quiets some log spam we don't care about
hardware.pulseaudio.enable = true;
Expand All @@ -47,26 +64,46 @@ pkgs.nixosTest {
let
user = nodes.machine.users.users.alice;
uid = toString user.uid;
xauthority = "${user.home}/.Xauthority";
# xauthority = "${user.home}/.Xauthority";
ci = builtins.getEnv "CI";

bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus";
run = command: "su - ${user.name} -c '${bus} ${command}'";
eval = command: run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}";
startingUp = eval "Main.layoutManager._startingUp";
launchConsole = run "gapplication launch org.gnome.Console";
wmClass = eval "global.display.focus_window.wm_class";
in
''
if "${ci}":
machine.start()
with subtest("log in to MATE"):
machine.wait_for_unit("display-manager.service", timeout=120)
machine.wait_for_file("${xauthority}")
machine.succeed("xauth merge ${xauthority}")
machine.wait_until_succeeds("pgrep marco")
machine.wait_for_window("marco")
machine.wait_until_succeeds("pgrep mate-panel")
machine.wait_for_window("Top Panel")
machine.wait_for_window("Bottom Panel")
machine.wait_until_succeeds("pgrep caja")
machine.wait_for_window("Caja")
with subtest("log in to GNOME"):
machine.wait_for_unit("display-manager.service")
machine.wait_for_file("/run/user/${uid}/wayland-0")
machine.wait_for_unit("default.target", "${user.name}")
assert "alice" in machine.succeed("getfacl -p /dev/snd/timer")
with subtest("wait for GNOME Shell"):
machine.wait_until_succeeds(
"${startingUp} | grep -q 'true,..false'"
)
machine.screenshot("test-1.png")
with subtest("open console"):
machine.send_key("esc")
machine.succeed(
"${launchConsole}"
)
machine.wait_until_succeeds(
"${wmClass} | grep -q 'true,...org.gnome.Console'"
)
machine.sleep(20)
machine.screenshot("test-screen1.png")
machine.screenshot("test-2.png")
with subtest("enable appindicator extension"):
machine.succeed("${run "gnome-extensions enable [email protected]"}")
machine.screenshot("test-3.png")
with subtest("set up secret file"):
machine.copy_from_host("${./test-secret}", "/etc/kolide-k2/secret")
Expand Down

0 comments on commit 1e791ad

Please sign in to comment.