diff options
Diffstat (limited to 'nixos/tests/xfce.nix')
-rw-r--r-- | nixos/tests/xfce.nix | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix index 7ff623062d9..3ea96b38363 100644 --- a/nixos/tests/xfce.nix +++ b/nixos/tests/xfce.nix @@ -1,8 +1,5 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "xfce"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco shlevy ]; - }; machine = { pkgs, ... }: @@ -16,31 +13,26 @@ import ./make-test.nix ({ pkgs, ...} : { services.xserver.desktopManager.xfce.enable = true; - environment.systemPackages = [ pkgs.xorg.xmessage ]; - hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then virtualisation.memorySize = 1024; }; - testScript = - '' - $machine->waitForX; - $machine->waitForFile("/home/alice/.Xauthority"); - $machine->succeed("xauth merge ~alice/.Xauthority"); - $machine->waitForWindow(qr/xfce4-panel/); - $machine->sleep(10); + testScript = { nodes, ... }: let + user = nodes.machine.config.users.users.alice; + in '' + machine.wait_for_x() + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") + machine.wait_for_window("xfce4-panel") + machine.sleep(10) # Check that logging in has given the user ownership of devices. - $machine->succeed("getfacl -p /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"); + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") - # Ensure that the X server does proper access control. - $machine->mustFail("su - bob -c 'DISPLAY=:0.0 xmessage Foo'"); - $machine->mustFail("su - bob -c 'DISPLAY=:0 xmessage Foo'"); + machine.succeed("su - ${user.name} -c 'DISPLAY=:0.0 xfce4-terminal &'") + machine.wait_for_window("Terminal") + machine.sleep(10) + machine.screenshot("screen") ''; }) |