From 2b4fd52b0a80e22eafc93213abe4cc89a1a49153 Mon Sep 17 00:00:00 2001 From: atlas Date: Wed, 28 Oct 2026 21:02:33 +0100 Subject: [PATCH] make the vm test's priv request wait for the salvage reply --- nix/vm-tests/agent-ephemeral-rootfs.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/nix/vm-tests/agent-ephemeral-rootfs.nix b/nix/vm-tests/agent-ephemeral-rootfs.nix index 44fcccf1..b7ec00c7 100644 --- a/nix/vm-tests/agent-ephemeral-rootfs.nix +++ b/nix/vm-tests/agent-ephemeral-rootfs.nix @@ -140,8 +140,14 @@ pkgs.testers.runNixOSTest { "binds": BINDS, "isolation": {"bridge": "${bridge}", "gateway_ip": "${gateway}"}, }) - out = host.succeed(f"echo '{req}' | socat - UNIX-CONNECT:/run/hive/priv.sock") - assert json.loads(out.strip().splitlines()[-1])["ok"] is True, out + # socat gives up 0.5s after its stdin ends unless told to wait; the + # salvage copies a whole root, which takes longer. + out = host.succeed(f"echo '{req}' | socat -t 120 - UNIX-CONNECT:/run/hive/priv.sock") + print("hive-priv answered: " + repr(out)) + print(host.execute("journalctl -u hive-priv --no-pager | tail -n 30")[1]) + lines = out.strip().splitlines() + assert lines, "hive-priv sent no response" + assert json.loads(lines[-1])["ok"] is True, out def conf(): return host.succeed(f"cat /etc/nixos-containers/{MACHINE}.conf")