at 18.09-beta 1.4 kB view raw
1import ./make-test.nix ({ pkgs, ...} : { 2 name = "gnome3"; 3 meta = with pkgs.stdenv.lib.maintainers; { 4 maintainers = [ domenkozar eelco chaoflow lethalman ]; 5 }; 6 7 machine = 8 { ... }: 9 10 { imports = [ ./common/user-account.nix ]; 11 12 services.xserver.enable = true; 13 14 services.xserver.displayManager.gdm.enable = false; 15 services.xserver.displayManager.lightdm.enable = true; 16 services.xserver.displayManager.lightdm.autoLogin.enable = true; 17 services.xserver.displayManager.lightdm.autoLogin.user = "alice"; 18 services.xserver.desktopManager.gnome3.enable = true; 19 services.xserver.desktopManager.default = "gnome"; 20 21 virtualisation.memorySize = 1024; 22 }; 23 24 testScript = 25 '' 26 $machine->waitForX; 27 28 # wait for alice to be logged in 29 $machine->waitForUnit("default.target","alice"); 30 31 # Check that logging in has given the user ownership of devices. 32 $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); 33 34 $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); 35 $machine->succeed("xauth merge ~alice/.Xauthority"); 36 $machine->waitForWindow(qr/Terminal/); 37 $machine->succeed("timeout 900 bash -c 'while read msg; do if [[ \$msg =~ \"GNOME Shell started\" ]]; then break; fi; done < <(journalctl -f)'"); 38 $machine->sleep(10); 39 $machine->screenshot("screen"); 40 ''; 41})