From 03808546e54b3e94d2eb3b4fdeb38864cb43dc0f Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 13 May 2021 20:35:45 +0200 Subject: nixos/tests/sway: test GPG's pinentry pop-up This test is important to confirm that $WAYLAND_DISPLAY is correctly imported via "dbus-update-activation-environment --systemd" which is done by default since #122605 (00e8e5b123f). It ensures that the gnome3-pinentry pop-ups work as expected to avoid regressions like #119445 (which also broke screen sharing). --- nixos/tests/sway.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'nixos') diff --git a/nixos/tests/sway.nix b/nixos/tests/sway.nix index fad7f7dc4e6..1d23b0e9431 100644 --- a/nixos/tests/sway.nix +++ b/nixos/tests/sway.nix @@ -38,6 +38,9 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : programs.sway.enable = true; + # To test pinentry via gpg-agent: + programs.gnupg.agent.enable = true; + virtualisation.memorySize = 1024; # Need to switch to a different VGA card / GPU driver than the default one (std) so that Sway can launch: virtualisation.qemu.options = [ "-vga virtio" ]; @@ -80,6 +83,17 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : machine.send_key("alt-shift-q") machine.wait_until_fails("pgrep alacritty") + # Test gpg-agent starting pinentry-gnome3 via D-Bus (tests if + # $WAYLAND_DISPLAY is correctly imported into the D-Bus user env): + machine.succeed( + "su - alice -c 'swaymsg -- exec gpg --no-tty --yes --quick-generate-key test'" + ) + machine.wait_until_succeeds("pgrep --exact gpg") + machine.wait_for_text("Passphrase") + machine.screenshot("gpg_pinentry") + machine.send_key("alt-shift-q") + machine.wait_until_fails("pgrep --exact gpg") + # Test swaynag: machine.send_key("alt-shift-e") machine.wait_for_text("You pressed the exit shortcut.") -- cgit 1.4.1