diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 7146aebf54b..ffa087bb6f2 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -136,6 +136,7 @@ in rec { (all nixos.tests.switchTest) (all nixos.tests.udisks2) (all nixos.tests.xfce) + (all nixos.tests.xfce4-14) nixpkgs.tarball (all allSupportedNixpkgs.emacs) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4eeee9c35c0..47eaec7c783 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -273,6 +273,7 @@ in xautolock = handleTest ./xautolock.nix {}; xdg-desktop-portal = handleTest ./xdg-desktop-portal.nix {}; xfce = handleTest ./xfce.nix {}; + xfce4-14 = handleTest ./xfce4-14.nix {}; xmonad = handleTest ./xmonad.nix {}; xrdp = handleTest ./xrdp.nix {}; xss-lock = handleTest ./xss-lock.nix {}; diff --git a/nixos/tests/xfce4-14.nix b/nixos/tests/xfce4-14.nix new file mode 100644 index 00000000000..d9b10aabaa1 --- /dev/null +++ b/nixos/tests/xfce4-14.nix @@ -0,0 +1,33 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "xfce4-14"; + + machine = + { pkgs, ... }: + + { imports = [ ./common/user-account.nix ]; + + services.xserver.enable = true; + + services.xserver.displayManager.auto.enable = true; + services.xserver.displayManager.auto.user = "alice"; + + services.xserver.desktopManager.xfce4-14.enable = true; + }; + + testScript = + '' + $machine->waitForX; + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); + $machine->waitForWindow(qr/xfce4-panel/); + $machine->sleep(10); + + # Check that logging in has given the user ownership of devices. + $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); + + $machine->succeed("su - alice -c 'DISPLAY=:0.0 xfce4-terminal &'"); + $machine->waitForWindow(qr/Terminal/); + $machine->sleep(10); + $machine->screenshot("screen"); + ''; +})