at 18.09-beta 1.3 kB view raw
1import ./make-test.nix ({ pkgs, ...} : { 2 name = "gnome3-gdm"; 3 meta = with pkgs.stdenv.lib.maintainers; { 4 maintainers = [ 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 = { 15 enable = true; 16 autoLogin = { 17 enable = true; 18 user = "alice"; 19 }; 20 }; 21 services.xserver.desktopManager.gnome3.enable = true; 22 23 virtualisation.memorySize = 1024; 24 }; 25 26 testScript = 27 '' 28 # wait for gdm to start and bring up X 29 $machine->waitForUnit("display-manager.service"); 30 $machine->waitForX; 31 32 # wait for alice to be logged in 33 $machine->waitForUnit("default.target","alice"); 34 35 # Check that logging in has given the user ownership of devices. 36 $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); 37 38 # open a terminal and check it's there 39 $machine->succeed("su - alice -c 'DISPLAY=:0.0 XAUTHORITY=/run/user/\$UID/gdm/Xauthority gnome-terminal'"); 40 $machine->succeed("xauth merge /run/user/1000/gdm/Xauthority"); 41 $machine->waitForWindow(qr/Terminal/); 42 43 # wait to get a nice screenshot 44 $machine->sleep(20); 45 $machine->screenshot("screen"); 46 ''; 47})