Unverified Commit 31b1c935 authored by h7x4's avatar h7x4 Committed by GitHub
Browse files

nixos/tests/ringboard: make more resistant against race condition (#462163)

parents 2b9409db 4ac0b857
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
}:
{
  name = "ringboard";
  meta = { inherit (pkgs.ringboard.meta) maintainers; };
  meta.maintainers = pkgs.ringboard.meta.maintainers ++ (with lib.maintainers; [ h7x4 ]);

  nodes.machine = {
    imports = [
@@ -17,12 +17,14 @@
    test-support.displayManager.auto.user = "alice";

    services.xserver.displayManager.sessionCommands = ''
      '${lib.getExe pkgs.gedit}' &
      '${lib.getExe pkgs.gedit}' my_document &
    '';

    services.ringboard.x11.enable = true;
  };

  enableOCR = true;

  testScript =
    { nodes, ... }:
    let
@@ -31,7 +33,8 @@
    ''
      @polling_condition
      def gedit_running():
        machine.succeed("pgrep gedit")
        "Check that gedit is running and visible to the user"
        machine.wait_for_text("my_document")

      with subtest("Wait for service startup"):
        machine.wait_for_unit("graphical.target")
@@ -40,10 +43,12 @@

      with subtest("Ensure clipboard is monitored"):
        with gedit_running: # type: ignore[union-attr]
          machine.send_chars("Hello world!")
          machine.send_chars("Hello world!", delay=0.1)
          machine.sleep(1)
          machine.send_key("ctrl-a")
          machine.sleep(1)
          machine.send_key("ctrl-c")
          machine.wait_for_console_text("Small selection transfer complete")
        machine.wait_until_succeeds("su - '${user}' -c 'journalctl --user -u ringboard-listener.service --grep \'Small selection transfer complete\'''", timeout=60)
        machine.succeed("su - '${user}' -c 'ringboard search Hello | grep world!'")
    '';
}