diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index dccc3acbf464..ed5c4769d0a3 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -61,6 +61,7 @@ in rec { (all nixos.tests.printing) (all nixos.tests.proxy) (all nixos.tests.xfce) + (all nixos.tests.gnome3) nixpkgs.tarball (all nixpkgs.emacs) diff --git a/nixos/tests/default.nix b/nixos/tests/default.nix index 574e1dd2f8b8..b37a0d5fa0c9 100644 --- a/nixos/tests/default.nix +++ b/nixos/tests/default.nix @@ -12,6 +12,7 @@ with import ../lib/testing.nix { inherit system minimal; }; firewall = makeTest (import ./firewall.nix); installer = makeTests (import ./installer.nix); efi-installer = makeTests (import ./efi-installer.nix); + gnome3 = makeTest (import ./gnome3.nix); ipv6 = makeTest (import ./ipv6.nix); kde4 = makeTest (import ./kde4.nix); #kexec = makeTest (import ./kexec.nix); diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix new file mode 100644 index 000000000000..98a76137842e --- /dev/null +++ b/nixos/tests/gnome3.nix @@ -0,0 +1,31 @@ +{ pkgs, ... }: + +{ + + machine = + { config, 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.gnome3.enable = true; + }; + + testScript = + '' + $machine->waitForX; + $machine->sleep(15); + + # 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 gnome-terminal &'"); + $machine->waitForWindow(qr/Terminal/); + $machine->sleep(10); + $machine->screenshot("screen"); + ''; + +}