diff --git a/nixos/tests/drawterm.nix b/nixos/tests/drawterm.nix index 1d444bb55433..3594343853c0 100644 --- a/nixos/tests/drawterm.nix +++ b/nixos/tests/drawterm.nix @@ -38,11 +38,24 @@ let def drawterm_running(): machine.succeed("pgrep drawterm") + # cage is a bit wonky here. + # it seems to lag behind drawing + # and somehow needs a single input character + # in order to get the first prompt to show up. + # This is not present in any other compositor + # as far as I know, and after spending a couple + # hours with the upstream source trying to deduce + # how to perhaps fix it, I figured just polling is OK. + @polling_condition + def cpu_shown_up(): + machine.send_chars(".") + machine.wait_for_text("cpu", 1) + start_all() machine.wait_for_unit("graphical.target") drawterm_running.wait() # type: ignore[union-attr] - machine.wait_for_text("cpu") + cpu_shown_up.wait() # type: ignore[union-attr] machine.send_chars("cpu\n") machine.wait_for_text("auth") machine.send_chars("cpu\n") diff --git a/pkgs/tools/admin/drawterm/default.nix b/pkgs/tools/admin/drawterm/default.nix index 3e4c15faf14b..c83b3dfd6597 100644 --- a/pkgs/tools/admin/drawterm/default.nix +++ b/pkgs/tools/admin/drawterm/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation { pname = "drawterm"; - version = "unstable-2024-02-18"; + version = "unstable-2024-03-20"; src = fetchFrom9Front { owner = "plan9front"; repo = "drawterm"; - rev = "bcf1eb425dd4c90a3bfcd004f6aee3854259da78"; - hash = "sha256-aUQ6ay2ky9NzVUZvWyHc/GqPlCdhGpXTY8GGytJSC6g="; + rev = "77b464a5d5648bb646467111b8faf719cd5c46b6"; + hash = "sha256-3J/Fa3NXxUieEqRcCepGdd0ktxQFKhyY4z8Pvcq94Kw="; }; enableParallelBuilding = true;