diff options
author | eldritch horrors <pennae@lix.systems> | 2024-03-09 11:01:28 +0100 |
---|---|---|
committer | eldritch horrors <pennae@lix.systems> | 2024-03-10 10:10:52 +0100 |
commit | 34fb7a7e9d92698a721862fe0ef926d69b12a8e5 (patch) | |
tree | c347f8e165f771a41040f6e9b795b1421113c99e /tests/nixos/nix-copy-closure.nix | |
parent | 609a8e0d94926cae460ed6f12f1f8a3d9f91246b (diff) |
make the multi-node vm tests a bit more reliable
without these changes the tests will very repeatably (although not very
reliably) wedge in our runs. the ssh command starts, opens a sessions,
does something, the session closes again, but the test does not move on.
adding *just* the redirect and not the unit waits is not sufficient
either, it needs both. this feels like a bug in the nixos testing
framework somewhere, but digging that far is not in the cards right now.
Change-Id: Idab577b83a36cc4899bb5ffbb3d9adc04e83e51c
Diffstat (limited to 'tests/nixos/nix-copy-closure.nix')
-rw-r--r-- | tests/nixos/nix-copy-closure.nix | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/tests/nixos/nix-copy-closure.nix b/tests/nixos/nix-copy-closure.nix index 66cbfb033..cd25fbbd0 100644 --- a/tests/nixos/nix-copy-closure.nix +++ b/tests/nixos/nix-copy-closure.nix @@ -40,6 +40,11 @@ in { "${pkgs.openssh}/bin/ssh-keygen", "-t", "ed25519", "-f", "key", "-N", "" ], capture_output=True, check=True) + server.succeed("systemctl start network-online.target") + client.succeed("systemctl start network-online.target") + server.wait_for_unit("network-online.target") + client.wait_for_unit("network-online.target") + client.succeed("mkdir -m 700 /root/.ssh") client.copy_from_host("key", "/root/.ssh/id_ed25519") client.succeed("chmod 600 /root/.ssh/id_ed25519") @@ -47,9 +52,8 @@ in { # Install the SSH key on the server. server.succeed("mkdir -m 700 /root/.ssh") server.copy_from_host("key.pub", "/root/.ssh/authorized_keys") - server.wait_for_unit("sshd") - client.wait_for_unit("network.target") - client.succeed(f"ssh -o StrictHostKeyChecking=no {server.name} 'echo hello world'") + server.wait_for_unit("sshd.service") + client.succeed(f"ssh -o StrictHostKeyChecking=no {server.name} 'echo hello world' >&2") # Copy the closure of package A from the client to the server. server.fail("nix-store --check-validity ${pkgA}") |